[TOC]
### 4.3.1 發布前最后的檢查
開發者在發布前常常遺漏的點:
1. 如果小程序使用到Flex布局,并且需要兼容iOS8以下系統時,請檢查上傳小程序包時,開發者工具是否已經開啟“上傳代碼時樣式自動補全”。
2. 小程序使用的服務器接口應該走HTTPS協議,并且對應的網絡域名確保已經在小程序管理平臺配置好。
3. 在測試階段不要打開小程序的調試模式進行測試,因為在調試模式下,微信不會校驗域名合法性,容易導致開發者誤以為測試通過,導致正式版小程序因為遇到非法域名無法正常工作。
4. 發布前請檢查小程序使用到的網絡接口已經在現網部署好,并且評估好服務器的機器負載情況。
當體驗版進行充分的檢查和測試后達到發布狀態,項目管理者可以在小程序平臺進行提交審核的操作,提交審核后,微信審核團隊會根據相關的運營規范進行提審小程序的審核。審核通過之后,管理者可以隨時發布自己的小程序。
### 4.3.2 發布模式
小程序提供了兩種發布模式:全量發布和分階段發布。
`全量發布`:是指當點擊發布之后,所有用戶訪問小程序時都會使用當前最新的發布版本。
`分階段發布`:是指分不同時間段來控制部分用戶使用最新的發布版本,分階段發布我們也稱為灰度發布。
一般來說,普通小程序發布時采用全量發布即可,當小程序承載的功能越來越多,使用的用戶數越來越多時,采用分階段發布是一個非常好的控制風險的辦法。因為隨著程序的復雜度提高以及影響面的擴大,新版本的代碼改動或多或少會帶來Bug,作為服務方當然不希望異常的服務狀態一下子擴散到整個用戶群體,此時應該通過分階段發布來逐步觀察服務的穩定性,再決定是否進行全量發布。
還需要留意一點,并非全量發布之后,用戶就會立即使用到最新版的小程序,這是因為微信客戶端存有舊版本小程序包緩存。用戶在使用小程序時會優先打開本地的小程序包,微信客戶端在某些特定的時機異步去更新最新的小程序包。
一般我們認為全量發布的24小時后,所有用戶才會真正使用到最新版的小程序。
### 4.3.3 小程序碼
很多場景下用戶會通過掃碼快速進入一個小程序,在小程序設計的初期,小程序平臺提供的二維碼的形式。我們發現用戶在掃一個二維碼時,他并不知道當前這次掃碼會出現什么樣的服務,因為二維碼的背后有可能是公眾號、小程序、網頁服務、支付頁面、添加好友等不同的服務。為了讓用戶在掃碼之前就有一個明確的預期,因此微信設計了小程序碼,如圖5-11所示。
:-: 
:-: 圖5-11 “小程序數據助手”的小程序碼
小程序碼在樣式上更具辨識度和視覺沖擊力,相對于二維碼來說,小程序主題的品牌形象更加清晰明顯,可以幫助開發者更好地推廣小程序。在發布小程序之后,小程序管理平臺會提供對應的小程序碼的預覽和下載,開發者可以自行下載用于線上和線下的小程序服務推廣。
- 微信
- 小程序
- 1. 代碼組成
- 1.1 JSON配置--'*.json'文件
- 1.2 WXML模板--'*.wxml'文件
- 1.3 WXSS樣式--'*.wxss'文件
- 1.4 JavaScript腳本--'*.js'文件
- 2. 客戶端運行
- 2.1 邏輯層和渲染層
- 2.1.1 邏輯層--App Service
- 2.1.2 渲染層/視圖層--View
- 2.1.3 通信模型
- 2.1.4 數據驅動
- 2.1.5 雙線程下的界面渲染
- 2.2 程序與頁面
- 2.3 組件
- 2.4 API
- 2.5 事件
- 2.6 兼容
- 3. 應用設計
- 3.1 Flex布局
- 3.2 界面常見的交互反饋
- 3.3 發起HTTPS網絡通信--wx.request
- 3.4 微信登錄
- 3.5 本地數據緩存
- 3.6 設備能力
- 4. 小程序的協同工作和發布
- 4.1 協同工作
- 4.2 用戶體驗審視
- 4.3 發布
- 4.4 運營
- 5. 底層框架
- 5.1 雙線程模型
- 5.2 組件系統--Exparser框架
- 5.3 原生組件
- 5.4 小程序與客戶端通信原理
- 6. 運行和性能優化
- 6.1 啟動--代碼加載
- 6.2 頁面準備
- 6.3 數據通信
- 6.4 視圖層渲染
- 6.5 原生組件通信
- 7. 小程序基礎庫的更新迭代
- 8. 微信開發者工具
- 騰訊云支持
- wafer
- Wafer2 快速開發 Demo - PHP
- WXAPI
- api列表