CanJS是什麼?
CanJS是JMVC團隊把MVC這一塊獨立出來的結果,並且做了一些改良。以往談到JavascriptMVC跟Backbone的時候,其實這兩個框架的目的是不同的。 JMVC除了MVC還提供其他的case solution,而Backbone只專注在MVC身上。另外一個不同點是JMVC當時的MVC framework只能綁定在jQuery上面,Backbone可以把核心抽換成zepto(一個類似于jQuery但輕量化的js lib),這也是有手機網頁app使用backbone卻沒有人使用jmvc的原因。
CanJS
CanJS官網 以下節錄幾個要點:
- 核心可抽換成Zepto, jQuery, YUI, Dojo, Mootools。
- 非常快, 比較令我訝異的是backbone竟然沒有live binding功能?
- 安全的Model。jqueryMX一個缺點是常常會有內容相同的model instance,CanJS解決了這點。它保證相同內容的Object只會有一個instance。
- View可以做live binding了,直接對應Model change。
展望
以往JMVC為人詬病的就是本身提供的東西太複雜,不會有全部學完的動力。看來CanJS可以在專心這件事上趕上Backbone。