前言
在學習weex之前,先要了解,weex推出的背景。當前移動開發可以分爲三種:Native App, Web App, Hybrid App.
- Native App特點:
- 性能好
- 完美的用戶體驗
- 開發成本高,
- 無法跨平臺
- 升級困難(審覈),
- 維護成本高
Web App特點:
- 開發成本低,更新快,版本升級容易,自動升級
- 跨平臺,Write Once , Run Anywhere
- 無法調用系統級的API
- 臨時入口,用戶留存度低
- 性能差,體驗差,設計受限制
- 相比Native App,Web App體驗中受限於以上5個因素:網絡環境,渲染性能,平臺特性,受限於瀏覽器,系統限制。
Web App特點:
- Native App 和 Web App 折中的方案,保留了 Native App 和 Web App 的優點。
- 但是還是性能差。頁面渲染效率低,在Webview中繪製界面,實現動畫,資源消耗都比較大,受限於技術,網速等因素
爲了解決移動開發的難題,所以由facebook推出了ReactNative和阿里巴巴推出了weex,但是這篇博客主要討論weex。
1.Weex須知
相對來說,weex比ReactNative更簡單,關於兩者之間的比較:阿里雲:weex vs react-native, 知乎:weex vs react-native。
weex在github上的開源項目相對來ReactNative少很多,而且在社區方面,也不如ReactNative活躍。
我之所以選擇先學習weex,就是因爲它相對來說更簡單,而且weex提供了一些控件的封裝,比如list, tabbar,
2.準備環境
怎麼安裝weex的環境,可以看下weex guide,如果有碰到問題,也可以在這裏發表評論。
開發Weex需要同時兼顧服務端(就是weex的html+js部分)和app端,對於移動開發者來說,開發app端相對來說比較簡單,只是我們需要注意在寫擴展的時候要花費一些精力。所以這裏我更加關心html+js部分的開發工作,Webstorm是個不錯的選擇,因爲Webstorm不支持可視化拖拽html控件開發,所以必須的時候也可以安裝一個dreamweaver.
3.需要掌握的知識點
App端,這裏就不介紹了,對於移動開發者,這是基礎,這裏主要介紹html+js的部分。
- vue, weex目前支持支持vue2.x,所以你也可以直接使用vue開發weex
- html+js這是基礎
- weex reference,這裏有Weex的特性和組件的介紹。
- node也要了解,因爲我們需要使用到一些node的命令。
4.社區和資料
4.1 社區
4.2 資料
5.我的代碼
我目前還處於看代碼階段,對於我來說,看js代碼難度不是很大,主要是熟悉各種各樣的js框架,所以雖然看了介紹說weex學習難度低,但是相對我這種純native移動開發者來說,還是有點吃力了。
myweex是我的weex代碼託管地址,目前沒有我寫的weex項目,裏面是我收集的一些weex項目,對於weexOne項目,我添加了很多註釋。