需求:開發基於門戶類的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的 最好的方法優化