2015年2月4日 星期三

你還在為了UI-binding使用肥肥的Angular嗎?試試這些前端函式庫吧!

從 jQuery 到 Angular

從最早的 jQuery 以後,各種前端framework百花齊放:Backbone, Knockout, Ember, Angular....
其中 Angular 狹著 Google 的大名,可以說是在前端世界中呼風喚雨,但是許多人使用Anugular一段時間以後才發現入門容易但是深入難,而且隨著專案的複雜性增加,也開始踩到了各種地雷。因此也有人用這張圖來揶揄模擬Angular的學習曲線:



UI only

許多人開始發現,很多狀態下他們幾乎只需要 Data-UI binding 的功能,React.js 這個 facebook 御用、注重高效render 的 Library 就開始受到廣大的目光關注... React不是個完整的framework,只是專注於View的Library,因此更輕量、也更能與其他framework整合、相容。React官網是這麼說的:
Just the UI
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.


但是!

React 推薦使用 JSX 在程式碼中勾勒 template,這點我就真的不行了,覺得髒髒的。所以我實在無法接受 React。

但是幸好這是一個前端技術大爆炸的時代,我們還有很多選擇....





Regular = React + Angular

2014年六月才出現的 Regular,從名字就看出這個後起之秀試圖融合老前輩的優點,似乎頗有氣勢。但是評估一個工具是否適合投入專案,很大一部分的因素在於這個工具是否有足夠的社群支援。截至目前為止(2015/2/4),React在Github上的星星數只有282個,在 stackoverflow 上也幾乎沒有討論聲音,看來還有待觀望。



讓你60秒上手的Ractive.js

Ractive在Guthub上獲得近3600星星 (本文發文時),也有不少討論聲浪。個人覺得 Ractive 很棒的一個地方在於他的 Document 相當完善,大家可以看看 60 second setup 這個網頁,看完以後你應該也會認同這是一個很好上手的工具。

曾經接觸過 React.js 或 Angular.js 的開發者可以看看這兩篇:

但是看起來Ractive的performance似乎有點弱:

出處: http://jsperf.com/testvdom/2



Vue.js

Vue.js 為MVVM架構,在 Github 和 Stackoverflow 上的聲勢與 Ractive 幾乎勢均力敵,而且看來performance相當不錯:http://jsperf.com/angular-vs-knockout-vs-ember/396
可以使用 Directives 和 Mustache 兩種方法做 UI - binding,用起來應該也挺順手的:http://vuejs.org/guide/#Concepts_Overview



Mithril

MVC架構,看起來不是很好寫,但是輕量、且效能極高,採用Virtual DOM的設計讓他的效能遠遠高過 Angular, Knockout, Ember 等老前輩。有興趣可以了解一下~
http://lhorie.github.io/mithril/index.html



沒有留言:

張貼留言