前端技术几乎每天都有新事物冒出来,技术也是由时尚来驱动了,我们常常臣服于时尚,面对快速的变化常常让我们感觉局促不安,开始焦虑,唯恐错过了些什么。如何打破这种焦虑呢?需要在快速变化的前端世界里保持清醒,保持独立的思考和认知。让我们回归到技术的本质,因为解决现实中存在的问题,技术才会有价值。真正厉害的技术都静悄悄的跑在线上。

在项目的架构中,我们需要选择各种技术栈所对应的技术;在项目的开发中,我们需要选择各种工具库。技术选型是我们必然会碰到的,我们常常面临的不是单个技术的选型,而是对于一个项目所涉及的一整套技术、方案、规范或者产品的选型。我们需要仔细的去权衡各种技术、各种组合的利弊,做出取舍。
项目因素 明确现在项目的规模、重要程度。 项目的需求(特别是非功能性需求)也会限制技术的选型
团队因素 考虑团队的因素,也就是人的因素,考虑团队人员的技术组成。 考虑招聘的因素,对于特别小众的技术,可能会因为招不到人而影响到对公司的业务支持。
技术因素 技术特性考虑(易用性、可维护性、可扩展性、性能等)、技术成熟度、社区活跃度、架构匹配和演化等。 github上的star数,可以作为一个重要的参考。
上面列出了很多技术选型需要考虑的因素,那么到底该如何进行技术选型呢?
首先明确选型的需求和目的,最好能列出必须要考虑的各种因素以及评判标准。寻找候选技术和产品。这时范围可以尽量的广一些,搜集尽可能多的候选技术和产品。
初步筛选。把一些由于各种限制无法选择或者明显不可能的技术或产品排除,筛选3个左右备选方案。
做一些详细的调查和分析。可以列个技术选型分析表(小的不太重要的技术选型不一定要这么麻烦,而重要的技术选型则可能要反复各个步骤多次)
团队、技术成熟度、性能、架构一致性...
可以咨询其他公司是否用过个技术或产品,可以求教些实践经验。
当一个技术或产品选型后,下面要做的便是接入和推进。抓住时机,坚定地推进。
参考:《技术选型的艺术》
下一篇: GitHub 代理加速→