簡單地說快應用是國內的十大主流手機廠商好比小米、華爲、ov 等聯合推出的一種新型應用。無需安裝,秒開,體驗媲美原生。還提供了像原生應用同樣的入口:應用商店,搜索頁等。css
對於技術人員來講,多瞭解一些不一樣的技術、不一樣的開發模式、不一樣的架構、擴展本身的技術廣度,對將來的職業發展是頗有必要的。因此本人就從一個前端開發者的角度,從項目搭建開始進入,來分析一下快應用開發。html
- | 微信小程序 | 快應用 |
---|---|---|
語法規範 | 小程序開發規範 | 類vue開發規範 |
標籤集合 | 小程序標籤 | 快應用標籤 |
樣式規範 | wxss | scss、style、less |
組件化 | 無組件化機制 | 快應用組件規範 |
多端複用 | 不可複用 | 不可複用 |
自動構建 | 自己無自動構建 | webpack構建 |
上手成本 | 全新學習 | 有vue基礎便可 |
集中數據管理 | 不支持 | 不支持 |
外部依賴npm | 不支持 | 支持 |
開發調試 | 微信開發者工具 | 一系列環境及調試工具 |
├── sign rpk包簽名模塊
│ └── debug 調試環境
│ ├── certificate.pem 證書文件
│ └── private.pem 私鑰文件
├── src 項目文件夾
│ ├── Common 公用的資源和組件文件
│ │ └── logo.png 應用圖標
│ ├── Demo 頁面目錄
│ | └── index.ux 頁面文件,可自定義頁面名稱
│ ├── app.ux APP文件,可引入公共腳本,暴露公共數據和方法等
│ └── manifest.json 項目配置文件,配置應用圖標、頁面路由等
└── package.json 定義項目須要的各類模塊及配置信息
複製代碼
<template>
<!-- template裏只能有一個根節點 -->
<div class="demo-page">
<text class="title">歡迎打開{{title}}</text>
<!-- 點擊跳轉詳情頁 -->
<input class="btn" type="button" value="跳轉toplife" onclick="routeDetail('index')" />
<input class="btn" type="button" value="跳轉品牌頁" onclick="routeDetail('brands')" />
<input class="btn" type="button" value="跳轉list" onclick="routeDetail('list')" />
</div>
</template>
<style>
.demo-page {
flex-direction: column;
justify-content: center;
align-items: center;
}
.title {
font-size: 40px;
text-align: center;
}
.btn {
width: 550px;
height: 86px;
margin-top: 75px;
border-radius: 43px;
background-color: #09ba07;
font-size: 30px;
color: #ffffff;
}
</style>
<script>
import router from '@system.router'
export default {
// 頁面級組件的數據模型,影響傳入數據的覆蓋機制:private內定義的屬性不容許被覆蓋
private: {
title: 'TOPLIFE'
},
routeDetail (type = 'index') {
// 跳轉到應用內的某個頁面,router用法詳見:文檔->接口->頁面路由
router.push ({
uri: type
})
}
}
</script>
複製代碼
能夠看出ux文件是 Vue
風格的寫法.template
style
script
前端
{
"package": "com.application.demo",
"name": "helloQuickApp",
"versionName": "1.0.1",
"versionCode": "1",
"minPlatformVersion": "101",
"icon": "/Common/logo.png",
"features": [
{ "name": "system.prompt" },
{ "name": "system.router" },
{ "name": "system.shortcut" },
{ "name": "system.webview" }
],
"permissions": [
{ "origin": "*" }
],
"config": {
"logLevel": "debug"
},
"router": {
"entry": "demo",
"pages": {
"demo": {
"component": "index"
}
}
},
"display": {
"titleBarBackgroundColor": "#f2f2f2",
"titleBarTextColor": "#414141",
"menu": true,
"pages": {
"demo": {
"titleBarText": "TOPLIFE",
"menu": false
}
}
}
}
複製代碼
在開發階段進行代碼調試時,須要將config中的 logLevel
設置爲debug; display
---用於定義與UI顯示相關的配置。 詳細介紹vue
快應用支持日誌輸出,也就是傳統的console.log(),支持遠程調試,須要一部手機或者安裝Android Studio等輸出看日誌。webpack
{
 "config": {
  "logLevel": "debug"
}
}
複製代碼
console.debug('debug')
console.log('log')
console.info('info')
console.warn('warn')
console.error('error')
複製代碼
總的來講,快應用做爲一個新的入口,從發佈以來呈降低趨勢,將來還待觀察。不過近期,快應用將啓動北上廣深杭成六地巡迴,發起了線上流量扶持計劃,拿出了超過兩億的流量資源。web