Adaptive Karten: ÜbersichtAdaptive Cards Overview

Adaptive Karten sind ein offenes Kartenaustauschformat, mit dem Entwickler UI-Inhalte auf einheitliche und konsistente Weise austauschen können.Adaptive Cards are an open card exchange format enabling developers to exchange UI content in a common and consistent way.

FunktionsweiseHow they work

Kartenautoren beschreiben ihre Inhalte als ein einfaches JSON-Objekt.Card Authors describe their content as a simple JSON object. Dieser Inhalt kann dann systemintern in einer Hostanwendung gerendert werden und passt sich automatisch an das Erscheinungsbild des Hosts an.That content can then be rendered natively inside a Host Application, automatically adapting to the look and feel of the Host.

Contoso Bot kann beispielsweise eine adaptive Karte über Bot Framework erstellen, die bei der Übermittlung an Skype das Erscheinungsbild einer Skype-Karte annimmt.For example, Contoso Bot can author an Adaptive Card through the Bot Framework, and when delivered to Skype, it will look and feel like a Skype card. Wenn die gleiche Nutzlast an Microsoft Teams gesendet wird, nimmt die das Erscheinungsbild von Microsoft Teams an.When that same payload is sent to Microsoft Teams, it will look and feel like Microsoft Teams. Da immer mehr Host-Apps beginnen, Adaptive Karten zu unterstützen, wird dieselbe Nutzlast automatisch in diesen Anwendungen bereitgestellt, wobei die Darstellung wie speziell für die jeweilige App konzipiert erscheint.As more host apps start to support Adaptive Cards, that same payload will automatically light up inside these applications, yet still feel entirely native to the app.

Benutzer haben den Vorteil, dass sich alles vertraut anfühlt.Users win because everything feels familiar. Hosts haben den Vorteil, die Benutzerfreundlichkeit steuern zu können.Host apps win because they control the user experience. Und Kartenautoren haben den Vorteil, dass ihre Inhalte ohne zusätzlichen Aufwand eine größere Reichweite erhalten.And Card Authors win because their content gets broader reach without any additional work.

ZieleGoals

Ziele für Adaptive Karten:The goals for Adaptive Cards are:

  • Portierbar zu jeder App, jedem Gerät und jedem BenutzeroberflächenframeworkPortable - To any app, device, and UI framework
  • Offen: Bibliotheken und das Schema sind Open Source und freigegeben.Open - Libraries and schema are open source and shared
  • Niedrige Kosten: Einfach zu definieren und einfach zu nutzenLow cost - Easy to define, easy to consume
  • Ausdrucksstark: Ausgerichtet auf die lange Reihe von Inhalten, die Entwickler erstellen möchtenExpressive - Targeted at the long tail of content that developers want to produce
  • Rein deklarativ: Code ist nicht erforderlich oder zulässig.Purely declarative - No code is needed or allowed
  • Automatisch formatiert: angepasst an die Benutzeroberfläche der Hostanwendung und MarkenrichtlinienAutomatically styled - To the Host application UX and brand guidelines

Für KartenautorenFor Card Authors

Adaptive Karten eignen sich hervorragend für Kartenautoren:Adaptive Cards are great for card authors:

  • Ein Schema: Sie arbeiten mit nur einem Format, sodass die Kosten für das Erstellen einer Karte minimiert und die Anzahl der Verwendungsmöglichkeiten maximiert werden.One schema - You get a single format, minimizing the cost of creating a card and maximizing the number of places it can be used.
  • Umfangreicherer Ausdruck:Ihr Inhalt kann besser daran ausgerichtet werden, was Sie sagen möchten, da Sie über eine reichhaltigere Palette an Nuancen verfügen.Richer expression - Your content can more closely align with want you want to say because you have a richer palette to paint with.
  • Große Reichweite: Ihre Inhalte funktionieren für eine breitere Gruppe von Anwendungen, ohne dass Sie neue Schemata erlernen müssen.Broad reach - Your content will work across a broader set of applications without you having to learn new schemas.
  • Eingabesteuerelemente: Ihre Karte kann Eingabesteuerelemente zum Erfassen von Informationen zum Benutzer beinhalten, der die Karte anzeigt.Input controls - Your card can include input controls for gathering information from the user that is viewing the card.
  • Bessere Tools: Ein offenes Karten-Ökosystem bedeutet bessere Tools, die von allen gemeinsam verwendet werden.Better tooling - An open card ecosystem means better tooling that is shared by everyone.

Für Besitzer von BenutzerumgebungenFor Experience Owners

