6月24日參加infoq舉行的GMTC移動技術大會,并做了1場演講,還參加了晚上的Swift3.0閉門交換會議,受益很多。
6月24日上午是全部大會,首先是手機淘寶的長恭,微信的趙原,京東的王永杰做了移動未來開發展望的開場演講。然后是Facebook初期員工覃超做了Facebook App演進進程的演講,主要介紹了Facebook App各個版本的技術實現和經驗總結,印象比較深的有下面幾點:要選擇對用戶優化的技術而不是對開發團隊優化的技術;現在FacebookApp已是通過appurl scheme跳轉的組件化項目,主要是iOS原生技術實現,Facebook已有1000多iOS工程師,全部項目只有1個codebase,使用Mercurial做版本管理,git已太卡了,使用Buck編譯項目;新技術的接受曲線,到達高潮后會有1個低谷,然后走向正常的發展階段。
然后是Square的邵震的演講Mobile Growth的方法和實踐,是近幾年流行的增長黑客相干的實踐,介紹了Growth實踐中的1些心得,最重要的是保存,工程師驅動,通太高層戰略推動底層履行。然后介紹了1些A/B Testing系統的實踐。Deep Link的趨勢和使用,就是通過1些網頁鏈接進入App。
下午的演講分3個分會場,我主要參加了Swift分會場和插件化分會場。Swift分會場第1場是傅若愚的Swift函數式編程,函數式編程是個不太容易講的話題,主要是觸及的概念比較多,這個演講有比較易懂的方式介紹了函數式編程。
Swift分會場第2場是我的演講From Java/Android To Swift iOS,主要是分享Android開發者如何快速上手Swift開發,和1些Swift項目經驗和開源框架,還介紹了Swift3.0的1些新特性,感興趣的可以下載ppt看看。
然后去了插件化專場,聽林光亮介紹了Small插件化插件,他主要先分析了Android插件化的各種技術和插件化框架,然后介紹了small插件化框架的實現思路和技術實現。?這個插件化方案我感覺是目前比較公道的,技術上也比較先進,希望后面項目能用上。
最后是聚劃算的樸誠介紹聚劃算的Luaview動態化開發實踐,LuaviewSDK提供了1種動態化能力,合適原生App的某些頁面嵌入動態內容,性能很好,和React Native,weex等插件化方案比較,是1種更輕量的插件化方案。
25日上午參加的是架構演進專場,第1場是手機天貓解耦之路,介紹了天貓iOS App演進進程和組件化開發技術,通過BeeHive框架實現解耦依賴,統跳協議解耦界面,印象深入的是活用了Web服務器的UrlRewrite技術,通過正則表達式Rewrite URL。
第2場是滴滴李賢輝滴滴iOS組件化優化與實踐。介紹了滴滴iOS App組件化的背景,70個開發人員,7條業務線,70萬代碼。代碼沖突多,發布困難。介紹了1些組件化的專項技術,業務線接入,頁面結構,導航管理組件,同享地圖組件,灰度系統apollo等,干貨很多,值得回去仔細研究學習。
上午第3場是iOS遺留代碼重構,從CoreData遷移到Realm說起。?介紹了抽象分支的概念,通過抽象層替換舊代碼模塊。特性開關,4種實現方式,如后臺服務,ab test框架。通過適配器模式透明支持coredata和RealmDB持久化服務。最后介紹了Realm的坑,不支持集聯刪除,不支持多態,難以理解的反向關聯。遺留代碼的重構確切是個麻煩的事情,這個演講對iOS項目的重構有1定參考價值。
下午參加了性能優化專場,第1場是微信葉潤桂的演講《微信客戶端怎樣應對弱網絡》?。前面主要介紹介紹了針對TCP/IP協議的移動網絡優化,介紹了各種算法。?然后講授了微信發圖片協議合并優化,上傳圖片后,由圖片服務器直接通過內網和業務服務器通訊。?低本錢重傳,下降重傳的包大小,或使用流式協議。漸進式圖片,有損上傳和下載。最后安利了后面打算開源的Mars跨平臺開源網絡組件。
第2場是楊剛的360手機衛士性能優化之路,首先介紹了性能優化的各種問題,lint和Findbugs,自有代碼檢測工具,基于jenkins平臺的檢測系統。aspectj重寫器,實現網絡靜態埋點的例子。然后介紹了性能監控,進程的冷熱啟動等。由于360手機衛士總是優化手機殺其他App的進程,這兄弟發問環節被問的比較愁悶。
最后聽的演講是支付寶App的性能穩定性和運維實踐,介紹了支付寶App3個階段的架構演進,性能優化實踐和超級App的運維體系介紹。
全部大會大概有30多場演講,很多都是各大公司的實踐經驗分享,干貨很多,對我來講幫助比較大的是安卓的插件化和iOS的組件化開發,由于業務發展需要,這些技術后面需要逐漸引入了。
上一篇 webAPP 背景圖設置
下一篇 SpringMVC各種參數的綁定