阿里推出的類似React Native和Native Script的從前端都mobile的解決方案僚害,主要研究如何將Front End的開發(fā)技術(shù)和體驗移植到Mobile開發(fā)中去。現(xiàn)在看起來阿里想做的方案是一套代碼可以在Browser, Android和IOS三個平臺幾乎無縫的運行韵卤。scope可謂大大的蹂窖。
原理
目前看來原理方面阐滩,官方給了下面的workflow和示意圖闽烙。
Weex file --------------frontend(source code)
↓ (transform) --------- frontend(build tool)
JS bundle ------------- frontend(bundle code)
↓ (deploy) ------------ server
JS bundle in server --- server
↓ (compile) ----------- client(js-engine)
Virtual DOM tree ------ client(weex-jsframework)
↓ (render) ------------ client(render-engine)
Native view ----------- client(render-engine)
TB1ootBMpXXXXXrXXXXwi60UVXX-596-397.png
TB1_SA4MXXXXXXGaXXXpZ8UVXXX-519-337.png
大概可以理解為weex工具使用類似webpack之類的工具將你的JS代碼打包為一個JS Bundle文件每界,然后通過一個封裝的JS Framework將你的JS Buddle轉(zhuǎn)化為一個Vitual DOM結(jié)構(gòu)日缨,再交給RenderEngine將CSS, Event等相關(guān)東西attach上去钱反,最終渲染在目標平臺上講頁面渲染出來掖看。
體驗
運行Weex PlayGround
關(guān)于Getting Starting的指導(dǎo)可以參考官方Github
個人體會
我基本花了三天才把這一套東西整個Run起來匣距,整體上覺得有幾點感覺不是很滿意。
- 整個工具鏈還沒有出來哎壳,我不知道如何初始化一個完整項目毅待,我指的是初始化一個項目,包含JS的腳手架還有目標平臺归榕。無法使用命令行添加平臺支持尸红,使用命令行打包和運行應(yīng)用到原生平臺上去。
- 從Playgroud這個官方的Demo應(yīng)用來看,組件還相當不完善外里,UI在兩個平臺上看都是IOS風格的怎爵,顏色感覺是從Bootstrap那邊抄過來的感覺。還有就是所有的觸碰操作都沒有反饋盅蝗,感覺是在摸玻璃板鳖链。不過整體感覺就是Web頁面在手機上的感覺,還體會不到其原生方面相同或者類似的體驗墩莫。
看法
個人感覺阿里畫的scope很大——write once, run anywhere芙委,還有就是vue現(xiàn)在的生態(tài)圈子是相對不如React的,感覺現(xiàn)在基本應(yīng)該觀望狂秦,看幾個月后的生態(tài)如何灌侣。畢竟其離React