Alita在處理React語法的時候,採用了一種運行時處理JSX的技術,相對於社區現有的編譯時方案,在JSX語法的支持上更加完備,關於運行時處理JSX的原理,詳情請看。html
自1.0.0
發佈以來,咱們收到了不少對於Mobx
的支持的需求,另外Alita
初始版本並不支持 watch
模式(因爲內部和外部使用Alita的方式不一樣),這致使了每修改一個文件,須要看小程序效果的時候都須要從新執行一下alita
命令,開發調試起來很不方便。 因此咱們在這個版本里面,主要作了兩件事情:Mobx
支持,watch
模式前端
Mobx
自己並不和React
綁定,能夠用於任何前端框架。可是它和React
的配合,能夠方便的進行React
應用的數據管理,Alita
這個版本主要支持了Mobx
的使用,得益於Alita
運行時架構的設計,Alita
存在一個嵌入式的mini-react
,因此只需把Mobx
和內嵌的mini-react
正確鏈接起來,在Alita
上Mobx
應該就能夠正常的使用。 react
參考mobx-react
而且結合mini-react
暴露的API,咱們在微信小程序端適配了一個wx-mobx-react
。 Alita轉化完你的RN應用以後,會自動在小程序端把mobx-react
切換爲wx-mobx-react
。git
在支持mobx的過程當中,咱們還有了另外的收穫,當咱們設置多個observable
的值時候,mobx-react
會經過unstable_batchedUpdates
接口批量更新,據此Alita也對外提供了unstable_batchedUpdates
接口,和React同樣這個接口會合並屢次setState
,對應提高應用的性能頗有幫助。github
另外新版本以後Alita
生成的js
代碼可讀性會減低,以前Alita
會生成ES6
的代碼,而後經過微信小程序自帶的功能把ES6
轉化爲ES5
,可是微信小程序的轉化並不支持decorators
(這個特性對於Mobx
十分重要),因此如今Alita
會經過babel
直接生成ES5的代碼。redux
詳細文檔請看:支持mobx。小程序
咱們還提供了一個實際的用Mobx構建的Demo微信小程序
爲了簡化開發調試的過程,Alita
新增了 watch
功能,只須要在執行alita
命令的時候,添加--watch
參數便可。將來咱們也將不斷提高 Alita
的開發調試體驗。前端框架
forceUpdate API
unstable_batchedUpdates
批量更新接口Provider
, 方便redux
, Mobx
的store
注入react-redux
從新實現 alita redux
連接庫decorators
轉化支持--comp
命令行參數,適用於只轉化RN組件,而不是整個項目的場景