[TOC]
## 4.1 協同工作
多數情況下,一個團隊多人同時參與同一個小程序項目,每個角色所承擔的工作或者權限不一樣。
### 4.1.1 人員組織結構和權限分配

:-: 圖5-1 虛擬小程序項目組
* **項目管理**成員,負責統籌整個項目的進展和風險、把控小程序對外發布的節奏,
* **產品組**,提出需求,
* **設計組**,與產品討論并對需求進行抽象,設計出可視化流程與圖形,輸出設計方案。
* **開發組**,依據設計方案,進行程序代碼的編寫。代碼編寫完成后,產品組與設計組體驗小程序的整體流程。
* **測試組**,編寫測試用例并對小程序進行各種邊界測試。

:-: 圖5-2 提需求到發布小程序的流程
:-: 表5-1 小程序平臺的7種權限
| 權限 | 說明 |
| --- | --- |
| 開發者權限 | 可使用小程序開發者工具及開發版小程序進行開發 |
| 體驗者權限 | 可使用體驗版小程序 |
| 登錄 | 可登錄小程序管理后臺,無需管理員確認 |
| 數據分析 | 使用小程序數據分析功能查看小程序數據 |
| 開發管理 | 小程序提交審核、發布、回退 |
| 開發設置 | 設置小程序服務器域名、消息推送及掃描普通鏈接二維碼打開小程序 |
| 暫停服務設置 | 暫停小程序線上服務
:-: 表5-2 虛擬組織成員的權限分配
| 成員 | 權限分配 |
| --- | --- |
| 項目管理組成員 | 擁有所有權限 |
| 開發組成員 | 開發者權限 / 體驗者權限 / 數據分析 |
| 產品組成員 | 體驗者權限 / 數據分析 |
| 測試組成員 | 體驗者權限 |
>[warning] 項目管理者控制整個小程序的發布、回退、下架等敏感操作,不應把敏感操作的權限分配給不相關人員。
### 4.1.2 小程序的版本
一般的軟件開發流程,開發者編寫代碼自測開發版程序,直到程序達到一個穩定可體驗的狀態時,開發者會把這個體驗版本給到產品經理和測試人員進行體驗測試,最后修復完程序的Bug后發布供外部用戶正式使用。小程序的版本根據這個流程設計了小程序版本的概念,如表5-2所示。
:-: 表5-3 小程序的版本
| 權限 | 說明 |
| --- | --- |
| 開發版本 | 使用開發者工具,可將代碼上傳到開發版本中。 開發版本只保留每人最新的一份上傳的代碼。點擊提交審核,可將代碼提交審核。開發版本可刪除,不影響線上版本和審核中版本的代碼。|
| 體驗版本 | 可以選擇某個開發版本作為體驗版,并且選取一份體驗版。|
| 審核中版本 | 只能有一份代碼處于審核中。有審核結果后可以發布到線上,也可直接重新提交審核,覆蓋原審核版本。 |
| 線上版本 | 線上所有用戶使用的代碼版本,該版本代碼在新版本代碼發布后被覆蓋更新。|
項目是協同開發的模式,一個小程序可能同時由多個開發者進行開發,往往開發者在小程序開發者工具上編寫完代碼后需要到手機進行真機體驗,所以每個開發者擁有自己對應的一個開發版本。因為處于開發中的版本是不穩定的,開發者隨時會修改代碼覆蓋開發版。
為了讓測試和產品經理有一個完整穩定的版本可以體驗測試,小程序平臺允許把其中一個開發版本設置成體驗版。
因此建議在項目開發階段特殊分配一個開發角色,用于上傳穩定可供體驗測試的代碼,并把他上傳的開發版本設置成體驗版。
開發者需要真機調試開發版本時,可以點擊開發者工具的`預覽`按鈕,此時開發者工具會打包當前項目,并上傳到微信服務器生成一個二維碼,開發者使用當前開發身份的微信掃描二維碼就可以在手機上體驗對應的開發版本,如圖5-3所示。

:-: 圖5-3 預覽小程序開發版
在小程序管理平臺上可以選取某個開發版作為體驗版本,操作成功之后可以得到一個體驗版的二維碼,當前項目有權限的體驗者均可用其對應的微信號進行掃碼體驗。
- 微信
- 小程序
- 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列表