探一探快應用的虛實

weixin_34166847發表於2018-10-10

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


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

什麼是快應用

根據官方的說法,快應用是基於手機硬體平臺的新型應用形態,標準是由主流手機廠商(小米、華為、中興、金立、聯想、魅族、努比亞、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        # 定義專案需要的各種模組及配置資訊複製程式碼

快應用框架

  • 首先介紹下生命週期:

    • 頁面生命週期 onInitonReadyonShowonHideonDestroyonBackPressonMenuPress

    • App的生命週期 onCreateonDestroy

熟悉小程式開發的話,這裡也沒什麼難點。

大家可以看一下程式碼:

頁面、元件的開發跟Vue開發沒多大差別。

其他Api介面可參照: doc.quickapp.cn/features/

PS: 我個人覺得,官方的開發文件是非常通俗易懂的,只要對照著官方文件進行開發,是沒多大問題的。

快應用 VS 小程式

既然是對標小程式的新形態,那必然要做一下比較,因為尚未走完整個流程,所以僅從初期開發體驗上來做一下分析比較:

  • 開發環境:快應用需要自行安裝配置一系列環境及除錯工具,而小程式只需一個開發者工具即可,這一點小程式勝。

  • 開發體驗:快應用的語法和vue1很像,而小程式有著自己一套語法規範,相對來講,快應用會更容易上手。

  • 程式包大小:小程式4M,快應用1M,這一點確實有點侷限,但小程式也是從1M變成4M的。

  • 能力:小程式和快應用在安卓端都可以新增快捷方式到桌面,但不同的是,快應用屬於系統級應用,與微信同級,能呼叫更多系統級API,體驗上會更優於小程式,這一點是後者所不能比的。

  • 其他:小程式上架釋出流程較為簡單,快應用需要逐家關聯開發者許可權,這方面有點捉急……不過對於企業賬號已有的安卓渠道來說,也沒什麼門檻。


開發技術渲染方式硬體資源扶持系統級能力桌面留存
小程式前端技術棧webview渲染
快應用前端技術棧native渲染

總結

快應用在微信小程式推出並推廣一年後才出來,說白了,就是為了避免小程式一家獨大,至少在桌面級別應用爭取了一些流量入口。但是,這種桌面級別的應用入口只是在安卓下有效,iOS上是無法享受到這種級別待遇的。綜合來看,快應用和小程式二者不分伯仲,開發和維護成本都不高,都在努力爭取流量入口。對開發者來講,又多了一項技能,對企業來說,更多了一份可能。

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

參考

  1. 快應用開發文件: doc.quickapp.cn/

  2. 快應用之開發體驗紀要: jeffjade.com/2018/08/31/…

  3. 10 大手機廠商聯手狙擊微信小程式!現在這些「快應用」怎麼樣了? mp.weixin.qq.com/s/ptPUla24W…



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

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

更多網易研發、產品、運營經驗分享請訪問網易雲社群


相關文章:
【推薦】 BigData-‘基於代價優化’究竟是怎麼一回事?
【推薦】 手把手帶你打造一個 Android 熱修復框架(上篇)
【推薦】 知物由學|廣告欺詐:如何應對數字廣告裡分羹者?


相關文章