天天看點

探一探快應用的虛實

本文來自網易雲社群,轉載務必請注明出處。

快應用号稱是要替代微信小程式的,我們來看看,他到底是個什麼東西呢?

什麼是快應用

根據官方的說法,快應用是基于手機硬體平台的新型應用形态,标準是由主流手機廠商(小米、華為、中興、金立、聯想、魅族、努比亞、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上是無法享受到這種級别待遇的。綜合來看,快應用和小程式二者不分伯仲,開發和維護成本都不高,都在努力争取流量入口。對開發者來講,又多了一項技能,對企業來說,更多了一份可能。

百家争鳴,百花齊放,也是一件不錯的事情...

參考

  1. 快應用開發文檔: https://doc.quickapp.cn/
  2. 快應用之開發體驗紀要: https://jeffjade.com/2018/08/31/143-develop-quick-app-experience-notes/
  3. 10 大手機廠商聯手狙擊微信小程式!現在這些「快應用」怎麼樣了? https://mp.weixin.qq.com/s/ptPUla24WP_05NP-cy45VA

本文來自網易雲社群 ,經作者餘伯賢授權釋出。

網易雲免費體驗館,0成本體驗20+款雲産品!

更多網易研發、産品、營運經驗分享請通路網易雲社群。

相關文章:

【推薦】 知物由學|如何應對日益強大的零日攻擊

【推薦】 Android事件分發機制淺析(2)