調適型卡片是一種開放卡片交換格式,可讓開發人員以通用且一致的方式交換 UI 內容。
其運作方式
卡片作者 將其內容描述為簡單的 JSON 物件。 然後,該內容可以在 主應用程式內原生轉譯,並自動適應主機的外觀和風格。
例如,Contoso Bot 可以透過 Bot Framework 撰寫調適型卡片,並在傳遞至 Skype 時,看起來和感覺就像 Skype 卡片。 當相同的承載傳送至 Microsoft Teams 時,其外觀和感覺就像Microsoft Teams。 隨著越來越多的主應用程式開始支援調適型卡片,相同的元素會自動在這些應用程式中啟用,但仍然感覺像是該應用程式的原生功能。
用戶獲勝,因為一切都感覺很熟悉。 主機應用程式會因為控制用戶體驗而獲勝。 卡片作者受益,因為他們的內容在不需要任何額外工作的情況下接觸到更廣大的群眾。
目標
調適型卡片的目標是:
- 通用 - 適用於任何應用程式、裝置和 UI 架構
- Open - 連結庫和架構為開放原始碼並共用
- 低成本 - 易於定義,容易取用
- Expressive - 以開發人員想要產生的內容長尾為目標
- 純宣告式 - 不需要或允許任何程序代碼
- 自動套用樣式 - 符合主應用程式的 UX 和品牌指南
卡片作者
Adaptive Cards 對卡片作者來說是很好的:
- 一個架構 - 您會取得單一格式,將建立卡片的成本降至最低,並將可使用的位置數目最大化。
- 更豐富的表達式 - 您的內容可以更緊密地配合您想要說的內容,因為您有更豐富的調色盤來繪製。
- 廣泛觸達 - 您的內容將可跨一組更廣泛的應用程式運作,而不需要學習新的架構。
- 輸入控制項 - 您的卡片可以包含輸入控制項,以便從檢視卡片的使用者收集資訊。
- 更好的工具 - 開放式卡片生態系統意味著每個人都共用的更好工具。
針對體驗擁有者
如果您是想要利用第三方內容生態系統的應用程式開發人員,您會喜歡調適型卡片,因為:
- 一致的用戶體驗 - 您能保證使用者擁有一致的體驗,因為您能掌控卡面呈現的樣式。
- 原生效能 - 由於是直接以您的 UI 架構為目標,您能獲得原生效能。
- 安全 - 內容會在安全承載中傳遞,因此您不需要將 UI 架構開啟為原始標記和腳本。
- 易於實作 - 您可以使用現成的程式庫,輕鬆地在支援的任一平臺上進行整合
- 免費檔 - 您不需要發明、實作及記錄專屬架構,因此可節省時間。
- 共用工具 - 您不需要建立自訂工具,因此可節省時間。
核心設計原則
調適型卡片是由一組 指導準則 所驅動,這些原則對於讓設計保持正軌很有用。
語意化而非像素完美
我們盡量爭取語義和概念,而不是僅僅追求像素完美的版面配置。 語意表達式的範例會以色彩、大小和 FactSet 和 ImageSet 等元素顯示。 這些都讓主應用程式能夠更妥善地決定實際的外觀和風格。
卡片作者擁有內容,主機應用程式擁有外觀和風格
卡片作者擁有表達內容的主導權,但在應用程式中的外觀和風格由顯示它的應用程式決定。
保持簡單,但具表現力
我們希望調適型卡片具有表達性和一般用途,但我們不想建置UI架構。 目標是建立一個中繼層,其表達能力應像 Markdown 對文件的表達能力一樣充足。
Markdown 專注於保持簡單且具表達性,建立文件內容的簡單且一致的描述。 同樣地,我們相信調適型卡片可以建立簡單的表達方式來描述卡片內容。
當有疑問時,請將其排除在外
後來添加比承受錯誤要容易得多。 如果我們發現自己在辯論我們是否應該加入一些東西,我們選擇將其排除在外。新增屬性總是比使用我們希望我們不需要支援的舊版更輕鬆。
Build 2019 會議
下列在 Microsoft Build 開發者大會中的議程會展示自適應卡片的各種使用案例。
[!視頻 [https://www.youtube.com/embed/wT1yFr_j6IM]