Android动态化方案
目前接觸到的Android幾種動態化方案:
1、WebView
2、H5/Hybird
3、插件化
4、ReactNative
5、熱修復
6、小程序
一、WebView
WebView是最常見的一種動態化方案,跨平臺(Android/iOS),可以不依賴于發版實時更新,其劣勢在于體驗和性能不如NA的體驗,有些功能需要依賴客戶端提供端能力實現。
二、Hybird
Hybird是一種NA + Web的混合開發模式,底層依賴于Native提供的容器,上層使用Html&Css&JS做業務開發,底層透明化、上層多樣化,這種場景非常有利于前端介入,非常適合業務快速迭代,對于需要快速試錯、迅速占領市場的團隊來說,Hybrid一定是不二的選擇。但Hybird的體驗肯定比不上Native,所以生存下來后還是需要做體驗更好的原生APP。
三、插件化
插件化技術的出現一個大背景是Android有一個史上最坑的天花板 —— 65535方法數的限制,它要求在Android的一個dex文件中的方法數不能超過65535個方法。隨著業務邏輯的復雜導致客戶端代碼的急劇膨脹,很容易就碰觸到了65535方法數的限制。有人提出了通過拆分dex的方法規避天花板的限制,但隨著代碼量和各種資源的不斷增大,導致一次編譯、運行、調試的速度降低,啟動速度慢,導致開發成本高、用戶體驗變差。
在運營為王的時代對模塊的熱更新提出了更高的要求,所謂熱更新就是在不依賴發版的情況下,對業務進行實時的更新,也可以對客戶端一些線上問題進行實時修復。在業務層面,功能模塊的解耦以及維護團隊的分離是大勢所趨,各個團隊維護著同一個APP的不同模塊,如果每個模塊升級新功能都要對整個APP進行升級,那么發布流程不僅復雜而且效率低下,在講究小步快跑和持續迭代的互聯網時代,對開發效率和版本迭代速度有更高的要求。
插件化的方案可以解決宿主APK中的Java方法數限制;宿主APP可以不通過系統安裝和使用插件APK;可以只在指定的時候才加載作為功能模塊的APK;插件APK同一套代碼可以作為插件和獨立運行的APK;兼容Android所有版本(AndroidP待定)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
四、ReactNative
ReactNative(簡稱RN)是Facebook于2015年4月開源的跨平臺移動應用開發框架,致力于提高多平臺開發的開發效率 —— Learn once, write anywhere,跨平臺(支持iOS/Android)。
關于H5、NA和RN應用的對比分析,可見文章:http://vczero.github.io/react_native/H5-React-Native-Native.html
五、熱修復
總結
以上是生活随笔為你收集整理的Android动态化方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB R2019b利用Appli
- 下一篇: 2022-02-18 Android a