今天发牢骚发了一条微博:
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经验真抱歉。