移動端動態化的由來,你知道嗎?
目前的移動開發者面臨的最大痛點就是面對極其複雜的環境,對此,莊卓然給出一個公式,移動開發的複雜度=應用數量×平臺數量×要適配的各種各樣的機型。
如何解決這個問題呢?在解決問題之前,首先要對移動開發的未來有著精準的研判。
阿里認為,移動開發的未來必定更加平衡,也就是說必須是效能與動態兼得,如此,才能夠滿足未來使用者的需求。另外,移動開發在未來也必定是開放互聯的狀態,移動網際網路將來肯定是基於更加大眾化的技術體系,沒有平臺之間的隔閡,而且簡單易用。
移動端動態化的由來
“動態化”並不是最近幾年才產生的名詞,而是從從網際網路誕生的初期,這個詞就已經出現了。大家所認知的早期網際網路,其實就是各種各類的“動態網站”,內容資料和頁面外觀都不是固定的,都是隨著伺服器端的更新而更新的,讓使用者可以很及時地看到最新的內容。因此,動態化可以說是網際網路的標誌,是網際網路最核心的特性之一。
而移動網際網路的普及,移動端被各類原生應用所佔據,而這些應用更近似於 Software,依託於應用市場進行更新,只有其中的資料是實時的。這樣,每次產品的更新,必須依賴使用者的主動更新,從而造成了一定的使用者成本,不利於產品的快速迭代,降低應用的試錯能力。因此,移動端動態化方案逐漸走進大家的視野,並被大家所關注。
從一開始基於 WebView 的 Hybrid 方案 PhoneGap、Titanium,到現在與原生相結合的 React Native 、Weex,甚至 Flutter,都被或多或少地使用到不同的移動應用中。
原生開發能不能動態化?準確的說是能的,而且 Android 平臺各公司都有很完善的動態化方案,甚至 Google 還提供了 Android App Bundles 讓開發者們可以更好地支援動態化。而反觀 iOS,由於 Apple 官方擔憂動態化的風險,因此並不太支援動態化(去年還封殺了 JSPatch 等一類動態修復方案),因此比較通用的原生動態化方案几乎沒有,只有各大廠自己實現的一些動態化框架。
動態能力建設方向流派眾多
如何選擇動態能力建設的流派,主要從研發成本、相容性、動態能力、穩定性、操作體驗等方面判斷,需要根據團隊的實際情況來進行選擇。
簡單敘述一下動態化能力建設的主要流派:
1、React-Native
- 優點:歷史悠久、資料豐富、學習楷模
- 缺點:相容性一直被詬病,坑太多玩不動
- 典型代表:Facebook、Linkedin
2、原生+H5
- 優點:平衡性佳、研發可控能力好
- 缺點:原生部分動態能力欠缺
- 典型代表:Hybrid方式依然佔據大部分市場
3、原生+小程式(另一種Hybrid方式)
- 優點:同樣擁有平衡性和研發可控性的優點,體驗接近原生,小程式的效能是有目共睹的
- 缺點:與h5一樣原生部分動態能力欠缺
- 典型代表:依然是Hybrid方式,微信、支付寶、美團、FinClip
4、weex flutter
- 優點:效能動態能力兼顧
- 缺點:開發成本高、異構風險大、IDE體系弱
- 典型代表:阿里系
5、H5化
- 優點:節省開發資源,動態性最好
- 缺點:相容性問題多,體驗尚與原生有差距
- 典型代表:騰訊系
當然也有純原生的,所剩無幾就不討論了。
動態化流派眾多,各有利弊,沒有最好,各個團隊需要根據自己的專案選擇最合適的方式。以我們團隊為例,目前選擇了Native+小程式的結合,透過在APP中引入 FinClip小程式容器技術,讓App具備小程式執行的環境。從而實現這種基於小程式的Hybrid的方案。以下簡單介紹一下Native+小程式的模式有哪些優點:
首先基於小程式的Hybrid方案,是透過更加定製化的 JSBridge,並使用雙 WebView 雙執行緒的模式隔離了JS邏輯與UI渲染,形成了特殊的開發模式,加強了 H5 與 Native 混合程度,提高了頁面效能及開發體驗。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024933/viewspace-2945368/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 你知道移動端的尺寸都有哪些嗎?
- 支付寶移動端動態化方案實踐
- 移動端動態更新的原理和模式,你瞭解多少?模式
- 關於移動端適配,你必須要知道的
- 便利店的移動化潮流,你跟上了嗎?
- 使用 JS 來動態操作 css ,你知道幾種方法?JSCSS
- 你知道Golang的模板怎麼用嗎?帶你瞭解動態文字的生成!Golang
- 如何讓“啞”終端進化,你知道嗎?
- 移動端配適與掌握動態 REMREM
- Hades:移動端靜態分析框架框架
- 移動開發還有未來嗎?移動開發
- appium uiautomator 移動端自動化測試工具APPUI
- 移動端首屏優化策略優化
- [譯] 關於 Angular 動態元件你需要知道的Angular元件
- Web移動端頁面 –響應式和動態REMWebREM
- Myabtis動態SQL,你真的會了嗎?SQL
- 動態規劃你學會了嗎?動態規劃
- 持續測試跟自動化測試的這些區別你知道嗎?
- 一起爬山嗎?你知道山的高度是由什麼決定的嗎?
- 移動端 UI 自動化測試框架對比UI框架
- 移動遊戲貨幣化:你還不知道從哪裡開始?遊戲
- 移動端圖片優化總結優化
- 移動端的那些坑
- 移動端的判斷
- 移動端定位
- win10的自動更新在哪,你知道win10的自動更新在哪嗎Win10
- 動態規劃你學會了嗎(二)?動態規劃
- Lesktop開源IM移動端:接入LayIM移動端UIUI
- vue移動端專案接入vconsole(移動端除錯)Vue除錯
- 用 Pygame 使你的遊戲角色移動起來GAM遊戲
- 移動端模擬滾動
- 你真的知道協程是怎麼來的嗎?
- 客戶端動態化系列之——URLRoute客戶端
- 端動態化方案詳細設計
- 移動訂貨系統中亮點功能,你知道多少
- 做移動端開發時,你是如何除錯的?除錯
- 移動端網頁效能優化自查表網頁優化
- 移動端APP元件化架構實踐APP元件化架構