熱更新
- 這是React Native的一個重要功能,蘋果去年有過一次對熱修復的嚴打,JSPatch慘遭扼殺,不過對於RN這樣的沙盒熱更新是可以的;
- 微軟的hot-push是個不錯的工具(https://github.com/Microsoft/react-native-code-push);
- 有條件的單位可以自己建熱修復服務,下載bundle包。
native組件開發
- React Native可能還沒有相應的模塊封裝,但是提供native組件開發能力。利用這種方式解決平臺特性,支付、推送、Face ID都可以封裝成native組件來解決:
- iOS原生模塊(https://reactnative.cn/docs/native-modules-ios)
- iOS原生UI組件(https://reactnative.cn/docs/native-components-ios/)
- 安卓原生模塊(https://reactnative.cn/docs/native-modules-android/)
- 安卓原生UI組件(https://reactnative.cn/docs/native-components-android/)
- rnstart:是根據上面技術棧搭建的react native starter demo工程(https://github.com/jeremyzj/rnstarter)。
未來展望
論成熟度、穩定性,RN 比不上iOS和Android原生,也存在很多奇怪的BUG,習慣了OC、Java語言開發的對於JS缺少類型系統很失望,對於手動操作動畫也依然無解,長列表性能問題無解、手勢操作不夠靈活、iOS podfile維護也不給力........等等問題。
很多單位採用模塊化方案,讓App有RN的能力,讓業務交互簡單的模塊來用react-native開發。但是Facebook依然很努力地在改變,2018年對react-native有了一次大的重構,目的更輕量化並能更好地適應現有的原生應用,更符合JS的生態系統。
對於移動開發者而言,react-native只是開發箱中其中一種工具。豐富自己工具箱,才能有更寬的視野和更多的開發思路。
作者:魔笛,從事移動端開發7+年的經驗,目前在某互聯網金融公司作為iOS端leader工作。
閱讀更多 CSDN 的文章
關鍵字: 反對聲 編程語言 JavaScript