組件化開發:就是將一個app分成多個Module,每個Module都是一個組件(也可以是一個基礎庫供組件依賴),開發的過程中我們可以單獨調試部分組件,組件間不需要互相依賴,但可以相互調用,最終發布的時候所有組件以lib的形式被主app工程依賴並打包成1個apk。
插件化開發:和組件化開發略有不用,插件化開發時將整個app拆分成很多模塊,這些模塊包括一個宿主和多個插件,每個模塊都是一個apk(組件化的每個模塊是個lib),最終打包的時候將宿主apk和插件apk(或其他格式)分開或者聯合打包。
關於使用組件化的理由,上網能搜到很多,如業務隔離、單獨以app運行能提高開發及調試效率等等這裡就不多重複了,我補充一條:組件化之後,我們能很容易地實現一些組件層面的AOP,例如: