標籤:
最近一段時間是令前端工程師們非常興奮的時期,因為三大Web架構陸續發布新版本,讓我們見識到了更強大的Web架構。Ember2.0在2個月之前已經發布,從1.0升級到2.0非常簡單。幾周之前React發布了0.14版本。還有很多流行的前端架構,像Backbone 、Knockout及Aurelia。如果你想開發一個Web app,建議採用Angular,Ember或React三種架構中的一個。這三個架構可以說是安全層級最高,技術非常成熟的架構,而且有很多技術社區支援。所以你又開始糾結了,開發Web app,到底選擇哪個架構,哪個更好用更安全更強大呢?本文就詳細介紹三大架構新版的優缺點並進行對比,希望能夠對你們有用。
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也不在話下,效能問題總是有辦法解決的。
使用Angular開發原生應用是2.0版本的最大改進,Agular團隊與React聯合,在Angular 2.0 中底層使用React Native渲染原生App,可實現新一代的混合App,執行過程與本地App相同,但可在邏輯層可在多平台中共用。
Angular2.0終於實現了伺服器端渲染,伺服器端渲染能力有所提升,減少了初始頁面載入時間,可通過動態網頁提升SEO。頁面渲染速度提升將大大改進Web App的體驗。
為什麼選擇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
實現Web app ,Ember是最佳選擇。如上所述,很多App都內建使用了Ember架構。Ember也將被Ruby協會所接納。如果你選擇Ruby,Ember是不二之選。它有大量的資源供你使用,如文檔,技術部落格等。
Ember 對購買工具包含架構的人來說是非常好的選擇,我們經常會浪費時間去尋找,研究,評估一些開發架構。EMber為您提供的選擇非常多,而且都非常有價值。任何事物都有利有弊,但是任何事情都能良好運行那麼就選擇Ember吧。
React1.0 是三個架構中最輕量級的架構,React在渲染UI控制項方面做的非常好,經常與其他架構結對使用。然而更常見的情況就是與Flux 體系架構聯合使用。
Flux與MVC 完全不同的體系架構,與React生態系統類似。FaceBook建立React的目的是為了保證多個頁面的外觀一致性。使用REACt確實達到了這種效果,它提供了令人難以置信的效能和伺服器端渲染效果。兩種功能都完美實現。有個現象很有趣,Angular和Emver都在爭相發布新版本。而React則在它擅長的領域內繼續創新。
React1.0版本的重大功能
1. 升級專案網站
2. 升級架構文檔
3. 增強動畫的魯棒性
React改進的核心目的為了提升開發人員的體驗。React的一大亮點就是使用React提供的元素建立動畫會非常簡單。
誰更適合使用React?
開發新項目或是改進存在的項目,React都是很好的選擇。使用React架構,可以讓App UI 建立以及重新建立UI 變得很簡單。如果你想逐漸改善存在的項目,選擇React是非常合適的。React項目通常用ES2015編寫,如果您的價值正在邊緣化或只需要應用程式框架中一些簡單的庫,React就是最佳選擇。
三大架構對比
首先說明的是三大架構可以覆蓋所有需求。這些架構的功能都很獨特。許多好的設計和實現思想都已經在三大架構中體現的淋漓盡致了。
Ember可視為是啟動最快的架構。但是Ember 的學習成本較高。就最終App而言,Angular JS 開發的app只需要寫很少的代碼。
從種可以看出,為什麼三大架構如此流行,優勢都很明顯。三個架構沒有絕對的好,只有相對而言,哪個更滿足項目需求,滿足App開發所需的功能。三大架構在以後發展中會更快且更好的支援伺服器端渲染。Angular和React 將支援IOS和Android的原生UI控制項。使用此三種架構未來能夠做很多的事情。
原文連結: http://smashingboxes.com/ideas/choosing-a-front-end-framework-angular-ember-react
如何選擇前端架構:ANGULAR VS EMBER VS REACT