本文來自網易雲社群,轉載務必請注明出處。
快應用号稱是要替代微信小程式的,我們來看看,他到底是個什麼東西呢?
什麼是快應用
根據官方的說法,快應用是基于手機硬體平台的新型應用形态,标準是由主流手機廠商(小米、華為、中興、金立、聯想、魅族、努比亞、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接口可參照: https://doc.quickapp.cn/features/
PS: 我個人覺得,官方的開發文檔是非常通俗易懂的,隻要對照着官方文檔進行開發,是沒多大問題的。
快應用 VS 小程式
既然是對标小程式的新形态,那必然要做一下比較,因為尚未走完整個流程,是以僅從初期開發體驗上來做一下分析比較:
- 開發環境:快應用需要自行安裝配置一系列環境及調試工具,而小程式隻需一個開發者工具即可,這一點小程式勝。
- 開發體驗:快應用的文法和vue1很像,而小程式有着自己一套文法規範,相對來講,快應用會更容易上手。
- 程式包大小:小程式4M,快應用1M,這一點确實有點局限,但小程式也是從1M變成4M的。
- 能力:小程式和快應用在安卓端都可以添加快捷方式到桌面,但不同的是,快應用屬于系統級應用,與微信同級,能調用更多系統級API,體驗上會更優于小程式,這一點是後者所不能比的。
- 其他:小程式上架釋出流程較為簡單,快應用需要逐家關聯開發者權限,這方面有點捉急……不過對于企業賬号已有的安卓管道來說,也沒什麼門檻。
開發技術 | 渲染方式 | 硬體資源扶持 | 系統級能力 | 桌面留存 | |
---|---|---|---|---|---|
小程式 | 前端技術棧 | webview渲染 | 有 | 強 | |
快應用 | native渲染 | 無 | 弱 |
總結
快應用在微信小程式推出并推廣一年後才出來,說白了,就是為了避免小程式一家獨大,至少在桌面級别應用争取了一些流量入口。但是,這種桌面級别的應用入口隻是在安卓下有效,iOS上是無法享受到這種級别待遇的。綜合來看,快應用和小程式二者不分伯仲,開發和維護成本都不高,都在努力争取流量入口。對開發者來講,又多了一項技能,對企業來說,更多了一份可能。
百家争鳴,百花齊放,也是一件不錯的事情...
參考
- 快應用開發文檔: https://doc.quickapp.cn/
- 快應用之開發體驗紀要: https://jeffjade.com/2018/08/31/143-develop-quick-app-experience-notes/
- 10 大手機廠商聯手狙擊微信小程式!現在這些「快應用」怎麼樣了? https://mp.weixin.qq.com/s/ptPUla24WP_05NP-cy45VA
本文來自網易雲社群 ,經作者餘伯賢授權釋出。
網易雲免費體驗館,0成本體驗20+款雲産品!
更多網易研發、産品、營運經驗分享請通路網易雲社群。
相關文章:
【推薦】 知物由學|如何應對日益強大的零日攻擊
【推薦】 Android事件分發機制淺析(2)