Webapp打包就是在一臺(tái)機(jī)器上打包一個(gè)文件包或者程序包。在服務(wù)器端,應(yīng)用軟件與服務(wù)器端程序是分開(kāi)的。在前端,應(yīng)用軟件通過(guò)瀏覽器安裝到移動(dòng)設(shè)備上。因此,移動(dòng)應(yīng)用程序應(yīng)該與網(wǎng)站組件分開(kāi)。我們常說(shuō):網(wǎng)站封裝app、應(yīng)用APP、手機(jī)網(wǎng)站、微信公眾號(hào)等。但是如果想讓所有的網(wǎng)頁(yè)在同一臺(tái)機(jī)器上運(yùn)行,就需要用到網(wǎng)站封裝的技術(shù),這里就介紹一下。
1.包的定義
網(wǎng)站包裝是對(duì)網(wǎng)頁(yè)進(jìn)行包裝的一種。但是在移動(dòng)設(shè)備上,由于瀏覽器的限制,需要將各種站點(diǎn)整合起來(lái),讓用戶方便的訪問(wèn)。為了讓各個(gè)站點(diǎn)的用戶使用同一個(gè)APP進(jìn)行購(gòu)物、消費(fèi)、娛樂(lè)等活動(dòng),需要對(duì)各個(gè)站點(diǎn)的程序進(jìn)行封裝。將部分網(wǎng)站內(nèi)容與應(yīng)用程序分離,可以大大降低網(wǎng)站建設(shè)成本和維護(hù)成本。
2.具體工作流程
從圖中可以看出,封裝程序是按照業(yè)務(wù)需求劃分的。用戶需要的功能模塊對(duì)應(yīng)網(wǎng)頁(yè)中的內(nèi)容,如果沒(méi)有這些模塊,則封裝程序中不會(huì)提供。對(duì)于不同類型的產(chǎn)品,在打包的時(shí)候也需要注意不同業(yè)務(wù)需求之間的關(guān)聯(lián)性,比如頁(yè)面與用戶需求之間的關(guān)聯(lián)性。
一般來(lái)說(shuō),在封裝客戶端應(yīng)用功能模塊時(shí),不需要關(guān)注這些關(guān)聯(lián)。對(duì)于頁(yè)面服務(wù)或者產(chǎn)品功能模塊,需要注意。例如,在封裝前端應(yīng)用時(shí),需要注意用戶界面與頁(yè)面服務(wù)的關(guān)聯(lián),保證交互體驗(yàn)的流暢性,降低用戶訪問(wèn)成本。
三、常見(jiàn)的封裝方式及應(yīng)用場(chǎng)景
應(yīng)用場(chǎng)景:在網(wǎng)站中,我們可以看到很多不同的模塊,比如:首頁(yè)、主界面等,這是因?yàn)檫@些模塊之間存在耦合關(guān)系,所以需要通過(guò)封裝來(lái)實(shí)現(xiàn)。比如在瀏覽器中搜索某個(gè)網(wǎng)站時(shí),會(huì)自動(dòng)跳出這個(gè)頁(yè)面。但是這個(gè)頁(yè)面在瀏覽器上會(huì)被限制,無(wú)法通過(guò)移動(dòng)設(shè)備訪問(wèn)。因此需要對(duì)其進(jìn)行封裝,將這些模塊與其他組件關(guān)聯(lián)起來(lái),實(shí)現(xiàn)交互功能。
封裝效果圖
特征
1、無(wú)需配置Android開(kāi)發(fā)環(huán)境和下載Android SDK、JAVA環(huán)境等。
2.打包的本地靜態(tài)HTML項(xiàng)目可以脫離服務(wù)器運(yùn)行
3.支持自定義圖標(biāo)、自定義APP名稱、自定義包名、全屏、橫屏、退出提示、常亮等選項(xiàng)
4.支持的瀏覽器特性,支持KRPano全景工程、WebGL工程、游戲工程等。
5.支持打包網(wǎng)站
軟件截圖
包裝過(guò)程
1.填寫(xiě)要打包的網(wǎng)址或選擇本地文件
1)打包網(wǎng)站
在“網(wǎng)址或本地HTML路徑”文本框中輸入以http開(kāi)頭的網(wǎng)址,例如輸入
2)打包本地HTML項(xiàng)目
點(diǎn)擊右側(cè)打開(kāi)文件按鈕,選擇打開(kāi)HTML文件
2.可以修改APP名稱和APP包名(可選)
圖4
暗示:
APP名稱為應(yīng)用安裝時(shí)在手機(jī)桌面顯示的名稱
APP包名對(duì)應(yīng)APK的ID,用于區(qū)分不同的APP。具有相同 ID 的 APK 文件將在安裝過(guò)程中被覆蓋
3.點(diǎn)擊修改圖標(biāo)修改APK在手機(jī)上顯示的圖標(biāo)。
圖5
4.可以設(shè)置開(kāi)機(jī)密碼。設(shè)置開(kāi)啟密碼后,手機(jī)端打開(kāi)APP時(shí),必須輸入密碼才能正常進(jìn)入APP。
圖6
5.所有設(shè)置完成后,點(diǎn)擊Pack APK生成APK。打包完成后,安裝到手機(jī)即可瀏覽
APK解決誤報(bào)病毒問(wèn)題(1.5.9版本新增)
由于打包后的APK未在國(guó)內(nèi)APP市場(chǎng)上市,1.5.9版本之前使用的是共享簽名證書(shū)。因此,在部分手機(jī)系統(tǒng)上,1.5.9版本之前打包的APK偶爾會(huì)出現(xiàn)誤報(bào)。
為了解決這個(gè)問(wèn)題,打包軟件1.5.9版本后,提供了內(nèi)置獨(dú)立簽名證書(shū)的功能,支持用戶隨時(shí)重置簽名證書(shū)。
如果內(nèi)置獨(dú)立簽名證書(shū)被誤報(bào)為有毒,可以使用以下方法重置內(nèi)置獨(dú)立簽名證書(shū):
打開(kāi)軟件等待加載完成,點(diǎn)擊重置證書(shū)按鈕,會(huì)提示重置成功:
圖7
配置說(shuō)明
圖8
1.“顯示標(biāo)題欄”配置
勾選“Show title”后,即可配置APK的標(biāo)題欄,顯示標(biāo)題欄的應(yīng)用如下圖所示
圖9
2.“調(diào)試信息”選項(xiàng)
打開(kāi)“調(diào)試信息”選項(xiàng)后,APP運(yùn)行過(guò)程中會(huì)顯示一些調(diào)試信息,在一些支持的網(wǎng)頁(yè)中會(huì)顯示一個(gè)調(diào)試面板,打開(kāi)可以查看網(wǎng)站的調(diào)試信息,可以用于解決網(wǎng)頁(yè)中的問(wèn)題
3.全屏選項(xiàng)
勾選全屏選項(xiàng)后,狀態(tài)欄不會(huì)出現(xiàn),全屏顯示當(dāng)前網(wǎng)頁(yè)
4.橫向選項(xiàng)
勾選后打開(kāi)APP,默認(rèn)是橫屏
5.退出提示選項(xiàng)
勾選后,當(dāng)用戶按回車鍵退出程序時(shí),會(huì)出現(xiàn)提示對(duì)話框,如下圖
圖10
6.進(jìn)度條選項(xiàng)
勾選進(jìn)度條選項(xiàng)后,當(dāng)用戶打開(kāi)網(wǎng)頁(yè)時(shí),頂部會(huì)顯示加載進(jìn)度條
7.瀏覽按鈕
勾選后APP底部會(huì)增加一列導(dǎo)航按鈕,支持前進(jìn)、后退、刷新、返回首頁(yè)
圖11
8.啟動(dòng)圖像
勾選后,可以選擇一張本地圖片作為啟動(dòng)圖片,推薦尺寸為720*1280。
開(kāi)機(jī)畫(huà)面會(huì)根據(jù)系統(tǒng)分辨率進(jìn)行裁剪,所以建議將開(kāi)機(jī)畫(huà)面的內(nèi)容放在畫(huà)面中央,以免被裁剪。
9.禁用緩存
經(jīng)檢查,APK將不再使用緩存,每次打開(kāi)都會(huì)加載的網(wǎng)頁(yè)。如果打包的網(wǎng)站經(jīng)常更新,建議勾選這個(gè)選項(xiàng)
10.瀏覽器打開(kāi)外部鏈接
勾選后,外部鏈接會(huì)調(diào)用安卓瀏覽器打開(kāi)。
11.API支持
勾選后,可以通過(guò)js調(diào)用以下的API
退出APP: HTMLAPKPackerHelper.quitApp()
刷新當(dāng)前頁(yè)面: HTMLAPKPackerHelper.refreshPage()
12. 支持左右滑動(dòng)
勾選后,可以通過(guò)左右滑動(dòng)返回上一頁(yè),或者前進(jìn)到下一頁(yè)。(如果你的網(wǎng)頁(yè)里有手寫(xiě)等功能,不建議開(kāi)啟此功能,否則會(huì)導(dǎo)致手寫(xiě)過(guò)程中網(wǎng)頁(yè)返回或者前進(jìn)到下一頁(yè))
13. 定位權(quán)限
開(kāi)啟后,可以在網(wǎng)頁(yè)中通過(guò)js獲取定位信息,如果網(wǎng)頁(yè)里沒(méi)有該功能,可以不開(kāi)啟
14.相機(jī)權(quán)限
開(kāi)啟后,可以在網(wǎng)頁(yè)中使用相機(jī)拍照上傳,如果網(wǎng)頁(yè)里沒(méi)有該功能,可以不開(kāi)啟
15.存儲(chǔ)權(quán)限
開(kāi)啟后,可以在網(wǎng)頁(yè)里下載文件,如果網(wǎng)頁(yè)里沒(méi)有該功能,可以不開(kāi)啟
16.使用新內(nèi)核
開(kāi)啟后,將使用新的打包內(nèi)核進(jìn)行打包,支持的系統(tǒng)和更多的功能,推薦使用該選擇,后續(xù)版本老內(nèi)核將會(huì)不再使用
17.下拉刷新
勾選后,