6月30日,360手機衛士插件化RePlugin正式開源,該款插件化方案可以幫助主程序在「確保極其穩定」的前提下,做到「無需升級主程序」就能支持新增組件、插件。其插件支持幾乎所有在「單品」開發時的特性,包括靜態Receiver、Task-Affinity、自定義Theme、進程坑位、AppCompat等。此外,RePlugin易於接入和管理,支持插件安裝、升級、卸載、版本管理、內置插件管控等,對開發者而言非常容易運用,對用戶而言也是「穩定和靈活」兼得。
RePlugin負責人張炅軒表示,早在2014-2016年,360的插件化框架就逐步實現了「全面插件化」,如今更是具有出色的穩定性和靈活性,可適用於各種類型的應用上,並完美的運行在幾乎任何安卓設備上。
圖1:360手機衛士RePlugin各項指標全面領先行業
事實上,插件化給用戶帶來的方便體現在很多地方。
首先,利用插件化方案,可以讓手機應用變得「小而精」。只有當用戶需要使用某個特定功能時,才可以下載並開啟,且可以隨時卸載插件。這不僅可以減小APK大小、節省流量,還可明顯的減少內存、內部存儲佔用,將更多空間讓給珍貴的相片、文檔等資料。
其次,用戶可以隨時體驗軟體新版本,不用因為一個小更新,就去下載一個完整的應用。此外,對於應用發布方也有莫大的好處。開發人員可以靈活發布應用版本,無需等市場上線,讓用戶手動升級。
雖然安卓應用插件化的優勢眾所周知,但調查顯示,使用插件化方案的安卓開發者卻微乎其微,插件化在市面上並沒有廣泛流行起來。
這是因為,幾乎大部分的插件化方案在靈活性和穩定性上不能兼得,要麼以「支持多特性」來犧牲「穩定性」,要麼以「簡單的實現插件化」而失去了「靈活性」;此外,目前的插件化框架僅在功能豐富的大型項目中,才被考慮使用,且多用於邊緣功能,這也使得插件化的應用範圍非常狹窄。
圖2:目前360手機衛士RePlugin插件占應用比達到83%
基於以上原因,360手機衛士團隊著手開發RePlugin插件化方案。自2013年推出衛士插件化框架之後,在2014年又在360手機衛士項目中,啟用了最早的衛士完整占坑方案,並在2016年實現了「核心功能皆為插件」的目標。在整個過程中,衛士團隊很好解決了「穩定」和「靈活」的平衡難題,破解了「只有功能豐富的項目才用」的「魔咒」。
在穩定性方面,RePlugin的Hook點只有一處:ClassLoader,這使得框架崩潰率僅為萬分之一。而在靈活性方面,由於RePlugin採用了全新、獨創的「分層坑位方案」,加上一些其它獨創新特性,如多進程坑位、Task-Affinity坑位等,從而真正實現了插件組件任意增改、新插件直接用、無須主程序發版、自有設置進程等特性,而獨創的「動態編譯方案」,能極大的提高插件開發者的研發效率,真正做到「只需幾行代碼,就能『秒變』插件」的神奇效果。
截止目前,RePlugin的插件數已達103個,核心基礎插件57個,而插件占應用比更是達到了驚人的83%,而且年發版次數高達596次,平均每個工作日發版2-3次。目前360公司幾乎所有的億級用戶量的APP,以及多款主流第三方APP,都採用了衛士RePlugin插件化方案。
作為國內市場佔有率最大、累計擁有10億用戶的手機端安全防護軟體,360手機衛士近年來不斷在提升用戶體驗方面發力,在夯實清理加速、騷擾攔截、軟體管理、手機殺毒這些核心功能之外,在插件化開源等領域一直在深入探索,最終推出了兼顧穩定和靈活、更加成熟可靠的RePlugin方案。本次宣布RePlugin插件化開源,對安卓開發無疑具有非常深遠的意義,對於廣大APP 開發者無疑是一個福音。分析人士認為,這將在安卓界掀起一場「全面插件化」的趨勢,讓眾多應用從RePlugin的開源中受益。
GitHub地址:https://github.com/Qihoo360/RePlugin。歡迎您為RePlugin項目加Star、發送Pull Request,提Issue。