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