Lyne

Design System @ SBB

Yves Tscherry (FE)

Bleuer Marius (FE)

Cilurzo Manuel (UX)

Heid Sabrina (FE)

Schindler Daniel (UX)

Stürzinger Florian (UX)

Zumstein Michael (FE)

Was geht ab?

Design Tokens

From Figma To Code

1st

2nd

Theorie

Praxis 

😎

😭

1  Design Tokens

Was sind Design Tokens?

"From a purely technical point of view, design tokens are organised lists of key-value pairs that describe design decisions."

Cristiano Rastelli - Design System Lead at Bumble

Design decision

Design Token Categories

  • Colors
  • Typography: Font-size, Font-Family, ...
  • Border-radius
  • Spacings
  • ...
  • Animation properties
  • Icons
  • Sounds
  • ...

WIP... W3C Standard ist in Progress

Kontext

DESIGN SYSTEM

Design Tokens

CONSUMERS

Applications

Components (Creation Tool & Code)

Documentation

Challenge: accepted

"Design Tokens should be managed in a single Place, accessible to Designers and Developers."

Verwendung überall

(Creation Tool UND Code)

Verwaltung an einem Ort

(Creation Tool ODER Code)

Schnittstelle von der einen in die andere Welt

The web is not alone...

  • System of Systems (z.B. Spotify)
  • Vererbung
  • Ändern, Hinzufügen, Löschen von Tokens
  • Meta-Informationen
  • ....

lyne-web

lyne-native

lyne-digital

lyne-core

lyne-print

... off-topic:

2  From Figma to Code

Oder: From Figma to code to components to documentation

Start Workflow

  • Blick auf die aktuelle Dokumentation
  • Der Farbwechsel in dieser Form ist kein realistischer Use-Case

Design Token Workflow

Figma

Style Dictionary

NPM & CDN

components

documentation

... aktuell noch keine Quality-Gates (z.B. PR's)

Figma

  • Shared Team Library
  • Änderungen -> Conventional Commits
  • Tokens beliebig verschachteln
  • Zurzeit verarbeiten wir:
    • Farben
    • Icons
    • Schriftgrössen

StyleDictionary, NPM & CDN

  • Express Server empfängt Figma Webhook Request
  • Request triggert Travis Job
  • JavaScript greift Tokens von Figma Library ab
  • StyleDictionary verarbeitet die Tokens
    • CSS, SASS, LESS
    • JavaScript, JSON
  • Auf NPM und CDN veröffentlicht

Components

(Design Tokens sind via NPM installiert)

  • Travis Job wird getriggert
  • Design Tokens npm-update
  • Components werden neu gebuildet
  • Components via npm veröffentlicht
  • Storybook wird neu gebuildet
  • Storybook via Netlify veröffentlicht

Documentation

(Components und Design Tokens sind via NPM installiert)

  • Travis Job wird getriggert
  • Components npm-update
  • Design Tokens npm-update
  • Documentation mit Gridsome statisch generiert
  • Veröffentlicht auf Netlify

Extras

- Slack Notifications

- Gridsome: Static Site Generator. Server-seitig gerendertes HTML aus einer Vue App, gehostet auf Netlify

- Versionierte Storybooks & Branch-Preview Builds:
https://lyne-documentation.netlify.app/deployments/

- Documentation Roll-Back mit Netlify

Coole Tools

Thanks from Lyne

Frontend Best Pratices

By Yves Tscherry

Frontend Best Pratices

  • 406