GIAC現場,Mob帶你領略“智慧化+人性化”的未來開發場景
2018年11月23日,GIAC全球網際網路架構大會在上海隆重召開。作為中國網際網路技術領域一年一度的行業盛事,本屆大會從系統架構設計、機器學習、程式語言、分散式架構等領域,甄選前沿科技企業代表分享2018年度最值得的回顧、總結的創新技術及研發實踐案例,實踐啟示,共同探索未來的網際網路構建方式。
本次大會上,Mob移動開發者服務平臺MobSDK專案總監餘勳傑,以【MobSDK使用者介面演進】為主題,結合Mob多年的開發經驗,剖析網際網路應用的移動端痛點,為在場嘉賓分享:如何讓使用者介面實現自動化和智慧化。
Mob成立於2012年,6年來已為28萬開發者,38萬個合作應用服務,獨立裝置覆蓋達到96億。推出的13款SDK產品,涵蓋了第三方登入、分享、簡訊驗證、訊息推送、手遊錄影、使用者系統、資料API等全方面的SDK需求,幫助開發者降低開發成本,提升整合效率,打造強大的資料統計後臺。除此之外,Mob從深層出發,推出多維度的移動應用解決方案,幫助全球開發者們創造更大的價值。
在持續開發的解決方案中,Mob越來越深刻地認識到使用者介面不僅要穩定能用,還要好用易用,做到自動化+智慧化。想要達到這個目標就需要在不斷壓縮包體、做到安全易用、實現自動整合上不斷努力。
- 壓縮包體
包體積優化是提高使用者體驗的最直接手段。比較推薦的是去依賴和外掛化。去依賴是因為原生SDK都攜帶自身基礎程式碼原生SDK太大。對於一開始比較大的包體Mob通過去掉依賴的包,實現早期的包體積快速下降。而外掛化則可以讓SDK具備伸縮性,能根據特定的場景增加或刪除相應的模組,對控制包體效果明顯。
過去幾年ShareSDK在不斷進化,Mob搜尋外掛的思想也在不斷進化完善。這當中包含了早期搜尋整個App的程式碼,搜尋指定外掛列表,還有使用編譯前預處理工具等來搜尋外掛的方案。
-
- 搜尋整個App的程式碼。邏輯最自然,但是速度慢,因為一個APP當中包含了成千上萬個類,掃一遍需要花費非常多的時間。
- 搜尋指定外掛列表。速度快,但不能混淆指定類。在不用開執行緒的情況下,毫秒級別直接反射出類,可以直接例項化,但缺點是字串是固定的,不能混淆指定類。
- 使用編譯前預處理工具。速度更快,無需混淆配置,但可讀性低。
- 安全易用
從創始以來Mob一直都非常重視安全性,但安全的概念是非常大的,基於介面洩露隱患的種種研究,Mob衍生出更多的更具體的易用概念——用設計思想和程式碼規範來規避安全隱患,降低介面使用難度。
-
- 預防回撥洩露。只要介面有洩露的風險,不管風險有多小,它總會發生。而在預防洩露方面來說,類並沒有表現出比介面優越太多。最後Mob的選擇是讓回撥跟隨業務流動,操作結束自動丟棄的解決方案。
- 降低資料解析難度。使用常規的操作回撥設計思想,很難解決統一業務處理和降低資料解析難度兩者的矛盾需要引入“泛型”來解決問題。
- 實現介面現代化。適配Lambda表示式,以單方發介面為回撥,細分回撥場景。使用鏈式編碼風格,鏈式編碼風格具備邏輯順暢、指示清晰的優點,搭配Lambda表示式更能凸顯程式碼美觀。
- 自動整合。
比起產品革新和技術突破,讓使用者閱讀整合文件才是最大的難題。為了讓Mob的產品更好推廣,更加適應使用者的習慣,MobSDK在不斷的升級和更新。首先可以自動引入,解析Gradle配置資訊,引入所需組建,引入各種依賴庫,然後自動配置,根據引入的元件,修改App的Manifest以及其他配置檔案。最後自動更新,在編譯期間檢查元件的版本,進行必要的更新。
未來,Mob將不斷豐富產品功能,不斷優化和擴充套件外掛的使用方式,基於MobSDK產品矩陣打造更多樣化的產品,進一步壓縮開發者們在移動開發中“手動”部分,構建更加智慧化、人性化的開發模式。