淺談前端框架未來,Angular, React, 還是...?

本篇文上是為 JSDC 2015 撰寫
感謝 Caeser Chi 給予指導

前端框架未來?React, Angular or ..?

前端入坑深似海,一入宅門出不來。這肯定是許多前端工程師可以體認到的共同感觸,前端真可以說是一個坑,維繫大家能夠持續學習的動機,除了熱情,應該就還是熱情吧。

淺談前端框架

隨著前端應用變化越來越多,因此許多前端框架不斷的推陳出新,從早期大家所熟知的 batman.js, backbone.js, emberjs 在中期也開始出現了許多不同框架,其中到了 Google 踏進 Angular.js 之後前端框架正式熱門起來,也掀起另外一波大戰。

隨著世代的轉移,JavaScript 漸漸語法轉移到 ES6,語法不同,開始有了不同應用,也因此又出現了令人亮眼的新秀:Aurelia

由於前端框架的世界更新相當迅速,不斷有新的Framwork出現,各家開發者對自己熟悉的框架各執其詞,其實相當難定義何者叫好。

前端框架未來?React, Angular ?

ReactAngular 目前為前端兩大流行的框架,兩者的風格迥異。

React 主打 Single Source of True 和 Flux 的單項資料流,重新以元件的思維角度去設計 WebApp,最後又採用相同思維可以進行開發 iOS, Android native 程式框架 - React Native 讓大家眼睛為之一亮。

而在Angular目前的情況較為不明朗,相當多的開發者正在使用能穩定運作的 1.x 版本,但是 Angular 2.x 的版本卻面臨了相當大的改版,而且並沒有支援 1.x 的部分。 Angular 最大亮點在雙向資料綁定,簡潔的資料綁定和監控配上快節奏的開發技巧時,產生令人驚豔的開發速度。

React 跟 Angular 整體的核心思維是相當不同的,React 特色在於簡化的開發邏輯與資料流,單純的單項資料流讓開發流程和除錯都容易了許多,React 的結構設計也讓抽取元件變得直觀與單純,React 傾向於將開發簡化,在設計好架構與資料結構後就減少犯錯的機會。

但從另一個角度來說,React針對單一的操作,要撰寫的程式碼多出了許多,整個架構也變得龐大。而 Angular 則相反,Angular 在處理資料時相當快速且方便,雙向的資料綁定讓開者並不需要思考太多元件對應的關係,但也因此最終可能會讓整個專案陷入混亂,Angular 在抽取元件時比 React 需要更多的開發技巧,對整體團隊的開發素質要求也相對的更高。

新的選擇 - Aurelia

Aurelia 或許可以說介於 React 和 Angular 兩者之間,Aurelia 目前為相當新秀的開發框架,他本身與 Angular 的資料綁定方式相當類似,不僅僅對 Angular 的開發者相當容易上手,安插在 HTML5 中的屬性也更加語意化。

Aurelia 的核心圍繞在模板上,因此他似乎同時擁有了 React 類似元件的觀念,又同時有 Angular 綁定資料的手法,算是相當多元,除此之外 Aurelia 對 ES6, ES7 擁有更高的支援度。

當然目前 Aurelia 還在持續開發中,雖然版本尚未穩定,但是已經是個值得注目的前端框架,可以開始試著去執行,了解 Aurelia ,或許在現今 Single Page App 爆炸性成長的階段,Aurelia 能在未來佔有一席之地。

也許未來 JavaScript 真的能夠做到前後端統一程式碼進行開發,也有可能踏入 hardware 開發領域,這都需要時間來證明,當然也需要各位的投入,就讓我們持續關注這個世代的變化吧。

分享到