本文來自網易雲社群,轉載務必請註明出處。
快應用號稱是要替代微信小程式的,我們來看看,他到底是個什麼東西呢?
什麼是快應用
根據官方的說法,快應用是基於手機硬體平臺的新型應用形態,標準是由主流手機廠商(小米、華為、中興、金立、聯想、魅族、努比亞、OPPO、vivo)組成的快應用聯盟聯合制定的;快應用標準的誕生將在研發介面、能力接入、開發者服務等層面建設標準平臺,並且是以平臺化的生態模式對個人開發者和企業開發者全品類開放。
快應用的特點
快應用的特點是使用前端相關技術棧,但是使用體驗是不亞於App原生的。官方宣傳圖如下:
快應用效能優勢
官方強調,快應用的開發方式是與H5開發一致,但是效能上是要比H5要好,僅次於App原生的。
那既然快應用那麼優秀,我們開始擼碼吧!
快應用的開發
搭建環境
快應用官方提供了一個開發者工具,安裝時需要安裝 Node.js (>= 6.0)或者yarn。
npm i hap-toolkit -g// 檢測是否安裝成功hap -V複製程式碼
手機安裝「快應用」偵錯程式 ── 一個 Android 應用程式,它可以連線到手機系統內的快應用執行環境,包含掃碼安裝、本地安裝、線上更新、開始除錯、等功能;
掃碼安裝:配置 HTTP 伺服器地址,下載 rpk 包,並喚起平臺執行 rpk 包;
本地安裝:選擇手機檔案系統中的 rpk 包,並喚起平臺執行 rpk 包;
線上更新:重新傳送 HTTP 請求,更新 rpk 包,並喚起平臺執行 rpk 包;
開始除錯:喚起平臺執行 rpk 包,並啟動遠端除錯工具;備註:當您的手機系統尚未內建快應用執行平臺,或您想在開發過程中體驗快應用尚未正式釋出的新功能、新特性,您可以安裝快應用預覽版,這是一個包含了快應用基礎功能的 Android 應用程式。下載安裝成功後,通過快應用偵錯程式可以選擇在快應用預覽版執行 rpk包,開發測試對應平臺的 api 和功能。更詳細的敘述,請參見 快應用開發文件 | 環境搭建 。
開發IDE 如果是VS Code,可在擴充套件商店安裝Hap Extension,會有程式碼高亮和程式碼提示。
效果如下:
程式碼高亮:程式碼提示:
其他編輯器設定可參考:快應用開發文件 - 程式碼編輯配置
快應用示例
在安裝 Toolkit 工具後,可通過全域性 hap 命令建立一個專案模板,如下所示:
// 首先建立一個demo專案hap init quickapp-demo// 進入demo專案cd quickapp-demo// 對專案進行臨時編譯npm run build// 進行專案預覽npm run server複製程式碼
預覽後控制檯顯示如下:
快應用真機顯示:
demo專案的目錄如下:
├── sign # 儲存 rpk 包簽名模組;│ ├── debug # 除錯環境證書/私鑰檔案│ └── release # 正式環境證書/私鑰檔案└── src
│ ├── assets # 公用的資源(Images/Styles/字型...)│ │ ├──images # 儲存 png/jpg/svg 等公共圖片資源│ │ └──styles # 存放 less/css/sass 等公共樣式資源│ ├── helper # 專案自定義輔助各類工具│ │ ├──apis # 儲存與後臺請求介面相關(已封裝好)│ │ ├──ajax.js # 對系統提供的 fetch api 進行鏈式封裝│ │ └──util.js # 存放專案所需公共工具類方法│ ├── pages # 統一存放專案頁面級程式碼│ ├── app.ux # 應用程式程式碼的人口檔案│ └── manifest.json # 配置應用基本資訊└── package.json # 定義專案需要的各種模組及配置資訊複製程式碼
快應用框架
首先介紹下生命週期:
頁面生命週期 onInit、onReady、onShow、onHide、onDestroy、onBackPress、onMenuPress
App的生命週期 onCreate、onDestroy
熟悉小程式開發的話,這裡也沒什麼難點。
大家可以看一下程式碼:
頁面、元件的開發跟Vue開發沒多大差別。
其他Api介面可參照: doc.quickapp.cn/features/
PS: 我個人覺得,官方的開發文件是非常通俗易懂的,只要對照著官方文件進行開發,是沒多大問題的。
快應用 VS 小程式
既然是對標小程式的新形態,那必然要做一下比較,因為尚未走完整個流程,所以僅從初期開發體驗上來做一下分析比較:
開發環境:快應用需要自行安裝配置一系列環境及除錯工具,而小程式只需一個開發者工具即可,這一點小程式勝。
開發體驗:快應用的語法和vue1很像,而小程式有著自己一套語法規範,相對來講,快應用會更容易上手。
程式包大小:小程式4M,快應用1M,這一點確實有點侷限,但小程式也是從1M變成4M的。
能力:小程式和快應用在安卓端都可以新增快捷方式到桌面,但不同的是,快應用屬於系統級應用,與微信同級,能呼叫更多系統級API,體驗上會更優於小程式,這一點是後者所不能比的。
其他:小程式上架釋出流程較為簡單,快應用需要逐家關聯開發者許可權,這方面有點捉急……不過對於企業賬號已有的安卓渠道來說,也沒什麼門檻。
開發技術 | 渲染方式 | 硬體資源扶持 | 系統級能力 | 桌面留存 | |
---|---|---|---|---|---|
小程式 | 前端技術棧 | webview渲染 | 有 | 強 | 有 |
快應用 | 前端技術棧 | native渲染 | 無 | 弱 | 有 |
總結
快應用在微信小程式推出並推廣一年後才出來,說白了,就是為了避免小程式一家獨大,至少在桌面級別應用爭取了一些流量入口。但是,這種桌面級別的應用入口只是在安卓下有效,iOS上是無法享受到這種級別待遇的。綜合來看,快應用和小程式二者不分伯仲,開發和維護成本都不高,都在努力爭取流量入口。對開發者來講,又多了一項技能,對企業來說,更多了一份可能。
百家爭鳴,百花齊放,也是一件不錯的事情...
參考
快應用開發文件: doc.quickapp.cn/
快應用之開發體驗紀要: jeffjade.com/2018/08/31/…
10 大手機廠商聯手狙擊微信小程式!現在這些「快應用」怎麼樣了? mp.weixin.qq.com/s/ptPUla24W…
本文來自網易雲社群 ,經作者餘伯賢授權釋出。
網易雲免費體驗館,0成本體驗20+款雲產品!
更多網易研發、產品、運營經驗分享請訪問網易雲社群。
相關文章:
【推薦】 BigData-‘基於代價優化’究竟是怎麼一回事?
【推薦】 手把手帶你打造一個 Android 熱修復框架(上篇)
【推薦】 知物由學|廣告欺詐:如何應對數字廣告裡分羹者?