觀衆朋友們,你們晚上好。昨天圈子裏不少人都據說了一個新的名詞——快應用。因而前方記者馬上了解了一下相關消息,並初步進行了嘗試,現將信息整理以下分享給你們。本文最早發表在豌豆公主前端研發公衆號(wfxteam)前端
自從2016年末微信小程序面世以來,歷經幾回波折,目前的發展勢頭還不錯,不少工具和購物類應用都在小程序上得到了不錯的紅利,個別拼團購物應用在今年春節期間的流量更是引發了淘寶等電商巨頭的關注。vue
小程序最大的優點即是「無需安裝,即用即走」,尤爲是在常規安卓手機上更能將應用圖標添加到桌面的快捷方式,這一點對手機系統的應用分發能力形成了極大地威脅,而手機廠商面對這種被撩騷的行爲,確定是沒法接受的。node
因而國內幾大手機廠商決定暫時擱置競爭,聯合起來奪回被小程序吞噬的地盤,而承擔此重任的即是咱們今天要聊的——快應用。webpack
瞭解誕生背景以後,咱們來看看「快應用」到底是個什麼鬼。web
快應用是基於手機硬件平臺的新型應用形態...具有傳統APP完整的應用體驗,無需安裝,即點即用。npm
根據上面快應用官網https://www.quickapp.cn/中的介紹來看,感受和小程序很像,但「基於手機硬件平臺」這一點更值得期待。json
快應用的開發工具叫作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,這一點上要比小程序更開放。
既然是對標小程序的新形態,那必然要作一下比較,由於還沒有走完整個流程,因此僅從初期開發體驗上來作一下分析比較:
開發環境:快應用須要自行安裝配置一系列環境及調試工具,而小程序只需一個開發者工具便可,這一點小程序勝。
開發體驗:快應用的語法和vue1很像,而小程序有着本身一套語法規範,相對來說,快應用會更容易上手。
程序包大小:小程序4M,快應用1M,這一點確實有點侷限,但小程序也是從1M變成4M的
能力:小程序和快應用在安卓端均可以添加快捷方式到桌面,但不一樣的是,快應用屬於系統級應用,與微信同級,能調用更多系統級API,體驗上會更優於小程序,這一點是後者所不能比的。
其餘:小程序上架發佈流程較爲簡單,快應用須要逐家關聯開發者權限,這方面有點捉急...不過對於企業帳號已有的安卓渠道來講,也沒什麼門檻。
昨天剛得知這個消息時,第一反應是國內手機廠商可能只是想搞搞事情,刷一下存在感。可是今天上手體驗了一下,我的對快應用的見解仍是有些變化的,綜合來看,兩者不分伯仲,開發和維護成本都不高,都在努力爭取流量入口。對開發者來說,又多了一項技能,對企業來講,更多了一份可能。行業中一片和諧未必是好事,也許只有在互相叫喊着不服,互相想辦法奪取用戶,纔會迸發出更多創新,更多可能。
百家爭鳴,纔會百花齊放...
最後歡迎關注咱們的公衆號:wfxteam