文章來自微信公衆號:前端工坊(fe_workshop),不按期更新有趣、好玩的前端相關原創技術文章。若是喜歡,請關注公衆號:前端工坊
版權歸公衆號全部,轉載請註明出處。 做者: xdooi
什麼是快應用
- 快應用是基於手機硬件平臺的新型應用形態,標準是由主流手機廠商組成的快應用聯盟聯合制定。
- 快應用標準的誕生將在研發接口、能力接入、開發者服務等層面建設標準平臺,以平臺化的生態模式對我的開發者和企業開發者全品類開放。
- 快應用具有傳統APP完整的應用體驗,無需安裝、即點即用。
快應用和微信小程序的區別
- 開發環境:快應用須要自行安裝配置一系列環境及調試工具,而小程序只需一個開發者工具便可,這一點小程序勝。
- 開發體驗:快應用的語法和vue1很像,而小程序有着本身一套語法規範,相對來說,快應用會更容易上手。
- 程序包大小:小程序4M,快應用1M,這一點確實有點侷限,但小程序也是從1M變成4M的
- 能力:小程序和快應用在安卓端均可以添加快捷方式到桌面,但不一樣的是,快應用屬於系統級應用,與微信同級,能調用更多系統級API,體驗上會更優於小程序,這一點是後者所不能比的。
- 其餘:小程序上架發佈流程較爲簡單,快應用須要逐家關聯開發者權限,這方面有點捉急...不過對於企業帳號已有的安卓渠道來講,也沒什麼門檻。
(本段引自微信公衆號:豌豆公主前端研發)javascript
前端開發技術效率對比
快應用開發體驗
nodejs安裝
需安裝6.0以上版本的nodejs,官方推薦使用v6.11.3 LTS版本,不建議使用8.0.*版本,這個版本有不兼容,會引發報錯。html
hap-toolkit安裝
在命令行中經過npm命令行安裝hap-toolkit前端
npm install -g hap-toolkit
在命令行中輸入hap -V 會輸出版本信息表示hap-toolkit安裝成功vue
hap -V
建立一個新的項目 參考文檔
搭建好環境後,開發者就能夠利用全局hap命令建立一個項目模板,以下所示,其中<ProjectName>爲自定義的項目名稱java
hap init <ProjectName>
至此咱們已經建立了一個初始化項目了,下邊是開發中經常使用的幾個命令node
安裝npm依賴
在項目根目錄下,運行以下命令安裝依賴包web
npm install
編譯項目
在項目的根目錄下,運行以下命令進行編譯打包,生成rpk包npm
npm run build
編譯打包成功後,項目根目錄下會生成文件夾:build、dist
build:臨時產出,包含編譯後的頁面js,圖片等
dist:最終產出,包含rpk文件。實際上是將build目錄下的資源打包壓縮爲一個文件,後綴名爲rpk,這個rpk文件就是項目編譯後的最終產出小程序
自動從新編譯
若是但願每次修改源代碼文件後,都自動從新編譯項目,請使用以下命令:微信小程序
npm run watch
調試器APK是一個Android應用程序,請從站點地址下載
手機安裝平臺預覽版 參考文檔
較新的系統版本中內置平臺正式版,即真實的運行環境。然而,更新平臺正式版的時間週期較長,開發調試平臺新功能可以使用平臺預覽版
平臺預覽版APK是一個Android應用程序,請從站點地址下載
下載安裝成功後,在調試器中點擊切換運行平臺至...mockup便可在平臺預覽版上運行rpk包
知識總結與採坑之旅
- 目前支持的手機廠商:小米、華爲、金立(企業)、聯想(企業)、Flyme、努比亞(企業)、OPPO(企業)、VIVO(企業),其中小米、華爲、Flyme支持我的開發者,其餘僅支持企業開發
- 發佈一個快應用,須要在對應的廠商申請開發者帳號,同時須要在quickapp.cn註冊帳號,並綁定對應廠商的開發者帳號,才能夠發佈快應用
- 上述廠商的新版手機支持快應用,在開發預覽時候直接安裝手機調試器便可,廠商的低端機須要同時安裝平臺預覽版,才能夠進行rpk包調試,目前小米、華爲手機的調試比較順暢,其餘廠商的手機問題較多
- 已經上線的應用:餓了麼、攜程、互動百科、新浪微博、搜狐新聞、快看漫畫
- 體驗方法:對應廠商的應用市場內能夠搜索以上快應用,示例以下圖
- 提供了不少底層系統功能 傳送門
HBuilderX 開發工具體驗
順便體驗了下HBuilderX 開發工具,能夠直接將小程序轉換成快應用,不過有坑,大部分是語法的不支持,轉化過程當中會有錯誤提醒,按錯誤提醒優化後能夠直接生成rpk包。不支持的寫法以下
- 不支持-webkit-
- 不支持rgba
- 不支持#fff 和 red 等顏色值,須要用6位值
- 組件轉化會有異常,轉換中須要注意
體驗總結
- 目前開發工具等還不完善,開發調試比較繁瑣
- 場景化的快應用,適合那種用完即走的需求,太重的業務需求,暫時建議不要使用
- 目前支持的廠商和平臺還較少,能夠體驗採坑之旅