1. 程式人生 > >web前端技術框架選型參考

web前端技術框架選型參考

hub 社區 規範 應用設計 one 屬於 webpack body 數據流

一、出發點

技術分享

  隨著Web技術的不斷發展,前端架構框架UI框架、構建工具、CSS預處理等層出不窮,各有千秋太多的框架在形成初期,都曾在web領域

掀起過一場技術浪潮,可有些卻僅僅是曇花一現,隨著他們用戶量的逐漸減少,社區也越來越不活躍。如:meteorbackboneemberknockout

不禁感嘆技術的更新換代來的太突然。為了追趕技術更新的腳步,保證技術實施的高性能,強兼容性,並且不會再短時間內被時代所遺棄。以下為目

前常見的主流技術參考,根據github關註度排名:

架構框架

框架名

技術支持

思想

針對性

React

Facebook

虛擬dom,單項數據流

高效創建交互式組件

AngularJS

Google

雙向數據綁定,指令

結構化

Vue

Evan You(尤雨溪)

輕量級AngularJS

更加簡潔更易理解

構建工具

工具名

技術支持

思想

針對性

Webpack

Tobias Koppers

模塊化處理

Web模塊化

Gulp

/

基於流的自動化構建

Web流程化

Grunt

/

自動化構建

自動化構建

CSS預處理

處理器名

技術支持

思想

易用性

Sass

/

基於ruby具備編程模式

***

Less

/

動態化css

*****

二、項目需求

  

三、參考點

  1.框架自身 a.是否成熟

b.架構和模式 c.生態系統

  React 毫無疑問是現在最熱門的前端框架,React目前屬於快速發展階段,是否成熟還需時間的考量。由於 React 的設計思想極其獨特,屬於革

命性創新,性能出眾,代碼邏輯卻非常簡單。所以,越來越多的人開始關註和使用,認為它可能是將來 Web 開發的主流工具。

  Angular 提供了一系列健壯的功能,以及將代碼隔離成模塊的方法,這對提高可復用性、可維護性和可測試性都是非常有益的。它的核心功能包

MVC、模塊化、自動雙向數據綁定、語義化標簽、依賴註入等等。Angular在從開源社區火起來就一直存在於人們的視線中,超前的設計理念,強大

的生態系統,讓他一直揚帆於web框架的浪潮中,穩步前行。

  Vue 的作者是位中國人,雖然vue屬於個人項目,但在簡潔、輕量、快速、數據驅動、模塊友好、組件化等方面是不輸於AngularJs的,這是因為vue

基本是在angular的設計思想上實現的庫而非框架。說起vue不得不談到它的小巧,小巧的一種好處就是可以讓用戶更自由的選擇相應的解決方案,在配合

其他庫方面它給了用戶更大的空間。Vue雖然小巧,但是“麻雀雖小五臟俱全”,在構建大型應用的時候也是得心應手。並且近幾年來vue得到了國內外多

數公司的認可,社區生態系統也日趨完善。

  2.項目契合 b.是否能滿足需求 c.是否適合項目

  React 對於數據邏輯方面需要操心的更少了,可以直接全量賦值。通過虛擬dom,進行dom局部更新這一點很吸引人,省去前端對數據邏輯的判斷

和操作。react目前我感覺優勢在於native相關,未來大有可玩。單純的web項目的話,學習成本相對vue來說還是很高的,react只是view還需要配合其他類

flux的框架開發。最後,使用場景上來說:React 配合嚴格的Flux架構,適合超大規模多人協作的復雜項目。

  Angular 允許你構建功能強大且易於理解和維護的機構化應用程序,angular是一個為動態web應用設計的結構化框架,提供給大家一種新的開發應

用方式,這種方式可以讓你擴展HTML的語法,以彌補在構建動態WEB應用時靜態語言所體現的不足。Angular的結構化就是講究責任分離,這樣代碼才好理

解,維護和測試。

  Vue 體積小,接口靈活,侵入性好,可用於頁面的一部分,而不是整個頁面。擴展性好,源碼規範簡潔。更適合手機端的WEB開發,是聲明式開發,

性能高於angular,體積小很多。社區生態正在逐步完善,用的人相對較少,網上的資料也不多,出了問題的解決成本高。

四、決策目的

  基於參考點及項目需求擇優以上web端常用工具及架構框架,UI框架可根據兼容性、易用性、及熟練程度選擇。

五、可選方案

web技術選型

編號

框架名

構建工具

Css預處理器

評分

1

Angular

Gulp/webpack

less

*****

2

React+flux

Webpack/gulp+webpack

less

***

3

Vue

Gulp/webpack

less

**

六、結論

  vue相比於Angular.jsVue.js提供了更加簡潔、更易於理解的API,使得我們能夠快速地上手並使用Vue.js。但是從另一方面來看它卻顯得毫無新意,甚

至有點蒼白無力。AngularJS 非常結構化,大而全,雖然臃腫,但是成熟穩定。React在我看來並不是一個框架,而是一種設計思想。並且它的這種思想非常

空前,甚至可以移植到任何一個框架上,所以react和以上框架並無可比性,react所引領和激發的一系列開發思想,在 React 生態圈頗有些百家爭鳴的感覺,

各種新玩法層出不窮,所謂任重而道遠,我認為對於react還是靜觀其變才好。

  這裏不過多評價前端自動化構建工具和css預處理器,因為這些僅僅是工具,完全可以不使用或者選擇性搭配使用。只要能幫助我們簡明、清晰、快速

的搭建web應用就足夠了。以上提到的3個框架,有種三分天下的感覺。

技術分享

  綜上,沒有萬能的框架,更沒有萬能的技術,最適合的才是最好的。這些只是我個人的片面的看法,希望大家有好的見解及時幫我提出來,我會在博客

中第一時間修改。謝謝大家!

web前端技術框架選型參考