需求:开发基于门户类的Hybird-APP,或者相似WEB-APP,SPA单页应用java
首页内容(VIEW)渲染 :react
经过ajax请求之后须要手动拼接:太繁琐
解决方式使用:javaScript模板 ,让程序自动渲染ajax
数据对象(Model)封装:json
ajax返回的json数据 须要在模板里使用data对象渲染,
数据对象多了,页面上存在大量data变量
针对每种后台返回的数据均封装到对应的对象中 统一管理服务器
首页逻辑:性能
若是每条数据的时间和服务器时间相差1小时:显示一小时以前
若是每条数据的时间和服务器时间相差1天: 显示一天以前
若是每条数据的时间和服务器时间相差2天: 显示之前
这些逻辑判断须要在模板视图里大量if else判断
咱们的模板主要是为了显示数据,模板里大量HTML标签和if else 太繁琐
如何把if else写到程序中
采用新的JS对象,在这个JS对象中咱们操做业务逻辑 (ModelView)
在这里操做Model数据逻辑判断,一旦Model数据变化
手动通知模板刷新数据(数据单向绑定)
模板自动刷新数据(数据双向绑定)
以上就是MVVM的雏形,
在SPA应用中须要大量操做DOM ,
只因此采用React 缘由以下 使用REACT实现MVVM
利用虚拟DOM优化性能
掌握react开发技能,从而开发reactNative原生引用,
开源社区中reactNative插件大量存在,
是高效开发高性能原生APP的 最好的方法优化