1. 程式人生 > >如何選擇前端框架:ANGULAR VS EMBER VS REACT

如何選擇前端框架:ANGULAR VS EMBER VS REACT

最近一段時間是令前端工程師們非常興奮的時期,因為三大Web框架陸續釋出新版本,讓我們見識到了更強大的Web框架。Ember2.0在2個月之前已經發布,從1.0升級到2.0非常簡單。幾周之前React釋出了0.14版本。還有很多流行的前端框架,像Backbone 、Knockout及Aurelia。如果你想開發一個Web app,建議採用Angular,Ember或React三種框架中的一個。這三個框架可以說是安全級別最高,技術非常成熟的框架,而且有很多技術社群支援。所以你又開始糾結了,開發Web app,到底選擇哪個框架,哪個更好用更安全更強大呢?本文就詳細介紹三大框架新版的優缺點並進行對比,希望能夠對你們有用。

AngularJS 2.0 Strengths and Weaknesses

Angular 2.0(與1.0對比,發生了翻天覆地的變化)

Angular是目前最流行的框架之一,Angualr1.0 首次釋出時讓業界很多人士為之震撼,它使MVC框架更上一層樓。Angular的釋出引起了眾多Web開發人員的共鳴。然而Angular2.0卻是一片唏噓聲,是超越1.x的徹底革新,也可以說是破壞性的升級。Angualr2.0版本重新定義了框架,自身發生了非常巨大的變化,可以說是很戲劇性的變化,Angualr2.0不支援向下相容,使低版本升級到2.0版本成為一條絕路。然而軟體行業總是充滿了奇蹟和天才,Angular 團隊為從Angular1.X 到2.0的升級指出了一條明路,使升級變成漸進增強的過程。我想正式因為這個方法拯救了Angular。

到底Angular2.0有什麼令人興奮的功能?

Angular2.0砍掉了一些不必要的功能,提升了Angular的效能,如$scope從Angular 2.0中移除,取而代之的是ES6類。除了框架自身變得更簡潔,還有一些其他注意的特性:

  • 效能提升

效能提升可以說是眾望所歸,如果你對Angular 非常熟悉,你已經具有分解功能的能力,建立App也不在話下,效能問題總是有辦法解決的。

  • 原生App支援

使用Angular開發原生應用是2.0版本的最大改進,Agular團隊與React聯合,在Angular 2.0 中底層使用React Native渲染原生App,可實現新一代的混合App,執行過程與本地App相同,但可在邏輯層可在多平臺中共享。

  • 伺服器端渲染能力

Angular2.0終於實現了伺服器端渲染,伺服器端渲染能力有所提升,減少了初始頁面載入時間,可通過動態頁提升SEO。頁面渲染速度提升將大大改進Web App的體驗。

Angular 2.0 JavaScript Framework Strengths and Weaknesses | Smashing Boxes Blog

為什麼選擇Angular?

Augular 已然成為Web應用開發世界裡最受歡迎的開源JavaScript框架。開發新專案選擇Angular無疑是一種安全的選擇,Angular2.0 與1.0有很大的不同。事實上,Augular2.0 演化過程與Ember演化類似(Ember最早被稱為SproutCore2.0)。Angular支援使用TypeScript語言(由微軟提供的,為JavaScript提供型別檢測等高階功能)。在實際開發中,很多開發人員還在使用TypeScript。Angular很多方面的改進都期望能夠使Angular成為眾多企業開發首選的框架,使用2.0目前來看似乎有點冒險,但我相信Angular2.0時代即將到來。

Ember 2.0

Ember.js號稱是一個“雄心勃勃”的JavaScript MVC框架、現代JavaScript MVC框架代表,是構造如單頁面應用等現代Web應用程式的新型Web端開發框架。有很多App的建立都在使用Ember,如Apple’s properties,Discourse,Ghost。Ember是由兩個非常傳奇的工程師開發建立的,並不是由大企業研發而成,儘管如此,Ember仍有眾多強大的技術愛好者的支援。

Ember2.0 特點

Ember 2.0主要改進——移除了之前不建議開發的功能,旨在成為一個瘦身框架。在Ember 1.13上執行的程式,可以無縫切換到Ember 2.0上。

  • Ember 2.0進一步採用ES2015功能模組,類,和decorators。
  • 修改了專案分佈結構,使用“pod”分類代替功能分類(控制器,models,元件等)。
  • 控制器被移除,支援路由控制元件。
  • 高階伺服器端渲染器減少了頁面載入時間,優化搜尋引擎。

Ember 2.0 JavaScript Framework Strengths and Weaknesses | Smashing Boxes Blog

誰更適合使用Ember

實現Web app ,Ember是最佳選擇。如上所述,很多App都內建使用了Ember框架。Ember也將被Ruby協會所接納。如果你選擇Ruby,Ember是不二之選。它有大量的資源供你使用,如文件,技術部落格等。

Ember 對購買工具包含框架的人來說是非常好的選擇,我們經常會浪費時間去尋找,研究,評估一些開發框架。EMber為您提供的選擇非常多,而且都非常有價值。任何事物都有利有弊,但是任何事情都能良好執行那麼就選擇Ember吧。

React JS Strengths and Weaknesses | Smashing Boxes Blog

React1.0 是三個框架中最輕量級的框架,React在渲染UI控制元件方面做的非常好,經常與其他框架結對使用。然而更常見的情況就是與Flux 體系架構聯合使用。

Flux與MVC 完全不同的體系架構,與React生態系統類似。FaceBook建立React的目的是為了保證多個頁面的外觀一致性。使用REACt確實達到了這種效果,它提供了令人難以置信的效能和伺服器端渲染效果。兩種功能都完美實現。有個現象很有趣,Angular和Emver都在爭相釋出新版本。而React則在它擅長的領域內繼續創新。

React1.0版本的重大功能

1. 升級專案網站

2. 升級框架文件

3. 增強動畫的魯棒性

React改進的核心目的為了提升開發人員的體驗。React的一大亮點就是使用React提供的元素建立動畫會非常簡單。

React 1.0 JavaScript Framework Strengths and Weaknesses | Smashing Boxes Blog

誰更適合使用React?

開發新專案或是改進存在的專案,React都是很好的選擇。使用React框架,可以讓App UI 建立以及重新建立UI 變得很簡單。如果你想逐漸改善存在的專案,選擇React是非常合適的。React專案通常用ES2015編寫,如果您的價值正在邊緣化或只需要應用框架中一些簡單的庫,React就是最佳選擇。

三大框架對比

首先說明的是三大框架可以覆蓋所有需求。這些框架的功能都很獨特。許多好的設計和實現思想都已經在三大框架中體現的淋漓盡致了。

Ember可視為是啟動最快的框架。但是Ember 的學習成本較高。就最終App而言,Angular JS 開發的app只需要寫很少的程式碼。

Javascript framework comparison: Angular vs Ember vs. React

從上圖種可以看出,為什麼三大框架如此流行,優勢都很明顯。三個框架沒有絕對的好,只有相對而言,哪個更滿足專案需求,滿足App開發所需的功能。三大框架在以後發展中會更快且更好的支援伺服器端渲染。Angular和React 將支援IOS和Android的原生UI控制元件。使用此三種框架未來能夠做很多的事情。

支援Angular的開發工具

新一代HTML5 / JavaScript UI控制元件 Wijmo,大而全面的前端開發工具包,現已全面支援Angular 2。


原文連結: http://smashingboxes.com/ideas/choosing-a-front-end-framework-angular-ember-react