方便開發(fā)者模塊化的管理應用,好的應用一般都是模塊化管理,模塊之間屬于松耦合關系。多HAP方便了開發(fā)者將業(yè)務劃分成多個模塊,每個模塊放到獨立的HAP中。例如支付類應用,有統(tǒng)一的主界面,主界面管理“掃一掃”、“收付款”、“消息”、“理財”等各個模塊。其中主界面管理其他模塊的邏輯在Entry包中實現(xiàn),而“掃一掃”、“收付款”、“消息”和“理財”等模塊在不同的Feature包中實現(xiàn)??梢酝瑫r開發(fā)多個Feature包,能夠實現(xiàn)Feature包單獨的開發(fā)測試,最終由Entry包統(tǒng)一集成Feature包的特性。
方便開發(fā)者將多HAP合理地組合并部署到不同的設備上。例如應用程序包含一個Entry包和兩個Featrue包(Feature1和Feature2)。其中Entry包可以部署到設備A和設備B,F(xiàn)eature1只能部署到設備A,F(xiàn)eature2包只部署到設備B上,那么開發(fā)者就可以方便的組合Entry和Feature1部署到設備A上,組合Entry和Feature2部署到設備B上。
方便開發(fā)者按需加載所需模塊,減少包大小。開發(fā)者可以將一個應用的某些HAP配置成按需加載。應用在啟動階段初始用不到的特性,可以配置暫不加載,當用戶用到這些特性的時候,可由應用自動下載這些特性HAP,一定程度上減少應用包的大小。
方便應用資源共享,減少程序包大小。多個HAP都需要用到的資源(包括公共資源文件、公共頁面等)以及so(shared object)文件可以放到單獨的HAP中,其他HAP可以到該HAP中訪問資源和so文件,也一定程度上可以減少應用程序包大小。