如今前端,都往大前端方向發展,pc, wapApp, 小程序,混合開發,桌面開發,node 後臺。不光發展方向多,同一個方向的技術選型也一樣多,好比wapApp的 vue,react,angular。那麼問題來了,在項目中,咱們到底應該如何展開咱們的技術選型呢,我就結合個人經歷講一講。
pc端咱們要作推廣,我當時考慮單頁應用SEO很差作,並且頁面幾乎沒有數據交互,不要爲了單頁應用而單頁應用
, 可是考慮到靜態應用代碼不能複用,就想到用 node模板引擎直接渲染。 訪問速度應該還快一點(沒作考究).前端
h5, 咱們已經有兩個h5的項目,一個 vue ,一個 react。 可是最終仍是選擇 vue ,react 的包比較大,不利於前端快速加載,vue 相比於 react(dva 那一套) 的出活率高。並且國內vue確實火,小程序和混合開發相對應的解決方案都有,那麼,就是他了。vue
小程序以前用原生的寫過一個,用原生寫不利於維護,感受有點亂,就在兩個 star 數高的、大公司維護
的裏面選 wepy 和 mpvue,mpvue 能生成對應的 wapAPP,而且合適 vue 的技術棧.在合適不過了。node
咱們項目組是有安卓和ios的,可是有些內容ios 審覈麻煩,因此要熱更新。如今階段,性能比較好的混合開發,就是 weex、 rn、 flutter。
1.weex: 阿里巴巴使用再生產環境的,國內比較友好,基於 vue ,性能能夠,能夠熱更
2.rn: 臉書出品,近一年熱度降低,基於 react, 性能能夠,能夠熱更
3.flutter: 谷歌開源,基於 dart.js,由於實現方式,性能和體驗應該比前二者好,不能熱更,由於使用 dart.js 學習成本大
最終: flutter 不能熱更 pass(解決不了最重要的需求); rn: 相對來講仍是傾向於選擇國內的技術,文檔好理解,和統一客戶端的技術棧(vue) pass。react
本人喜歡企業級的框架,特別是公司項目中,約定優於配置,下降維護成本,選擇阿里 eggios
管理後臺數據太多了,目前應該有100多個接口,vue 維護是個問題,並且阿里 ant design pro 很好用,就它了。小程序
1.技術都是服務產品的,應該經過產品需求去選擇技術
2.選擇技術、要考慮社區活躍度,維護團隊、文檔、招聘相關人員是否容易等
3.儘可能用少的技術棧去實現多的業務,下降人工成本
4.在公司項目中,儘可能用企業級、大而全的框架(針對這一點,下次另開一篇,爲何我不用 大而全的angular,卻用了漸進式的 vue?都有什麼利弊?)weex