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