mvvm是Model-View-ViewModel的缩写:
Vue.js是一个提供了MVVM风格的双向数据绑定的javascript库,专注于View层,它的核心是MVVM中VM,也就是ViewModel,ViewModel负责连接View和Model,保证数据和视图的一致性。不仅做到了数据的双向绑定,而且也是一款相对来比较轻量级的js库,vue.js是采用Object.defineProperty的getter和setter。并结合观察者模式来实现数据绑定的,当一个普通Javascript对象传给Vue实例来作为它的data选项时,vue将遍历它的属性
Sench touch是第一个HTML5的框架,它是一款用来构建移动应用的HTML5框架
前端开发暴露了三个痛点问题:
1.开发者在代码中大量调用相同的DOM API,处理繁琐,处理冗余,代码难以维护
2.大量的DOM操作使得页面的渲染性能降低,加载速度变慢,影响用户体验
3.当Model频繁发生变化,开发者需要主动更新到View,当用户的操作导致model发生变化,开发者同样需要将变化的数据同步到MOdel中,这样的工作不仅繁琐,而且很难维护复杂多变的数据状态。