1. 程式人生 > >設計方案系列-如何看待前端框架選型 ?

設計方案系列-如何看待前端框架選型 ?

對於前端團隊,可以實現企業受益最大化要點。

一、技術選型的策略

1、保證產品質量

(1)功能穩健:網頁不白屏,不錯位,不卡死;操作正常;資料精準。

(2)體驗優秀:載入體驗,互動體驗,視覺體驗,無障礙訪問。

2、降低人力成本

(1)降低前期開發成本;

(2)降低後期維護成本。

 

二、前端開發模式選擇

開發模式:1、純前端開發;2、前後端分離開發;3、後端主導的開發。

1、純前端開發

主要是針對靜態頁面。沒有模板和框架參與,基本上一個人就可以hold住,比如:官方網站,招聘站,以及設計感強烈且運營活動頁面等。自主權最大,正常是使用nodejs進行輔助開發,上線等。

2、前後端分離開發

現在很多公司的系統都是採用前後端分離的開發模式。根據專案的性質,使用nodejs進行模板渲染(ejs模板,jade模板,dot模板,artTemplate模板),要不是框架自帶的渲染的方式(vue,react),但是實質上一樣的,都是使用js對頁面進行構建。控制權很大。

3、後端主導開發

由於很多歷史遺留問題,有的產品還是採用後盾渲染的開發模式,比如一些內部行政系統相關的。在和他們合作的時候,交付原型的時候,需要剋制自己:

(1)不要使用sass,less產不多的前端前處理器;

(2)不使用類似於seajs之類的模組化元件庫,而是採用效率更低的人工模組耦合;

(3)不追求新技術,使用更基礎程式碼,採用更傳統首發,良好的程式碼設計保證質量【引數介面暴露在外,後端可以輕鬆配置,而不是耦合在js中】。

這種前端屬於支援角色,後期維護通常都是與後端開發一起維護。這就是有時候會出現維護很痛苦的問題。

缺點:增加開發人力成本;

優點:自我犧牲保證專案正常維護下去,職業的體現。

 

三、前端開發技術選型

對於同一個型別的專案,採用開發模式,使用的基本框架都是一致的。

前端技術選型:

(1)外部使用者的PC站;

(2)外部使用者的mobile站;

(3)外部使用者的Native App開發;

(4)內部員工的管理後臺

 

1、外部使用者的PC站

需要有SEO,有載入體驗,採用的是前後端分離開發模式,頁面直接渲染,基於jquery。

為什麼使用jquery?

(1)主要是為了相容IE8;

(2)是外部使用者,視覺體驗高,權重高。適合先有行,再有行。就是說視覺和行為要儘可能分離,會犧牲一點開發成本,但是使用者更重要。

(3)絕大多數頁面互動輕量用不上資料驅動。

 

2、外部使用者的Mobile站

這裡說的Mobile站主要是瀏覽器訪問為主的,因此,頁面切換都是傳統連線跳轉,屬於傳統web應用,前後端分離開發模式,頁面直接渲染,採用react。大致原因:使用react 是為了 和APP端的react native保持同步。

 

3、外部使用者的Native App開發

前端組有直接參與 Native APP 開發的專案,使用的是 React Native 進行開發。

為啥選擇RN,之前Hybrid模式開發有效能優化瓶頸,採用React Native效能可以突破這個瓶頸,有原生的效能,且支援熱更新,上手不算太難,跨平臺,IOS和android程式碼複用率90%。適合互動和動畫不太複雜的專案,最終要根據專案來。特別適合快速迭代的專案或者前期需要大量試錯的專案。

(1)不要隨意使用第三方庫,後期修改維護不方便,儘量自己寫還是自己寫;

(2)前期還是需要客戶端幫忙配合,專案搭建。

 

4、內部員工的管理後臺

前後端分離開發,頁面側重非同步渲染,使用vuejs。

大致內容是:後臺管理系統有大量的增刪改查操作,適合具有雙向繫結的類庫或者框架進行渲染。同時沒有相容性的要求(SEO,首屏渲染),因此單頁面是合適的。可以選擇vue,react,angular。因為vue對api,文件對開發者更友好。選用好的UI元件,規範貫徹,拆分和按需載入,自動化測試有待加強。

 

四、總結

對於比較正式的專案,前端技術選型策略一定是產品收益最大化,使用者在首位。考慮到億級的使用者量,自然技術選型更為謹慎,於是優先選成熟,經典的解決方案。

但是不是說,排斥熱門技術。相反,就算還是很不成熟的新技術,只要對產品帶來收益的,一定要鼓勵應用的,比如AMP和PWA的實踐。

其實這時候也會帶來一個問題,技術人員對新技術有著天然的學習和實踐需求,因為這有助於降低內心的焦慮和不安全感。

尤其是對技術有著狂熱的愛好的小夥伴,這些成熟專案由於規範約束,不能隨便亂來,很容易讓開發人員報國無門的感覺,這該如何達到心理的平衡?

通過邊緣專案,實踐性的專案,以及團隊會自發發起一些有價值的內部專案來滿足這樣的需求,同時積累寶貴的經驗。相當於嵌入了新的平臺,讓產品,團隊和個人都達到非常好的平衡。

產品驅動的文化下,心中想的更多是把使用者和產品做更好,讓技術服務產品,因產品而技術,而非因技術而技術。

運營驅動的文化下,本質上是吆喝做買賣,成為前言技術的弄潮兒就是和企業文化的契合。

&n