Wofür es eigentlich gedacht war
Atomic Design schlug vor, Interfaces als Hierarchie zu verstehen: Atome (ein Label, ein Input, ein Button), Moleküle (ein Suchformular), Organismen (ein Site-Header), Templates (Layout auf Seitenebene ohne Inhalt) und Pages (ein Template mit tatsächlichem Inhalt).
Es lohnt sich, den Kontext zu betrachten. Im Jahr 2013 war die meiste Front-End-Arbeit seitenbasiert. Designer lieferten Comps einzelner Seiten; Entwickler bauten einzelne Seiten; derselbe Button existierte in elf leicht unterschiedlichen Formen, und niemand hatte einen Namen für dieses Problem. Atomic Design gab Teams ein gemeinsames Vokabular und, was noch wichtiger war, das Argument, dass Interfaces aus einem System zusammengesetzt werden sollten, anstatt sie Seite für Seite zu zeichnen.
Dieses Argument hat vollständig gesiegt. Jedes komponentenbasierte Framework, jedes Designsystem und jede derzeit verwendete Token-Ebene setzt dies voraus. Wenn Leute sagen, Atomic Design sei tot, meinen sie meist, dass seine Schlussfolgerung zum Standard wurde und seine Terminologie optional wurde – und genau so sieht der Sieg für eine Methodik aus.
Die Schlussfolgerung von Atomic Design wurde zum Standard und seine Terminologie wurde optional. Das ist es, was ein Sieg für eine Methodik bedeutet.
Welche Ebenen ihren Platz verdienen
Die fünf Ebenen sind nicht gleichermaßen nützlich, und die Behauptung, dies seien sie, kostet Teams Zeit. Sortiert nach dem Grad der Diskussionen pro Einheit an Mehrwert:
| Wert | Kosten | |
|---|---|---|
| Atome | Hoch. Ein Button, ein Input, ein Label: Hier herrscht Einigkeit | Niedrig. Die Grenze ist offensichtlich |
| Moleküle | Niedrig. Die Kategorie existiert primär, um zwischen zwei anderen zu stehen | Hoch. Jedes Team diskutiert permanent darüber |
| Organismen | Hoch. Ein Header, eine Card, eine Datentabelle: bedeutungsvolle Einheiten | Mittel. Die Grenze zu den Molekülen ist auch von dieser Seite aus unscharf |
| Templates | Hoch. Layout ohne Inhalt ist eine wirklich nützliche Abstraktion | Niedrig, und mittlerweile größtenteils von Framework-Layout-Primitiven ersetzt |
| Seiten | Hoch. Echte Inhalte decken die Fehler im Template auf | Niedrig |
Die Diskussion über die „Molekül-Zeile“ ist keine bloße Pedanterie. Fragt man fünf Engineers, ob eine Karte mit Bild, Titel und Button ein Molekül oder ein Organismus ist, führt dies zu einem vierzigminütigen Gespräch ohne jegliche praktische Auswirkung. Jede Taxonomie-Ebene, deren Abgrenzung nicht schnell entschieden werden kann und die keinen Einfluss darauf hat, was gebaut wird, ist Overhead.
Eine praktische Vereinfachung, auf die die meisten Teams unabhängig voneinander kommen: Primitives (ungestylte oder minimal gestylte Bausteine), Komponenten (die Elemente, die Product Engineers tatsächlich importieren) und Layouts. Drei Ebenen, Grenzen, die in fünf Sekunden definiert sind, und die gleiche kompositorische Disziplin.
Der Trade-off der Komposition
Es gibt eine fundiertere Kritik als „die Bezeichnungen sind zu kleinteilig“ – und sie stammt von einem Team, das über die Ressourcen verfügte, Atomic Design korrekt zu implementieren, sich aber bewusst dagegen entschied.
Das Design-Team von Airbnb veröffentlichte, dass sie Komponenten nicht auf einzelnen Atomen aufbauten, sondern sie als Elemente eines lebenden Organismus behandelten: Jede Komponente hat eine Funktion und eine Persönlichkeit, wird durch einen Satz von Properties definiert und kann koexistieren sowie unabhängig evolvieren oder verschwinden. Der genannte Vorteil war die Vermeidung eines komplexen Netzwerks miteinander verknüpfter Teile.
Das ist ein echter Trade-off, keine bloße Präferenz:
| Atomare Komposition | Eigenständige Komponente | |
|---|---|---|
| Duplikation | Minimal: das ist der Punkt | Einige, bewusst akzeptiert |
| Änderung eines gemeinsamen Atoms | Wirkt sich überall aus, auch an Stellen, die niemand geprüft hat | Ändert eine einzige Sache |
| Plattformübergreifend | Schwierig. Der Atom-Baum muss überall identisch existieren | Einfacher, nur der Contract muss übereinstimmen |
| Fehlermodus | Eine Änderung führt stillschweigend zu Fehlern auf vier Oberflächen | Zwei Komponenten driften unbemerkt auseinander |
Keine der beiden Spalten ist generell korrekt. Ein Single-Platform-Webprodukt mit einer Codebasis profitiert massiv von maximaler Wiederverwendbarkeit und kann das Risiko der Propagation tragen. Ein System über vier Plattformen hinweg kann dies nicht, da der Atom-Baum in jeder Plattform identisch reproduziert werden müsste – was in der Praxis nicht geschieht. Airbnb hatte vier Plattformen.
Component specimen · Button
Folio Index
Live renderThe button primitive in Folio Index, across 4 states.
Default
Hover
Focus
Disabled
Was sich ändert, wenn ein Agent die Oberfläche zusammensetzt
Hier kommt der Teil, der wirklich neu ist und in eine unerwartete Richtung führt.
Der Hauptbeitrag von Atomic Design war ein gemeinsames Vokabular. Es ermöglichte Designern, Engineers und Produktmanagern, auf dieselbe Sache zu zeigen und dasselbe zu meinen. Ein Coding-Agent benötigt dies nicht. Er weiß bereits im Detail, was ein Button, eine Karte, eine Navigationsleiste und eine Datentabelle sind – und das über jedes Framework hinweg, das man verwendet. Das Benennungsproblem, das Atomic Design löste, existiert für einen Agenten nicht.
Was einem Agenten fehlt, liegt an ganz anderer Stelle:
| Atomic Design bietet | Der Agent benötigt tatsächlich | |
|---|---|---|
| Vokabular | Bezeichnungen für Kompositionsebenen | Bereits vorhanden. In jedem Framework |
| Struktur | Eine Hierarchie von Teilen | Nützlich, wird aber größtenteils ohnehin inferiert |
| Constraints | Nichts | Das ist die Lücke. Was ist verboten? |
| Absicht | Nichts | Wozu dient dieses Design *eigentlich*? Wer liest es? |
| Werte | Nichts: Atome sind eine Kategorie, keine Spezifikation | Die tatsächliche Skalierung, die tatsächlichen Rollen, die tatsächlichen Zahlen |
Die unteren drei Zeilen sind links leer, und das ist keine Kritik an der Methodik. Sie war nie darauf ausgelegt, sie zu füllen. Es ist ein Grund, nicht zu erwarten, dass sie bei dem aktuellen Problem hilft.
Wir haben 299 DESIGN.md Dateien untersucht, die geschrieben wurden, um Agenten Design-Anleitungen zu geben, und die Leere zeigt sich auch dort. 76 % enthalten keinerlei Verbote. 86 % geben Farben als rohe Hex-Werte ohne semantische Rolle an. 57 % definieren keine markanten Motive. 44 % enthalten nirgendwo einen konkreten Größenwert, und 54 % verlassen sich auf mindestens ein vages Adjektiv: „clean“ in 39 %, „modern“ in 36 %.
Eine Datei, die tadellos nach Atomen, Molekülen und Organismen organisiert ist, aber keines von dem enthält, wird eine gut strukturierte, generische Benutzeroberfläche erzeugen. Die Taxonomie war nie die bindende Einschränkung.
Die spezifische Falle: Teams betrachten „Wir haben eine Komponenten-Hierarchie“ als Beweis dafür, dass das Designsystem agentenbereit ist. Es ist ein Beweis für eine gute Codestruktur. Fragen Sie stattdessen, ob ein Agent, der Ihr System liest, sagen könnte, was verboten ist – und meistens lautet die Antwort: nichts.
Was es ersetzt
Nicht eine neue Taxonomie. Der nützliche Schritt besteht darin, die kompositorische Disziplin beizubehalten, die ohnehin jeder besitzt, und die Ebenen hinzuzufügen, die Atomic Design nie abgedeckt hat.
- 1
Behalten Sie die Hierarchie bei, lassen Sie die Debatte sein
Primitives, Komponenten, Layouts. Drei Ebenen, sofort entscheidbar. Wenn Ihr Team sich bereits auf Atome/Moleküle/Organismen geeinigt hat und es nichts kostet, behalten Sie es bei. Die Labels sind nicht das Problem, die Diskussion darüber.
- 2
Definieren Sie Komponenten durch Verträge, nicht durch Komposition
Schreiben Sie erforderliche Elemente, optionale Elemente und Eigenschaften auf. „Eine Card benötigt einen Titel und einen Begleittext, optional ein Bild, ein Badge und eine Footer-Aktion.“ Diese Aussage übersteht jede Implementierung, auch eine, die von einem Agenten in einem Framework geschrieben wurde, das Sie nicht vorhergesehen haben.
- 3
Fügen Sie die Constraint-Ebene hinzu
Die Liste der Dinge, die niemals getan werden dürfen. Keine Verläufe, keine Schatten-Elevation, keine Schriftstärke über 600, keine Farben außerhalb des Token-Sets. Dies ist die Ebene, die den generierten Output am stärksten verändert, und die Ebene, die die meisten Systeme nicht besitzen.
- 4
Fügen Sie die Intent-Ebene hinzu
Wozu das Design dient und wer es liest. Ein präzises Werkzeug für Menschen, die den ganzen Tag darin arbeiten, und eine Marketing-Seite, die jemand für vierzig Sekunden scannt, erfordern entgegengesetzte Entscheidungen, und keine Komponenten-Hierarchie kodiert, für welchen Fall man sich entscheidet.
Schritt zwei ist es wert, vertieft zu werden, da dies der Teil ist, der sich am besten auf agentengeschriebenen Code übertragen lässt. Ein Vertrag ist von jeder Implementierung erfüllbar; ein Kompositionsbaum kann nur erfüllt werden, indem man den Baum exakt reproduziert. Wenn der Implementierer ein Modell ist, das möglicherweise eine andere Struktur wählt als Sie, hält ein Vertrag stand, ein Baum hingegen nicht.
## Card
Required: title, supporting text
Optional: image, badge, footer action
Contains its own bottom divider; hidden when last in a list.
Padding 16px. Radius 12px. Border 1px --border-subtle.
Never uses a drop shadow — elevation is a surface step.
Never uses the accent colour for its border or background.Neun Zeilen, und jede einzelne ist überprüfbar. Beachten Sie, wie viel davon aus Verboten besteht. Dieses Verhältnis ist der Unterschied zwischen einer Spezifikation und einer Beschreibung.
Identity Forge Design-Kits sind als diese Art von Vertrag aufgebaut (semantische Farbrole für Light und Dark, Typografie- und Spacing-Skalen, Motive sowie explizite Do's und Don'ts), serialisiert in einer DESIGN.md, die ein Agent liest, bevor er etwas schreibt. Durchsuchen Sie die Kits oder beginnen Sie mit was eine DESIGN.md Datei ist.
Ist Atomic Design also tot?
Nein, und die Einordnung ist unhilfreich. Atomic Design hat das Argument vorgebracht, dass Benutzeroberflächen zusammengesetzte Systeme sind. Dieses Argument ist mittlerweile so gründlich akzeptiert, dass es unsichtbar ist. Es ist in React eingebaut, in jedem Design-Tool, in jedem Designsystem, das seitdem veröffentlicht wurde. Sie können es nicht verwerfen, weil Sie bereits darin leben.
Abgelaufen ist die Vorstellung, dass die Taxonomie das Lieferobjekt ist. Ein System, das in fünf benannten Ebenen organisiert ist und keine Constraints, keine Rollen und keine Absichtserklärung enthält, ist ein Ablagesystem. Es wird konsistente, gut strukturierte, völlig austauschbare Oberflächen erzeugen, was nie das Ziel war.
Die Arbeit, die bleibt, ist die Arbeit, die Atomic Design bewusst ausgelassen hat: zu entscheiden, wofür Ihr Design gedacht ist, was es nicht tun darf, und beides dort aufzuschreiben, wo das Tool, das Ihre Oberfläche baut, es tatsächlich lesen wird.
Ist Atomic Design noch relevant?
Die zentrale Idee ist mittlerweile die Standardannahme in jedem Komponenten-Framework und jedem Designsystem, also ja, im Sinne von: Sie verwenden es bereits. Die Fünf-Ebenen-Taxonomie ist optional, und viele Teams ziehen mehr Nutzen aus einer einfacheren Primitives/Komponenten/Layouts-Aufteilung, die die Debatten um die Abgrenzung eliminiert.
Was ist der Unterschied zwischen einem Molekül und einem Organismus?
Konventionell ist ein Molekül eine kleine Gruppe von Atomen, die als Einheit arbeiten (ein Label plus ein Input plus ein Button), und ein Organismus ist ein größerer, autonomerer Abschnitt (ein Site-Header, ein Produktkarten-Grid). In der Praxis ist die Grenze nicht so entscheidbar, dass sie das baut, was man erstellt, ändern würde – weshalb Teams darüber diskutieren und viele die Unterscheidung aufgeben.
Sollte ich Atomic Design mit AI Coding-Agents verwenden?
Es hilft weder wesentlich noch schadet es. Ein Agent weiß bereits, was ein Button und ein Header ist, sodass der Vorteil eines gemeinsamen Vokabulars entfällt. Was den Output eines Agents tatsächlich beeinflusst, ist die Ebene, die Atomic Design nie abgedeckt hat: semantische Farbrollen, konkrete Zahlenwerte für Skalen und eine explizite Liste dessen, was untersagt ist.
Warum hat Airbnb Atomic Design abgelehnt?
Die veröffentlichte Begründung war, dass die Zusammensetzung von Komponenten aus gemeinsamen Atomen ein komplexes Netzwerk miteinander verknüpfter Teile schafft. Wenn jede Komponente als in sich geschlossene Einheit mit definierten erforderlichen und optionalen Elementen behandelt wird, können sich Komponenten unabhängig voneinander entwickeln. Dies war weitaus wichtiger, da das System gleichzeitig in Swift, Kotlin und Web-Code existieren musste.
Was sollte ein Designsystem enthalten, wenn nicht eine Taxonomie?
Komponenten-Verträge (erforderliche Elemente, optionale Elemente, Properties), semantische Farbrollen statt Rohwerte, Typografie- und Spacing-Skalen mit konkreten Zahlenwerten, ein definierter Dark Mode, Motive, die die Funktion des Designs beschreiben, und eine explizite Verbotsliste. Die Hierarchie kann beibehalten werden; sie ist lediglich nicht mehr der Teil, der die eigentliche Arbeit leistet.