如何進行合適的前端技術選型

芒言發表於2019-03-03

適合自己(團隊)的技術棧才是好技術棧

引言

前端技術幾乎每天都有新事物冒出來,技術也是由時尚來驅動了,我們常常臣服於時尚,面對快速的變化常常讓我們感覺侷促不安,開始焦慮,唯恐錯過了些什麼。如何打破這種焦慮呢?需要在快速變化的前端世界裡保持清醒,保持獨立的思考和認知。讓我們迴歸到技術的本質,因為解決現實中存在的問題,技術才會有價值。真正厲害的技術都靜悄悄的跑線上上。

技術選型介紹

在專案的架構中,我們需要選擇各種技術棧所對應的技術;在專案的開發中,我們需要選擇各種工具庫。技術選型是我們必然會碰到的,我們常常面臨的不是單個技術的選型,而是對於一個專案所涉及的一整套技術、方案、規範或者產品的選型。我們需要仔細的去權衡各種技術、各種組合的利弊,做出取捨。

技術選型需要考慮的因素

  • 專案因素
    明確現在專案的規模、重要程度。
    專案的需求(特別是非功能性需求)也會限制技術的選型

  • 團隊因素
    考慮團隊的因素,也就是人的因素,考慮團隊人員的技術組成。
    考慮招聘的因素,對於特別小眾的技術,可能會因為招不到人而影響到對公司的業務支援。

  • 技術因素
    技術特性考慮(易用性、可維護性、可擴充套件性、效能等)、技術成熟度、社群活躍度、架構匹配和演化等。
    github上的star數,可以作為一個重要的參考。

如何進行技術選型

上面列出了很多技術選型需要考慮的因素,那麼到底該如何進行技術選型呢?

  1. 首先明確選型的需求和目的,最好能列出必須要考慮的各種因素以及評判標準。
  2. 尋找候選技術和產品。這時範圍可以儘量的廣一些,蒐集儘可能多的候選技術和產品。
  3. 初步篩選。把一些由於各種限制無法選擇或者明顯不可能的技術或產品排除,篩選3個左右備選方案。
  4. 做一些詳細的調查和分析。可以列個技術選型分析表(小的不太重要的技術選型不一定要這麼麻煩,而重要的技術選型則可能要反覆各個步驟多次)
候選A 候選B 候選C
團隊
技術成熟度
效能
架構一致性

5.可以諮詢其他公司是否用過個技術或產品,可以求教些實踐經驗。

技術選型的注意點

  • 一定要進行可行性分析,如果不太確定,做個Demo驗證一下,如果專案進行到一半,發現原來設想的方案不可選,那會是非常痛苦和浪費時間的事情。
  • 不要有思維定式,也不要趕時髦。
  • 隨著業務發展,很多架構需要不斷升級,所以一定要考慮未來如果替換某項技術,是否會很麻煩。可以選擇一些標準技術或產品,或者在應用中部署一個適配層,方便未來適配其他技術,自由插拔。
  • 架構應該儘可能統一,一個領域避免引入太多相同功能的技術產品。

選型最後

當一個技術或產品選型後,下面要做的便是接入和推進。抓住時機,堅定地推進。

參考:《技術選型的藝術》

相關文章