Wenn Sie ein App-Entwickler sind, der ein Ökosystem mit Inhalten von Drittanbietern nutzen möchte, werden Sie Adaptive Karten lieben:If you are an app developer who wants to tap into an ecosystem of third-party content you will love Adaptive Cards because:

  • Einheitliche Benutzerumgebung: Sie garantieren eine einheitliche Umgebung für Ihre Benutzer, da Sie die Formatvorlagen der gerenderten Karte besitzen.Consistent user experience - You guarantee a consistent experience for your users, because you own the style of the rendered card.
  • Native Leistung: Sie profitieren von nativer Leistung, da sie direkt auf Ihr Benutzeroberflächenframework ausgerichtet ist.Native performance - You get native performance as it targets your UI framework directly.
  • Sicher: Inhalte werden über sichere Nutzlasten bereitgestellt, sodass Sie Ihr Benutzeroberflächenframework nicht für Rohmarkup und -skripting öffnen müssen.Safe - Content is delivered in safe payloads so you don't have to open up your UI framework to raw markup and scripting.
  • Einfache Implementierung: Sie erhalten vordefinierte Bibliotheken, die mühelos auf jeder von Ihnen unterstützten Plattform integriert werden können.Easy to implement - You get off the shelf libraries to easily integrate on any platform you support
  • Kostenlose Dokumentation: Sie sparen Zeit, weil Sie kein proprietäres Schema entwerfen, implementieren und dokumentieren müssen.Free documentation - You save time because you don't have to invent, implement, and document a proprietary schema.
  • Freigegebene Tools: Sie sparen Zeit, da Sie keine benutzerdefinierten Tools erstellen müssen.Shared tooling - You save time because you don't have to create custom tooling.

Wichtigste DesignprinzipienCore Design Principles

Adaptive Karten werden durch eine Reihe von Leitprinzipien gesteuert, die sich für die Einhaltung des Designs als nützlich erwiesen haben.Adaptive Cards are driven by a set of guiding principles that have been useful for keeping the design on track.

Semantik statt PixelpräzisionSemantic instead of pixel-perfect

Wir haben uns beim Layout so stark wie möglich um semantische Werte und Konzepte im Gegensatz zu reiner Pixelperfektion bemüht.We have striven as much as possible for semantic values and concepts as opposed to pure pixel-perfect layout. Beispiele für semantische Ausdrücke finden sich in Farben, Größen und Elementen wie „FactSet“ und „ImageSet“.Examples of semantic expression show up in colors, sizes, and in elements like FactSet and ImageSet. Diese ermöglichen es der Host-Anwendung, bessere Entscheidungen über das tatsächliche Erscheinungsbild zu treffen.These all allow the host application to make better decisions about the actual look and feel.

Kartenautoren besitzen den Inhalt, die Host-App das Erscheinungsbild.Card Authors own the content, Host App owns the look and feel

Die Kartenautoren besitzen ihre beabsichtigte Aussage, die anzeigende Anwendung besitzt jedoch Erscheinungsbild der Karte im Kontext ihrer Anwendung.The card authors own what they want to say, but the application displaying it owns the look and feel of the card in the context of their application.

Halten Sie es einfach, aber ausdrucksstark.Keep it simple, but expressive

Wir möchten, dass Adaptive Karten ausdrucksstark und universell einsetzbar sind, möchten aber kein Benutzeroberflächenframework erstellen.We want Adaptive Cards to be expressive and general purpose, but we don't want to build a UI framework. Das Ziel ist die Erstellung einer Zwischenebene, die „aussagekräftig genug“ ist, so wie Markdown aussagekräftig genug für Dokumente ist.The goal is to create an intermediate layer which is "expressive enough" in the same way Markdown is expressive enough for documents.

Durch den Schwerpunkt auf Einfachheit und Aussagekraft hat Markdown eine einfache und konsistente Beschreibung von Dokumentinhalt erstellt.By focusing on keeping it simple and expressive, Markdown created an easy and consistent description of document content. Wir sind der Meinung, dass Adaptive Karten auf die gleiche Weise ein einfaches, ausdrucksstarkes Mittel zur Beschreibung von Karteninhalten darstellen können.In the same way, we believe that Adaptive Cards can create a simple, expressive means of describing card content.

Im Zweifelsfall weglassenWhen in doubt, keep it out

Es ist einfacher, etwas nachträglich hinzuzufügen, als mit einem Fehler zu leben.It is easier to add later than it is to live with a mistake. Wenn wir darüber diskutiert haben, ob wir etwas hinzufügen sollten oder nicht, haben wir uns entschieden, es wegzulassen. Es ist immer einfacher, eine Eigenschaft hinzuzufügen, als mit einer Vorgängerversion zu leben, von der wir uns wünschen, dass wir sie nicht unterstützen müssten.If we found ourselves debating whether we should add something or not, we opted to leave it out. It is always easier to add a property than to live with a legacy we wish we didn't have to support.

Build 2019-SitzungBuild 2019 Session

In der folgenden Sitzung auf der Microsoft Build-Konferenz werden Adaptive Karten in einer Vielzahl von Anwendungsfällen präsentiert.The following session at the Microsoft Build conference showcases Adaptive Cards in a variety of use cases.