觀眾朋友們,大家晚上好。昨天圈子裡很多人都聽說了一個新的名詞——快應用。於是前方記者立刻了解了一下相關訊息,並初步進行了嘗試,現將資訊整理如下分享給大家。本文最先發表在豌豆公主前端研發公眾號(wfxteam)
快應用誕生背景
自從2016年底微信小程式面世以來,歷經幾次波折,目前的發展勢頭還不錯,很多工具和購物類應用都在小程式上獲得了不錯的紅利,個別拼團購物應用在今年春節期間的流量更是引起了淘寶等電商巨頭的關注。
小程式最大的優勢便是“無需安裝,即用即走”,尤其是在常規安卓手機上更能將應用圖示新增到桌面的快捷方式,這一點對手機系統的應用分發能力造成了極大地威脅,而手機廠商面對這種被撩騷的行為,肯定是無法接受的。
於是國內幾大手機廠商決定暫時擱置競爭,聯合起來奪回被小程式吞噬的地盤,而承擔此重任的便是我們今天要聊的——快應用。
快應用是什麼
瞭解誕生背景之後,我們來看看“快應用”究竟是個什麼鬼。
快應用是基於手機硬體平臺的新型應用形態...具備傳統APP完整的應用體驗,無需安裝,即點即用。
根據上面快應用官網https://www.quickapp.cn/中的介紹來看,感覺和小程式很像,但“基於手機硬體平臺”這一點更值得期待。
快應用初體驗——環境搭建
快應用的開發工具叫做hap-toolkit,基於Node環境,官方文件上建議使用NodeJS v6.11.3LTS版本,不推薦使用8.0.*版本,據稱會出現不相容問題;安裝好NodeJS後,通過下面命令安裝開發工具:
npm install -g hap-toolkit
安裝完成後檢查是否安裝成功:
hap -V
然後初始化專案:
hap init wonderfull
初始化之後,進入到專案根目錄安裝依賴包,安裝好之後便可以對專案進行編譯
npm run build / npm run watch
上面完成了開發環境搭建,下面需要做的便是手機端偵錯程式安裝,這方面要比環境搭建簡單些,只需安裝一個應用程式便解決了,這裡有一點需要注意的是,今天在安裝完偵錯程式後一直無法使用,看了下文件有相關說明,在較新的系統中會內建真實的執行環境,但是對於稍老一點的系統,我們還需要安裝一個平臺預覽版的應用程式,在此不做贅述,詳見文件。
完成上述步驟後,回到專案根目錄執行
npm run server
開啟服務,此時終端上會出現一個二維碼,通過偵錯程式掃碼即可進行安裝:
到此,我們便簡單的完成了一個快應用的demo,讓我叉會兒腰嘚瑟下,整個過程沒有太複雜的地方。快應用專案結構
如上圖,編譯後的目錄結構,我們逐個看一下幾個關鍵的目錄:
-
build目錄:是存放編譯後的檔案,裡面都是經過webpack編譯處理過的;
-
dist目錄:編譯後生成的rpk格式的程式包,可以直接傳輸到手機上安裝使用;
-
node_modules目錄:大家都比較熟悉,專案以來的庫檔案;
-
sign目錄,簽名模組;
-
src目錄是最關鍵的原始碼目錄,也就是我們主要用到的目錄,從結構上看並不陌生,和小程式基本一致,包含頁面、全域性的配置檔案manifest.json、專案公共邏輯app.ux等;
快應用框架
首先介紹下生命週期:
頁面生命週期包括 onInit、onReady、onShow、onHide、onDestroy、onBackPress、onMenuPress
App的生命週期包括 onCreate、onDestroy
熟悉小程式開發的話,這裡也沒什麼難點。
後面我們就要著重看程式碼了:
上面截圖是demo中首頁的程式碼,乍一看這TM不就是vue1的語法嗎?
驚不驚喜,意不意外?技術棧和我們平時使用的沒什麼差別,元件提供了比較豐富的選擇,並且支援webview,樣式上做了些限制和優化,事件監聽、觸發,父子元件通訊等參考vue語法即可,在介面方面,提供了更為豐富的系統級API,這一點上要比小程式更開放。
快應用vs小程式
既然是對標小程式的新形態,那必然要做一下比較,因為尚未走完整個流程,所以僅從初期開發體驗上來做一下分析比較:
-
開發環境:快應用需要自行安裝配置一系列環境及除錯工具,而小程式只需一個開發者工具即可,這一點小程式勝。
-
開發體驗:快應用的語法和vue1很像,而小程式有著自己一套語法規範,相對來講,快應用會更容易上手。
-
程式包大小:小程式4M,快應用1M,這一點確實有點侷限,但小程式也是從1M變成4M的
-
能力:小程式和快應用在安卓端都可以新增快捷方式到桌面,但不同的是,快應用屬於系統級應用,與微信同級,能呼叫更多系統級API,體驗上會更優於小程式,這一點是後者所不能比的。
-
其他:小程式上架釋出流程較為簡單,快應用需要逐家關聯開發者許可權,這方面有點捉急...不過對於企業賬號已有的安卓渠道來說,也沒什麼門檻。
昨天剛得知這個訊息時,第一反應是國內手機廠商可能只是想搞搞事情,刷一下存在感。但是今天上手體驗了一下,個人對快應用的看法還是有些變化的,綜合來看,二者不分伯仲,開發和維護成本都不高,都在努力爭取流量入口。對開發者來講,又多了一項技能,對企業來說,更多了一份可能。行業中一片和諧未必是好事,也許只有在互相叫喊著不服,互相想辦法奪取使用者,才會迸發出更多創新,更多可能。
百家爭鳴,才會百花齊放...
最後歡迎關注我們的公眾號:wfxteam