今天發牢騷發了一篇微博:
http://weibo.com/1651843872/B09Wxlokv?mod=weibotime
現在回想, jQuery 做介面, 對於大應用來說, 甚至可能是有有害的. MVC 的觀念, 很大程度上要抽像出清晰的Model, 而View 根據Model 同步到界面. 而jQuery 當中是直接把View 當作Model 來操作的..一路都是迷惑的.
我由於認識到 Web 平台開發圖形介面非常廉價, 於是學了前端,
直到開始做應用程式才開始真正體認到圖形應用的複雜度..
按我回想, 這個學習的過程簡直是在一步步反對使用 jQuery..
而 Model, View, 等等部件的分隔以及各自只能也漸漸看的更真切一些.
Web 很亂, 因為已經有了 DOM 著一層抽象, 提供方面同時也擋住了一些道路,
那麼在沒有 DOM 的其他平台的圖形開發中, 是怎樣處理 View 和 Model 關係的?
例如 Webkit 工具庫的底層實作, 是怎樣維護 Model 和 View 的.
另外還有 Unity3D, Flash 等等, 都是怎麼理解這些部分的?
問題有點泛.. 求指教, 謝謝.
等等,為啥反對jQ? jQ是dom操作封裝,和MVC幾乎沒有任何關係。就像打仗既要用槍也要用砲,不能說「我認識到大砲一砲可以炸掉一個碉堡,所以步槍的使用對戰場是有害的」吧
事實上,AngularJS雖然提倡no jq,但實質是自己精簡了jqLite來用,而Backbone則天然親jQ。大應用完全沒結構,jQ硬寫固然是歪路,但簡單地認為貫徹MVC就是不用jQ也不能說是正確的想法。
貼一下我去年的Backbone讀後感給題主參考。實際上我現在認為除非『管理介面』類型的應用,Backbone或類別Backbone的Model機制,特別指
Backbone.sync
用处不大。因为浏览器端的JS天生不『拥有』任何数据,不会负责数据的简单CURD式的落地(H5涉及离线本地存储另说)。浏览器端JS可能更需要的是维护数据和DOM绑定,也就是所谓ViewModel
,參考KnockoutJS沒有非Web經驗真抱歉。