一、MVVM大比拼
關(guān)于MVVM,原來在介紹knockout.js的時候有過講解,目前市面上比較火的MVVM框架也是一抓一大把,比如常見的有Knockout.js、Vue.js、AvalonJS、Angularjs等,每一款都有它們自己的優(yōu)勢。
Knockout:微軟出品,可以說是MVVM的模型領(lǐng)域內(nèi)的先驅(qū),使用函數(shù)偷龍轉(zhuǎn)鳳,最短編輯長度算法實現(xiàn)DOM的同步,兼容IE6,實現(xiàn)高超,但源碼極其難讀,最近幾年發(fā)展緩慢。
Vue:是最近幾年出來的一個開源Javascript框架,語法精簡,實現(xiàn)精致,但對瀏覽器的支持受限,最低只能支持IE9。
AvalonJS:是一個簡單易用迷你的MVVM框架,由大神司徒正美研發(fā)。使用簡單,實現(xiàn)明快。
React:React并不屬于MVVM架構(gòu),但是它帶來virtual dom的革命性概念,受限于視圖的規(guī)模。
Angularjs:Google出品,已經(jīng)被用于Google的多款產(chǎn)品當(dāng)中。AngularJS有著諸多特性,最為核心的是:MVC、模塊化、自動化雙向數(shù)據(jù)綁定、語義化標(biāo)簽、依賴注入等等。入門容易上手難,大量避不開的概念也是很頭疼的。
更多MVVM框架優(yōu)缺點比較,可以看下 這里 。
其實在博主的博文里面,說得最多的還是那句:任何技術(shù)和框架都有它存在的價值和意義!由上也可以看出沒有哪個框架是真正完美的,關(guān)鍵看你如何取舍,在你的項目中用好了以上任何一種框架,你就是技術(shù)大牛。不過話雖這樣說,博主覺得多了解一些框架對我們并無壞處,至少能開闊我們的眼界吧。