在微博上看到 @HTML5梦工厂 要开一个小型的交流会, @司徒正美 要来分享他的Avalon框架,我算了算,今天正好没事儿,就报名参加了。
自从在宠物派见识到架构给产品开发带来的提升后,我就开始关注各种框架,并且在加入点乐后开始使用Backbone。Backbone是个很好的框架,解决了很多JavaScript的先天不足;当然还有一些地方可以加强,这也是我最近在努力的地方。与Backbone所属的MVC不同,Avalon是一个MVVM框架,与近期开始流行的Angular、Ember.js使用了同一个模式。所以我一直想多了解下这个模式的特点。
不得不说,正美大的普通话和音量有点影响效果。听下来,我的理解是这样:
- MVVM = Model + View + ViewModel
- 在前端开发方面,HTML + CSS承担了View的职责,所以我们只需要实现Model + ViewModel部分就可以了
- Model是数据结构,属于设计方面的工作,所以职责集中在ViewModel的实现
- ViewModel等同于业务逻辑
- Web开发使用MVVM的优势在于,我们可以只关注业务逻辑,也就是ViewModel的实现,这样就极大减少工作量和代码量
不过我还是有一些疑问,比如性能、复用性、维护效率之类的。看来有必要用Angular框架做一个项目了(大厂产品应该更有保障些~)。
会上还听了一个CodeJam项目《谁是卧底》的分享,坦白说那哥们对phonegap开发最佳实践的理解还不如我,有机会写篇文章。
最后帮公司打了个广告,希望能收几份简历。回头Nervenet能拿出去见人的时候也去分享下吧。
欢迎吐槽,共同进步