54
Berit Hlubek - @berit_jensen Working with Atomic Design When code becomes a living style guide

Working with Atomic Design

Embed Size (px)

DESCRIPTION

When code becomes a living style guide. An introduction to the ideas of atomic design, an atomic design workflow, the usage in a real live project and Pattern Lab.

Citation preview

Page 1: Working with Atomic Design

Berit Hlubek - @berit_jensen

Working withAtomic Design

When code becomes a living style guide

Page 2: Working with Atomic Design

Photo: Andreas Thomsen, Owner: Lotta Katrina Hinz

Page 4: Working with Atomic Design

http://web.archive.org/web/20010609090954/http://www.apple.com

Page 5: Working with Atomic Design

Static webdesignsBuilt for specific screen resolutions

Page 6: Working with Atomic Design
Page 7: Working with Atomic Design
Page 8: Working with Atomic Design

Android screen sizes - 2013

http://opensignal.com/reports/fragmentation-2013

Page 9: Working with Atomic Design

We have to re-think our design workflow

Page 10: Working with Atomic Design

„We’re not designing pages, we’re designing systems of

components.“

— Stephen Hay, 2012

Page 11: Working with Atomic Design

Atomic designA methodology for crafting design systems

Illustrations: http://bradfrostweb.com/blog/post/atomic-web-design

Page 12: Working with Atomic Design

Atoms

Page 13: Working with Atomic Design

Molecules

Page 14: Working with Atomic Design

Organisms

Page 15: Working with Atomic Design

Templates

Page 16: Working with Atomic Design

Page

Page 17: Working with Atomic Design

Giving things a nameAtoms, molecules, organisms, templates, pages

Page 18: Working with Atomic Design

In practice ...?

Page 19: Working with Atomic Design

A perfect Atomic Design workflow

Page 20: Working with Atomic Design
Page 21: Working with Atomic Design

Two possible waysPhotoshop or Prototyping

Page 22: Working with Atomic Design

Create different componentsFrom atoms and molecules to organisms

Page 23: Working with Atomic Design

What‘s next?Depends! Templates & Pages or Development

Page 24: Working with Atomic Design

Keep the atomic design ideaAlso for the frontend development phase

Page 25: Working with Atomic Design

This one big projectAnd we did the same as always...

Page 26: Working with Atomic Design
Page 27: Working with Atomic Design

Design ➞ BrowserNow something had to change

Page 28: Working with Atomic Design
Page 29: Working with Atomic Design

Use atomic designWell at least for the frontend

Page 30: Working with Atomic Design

Living style guide!How to easily achieve that?

Page 31: Working with Atomic Design

Pattern LabToolkit to create atomic design systems

http://patternlab.io

Page 32: Working with Atomic Design

Static site generatorStitching components together to templates/pages

Page 33: Working with Atomic Design

Component LibraryYour living style guide

Page 34: Working with Atomic Design

Viewport Resizer

Page 35: Working with Atomic Design

... and a lot moreHave a look at: http://patternlab.io

Page 36: Working with Atomic Design

Short demohttp://demo.patternlab.io

Page 37: Working with Atomic Design

Back to the project workflow...

Page 38: Working with Atomic Design

Extract componentsDefine atoms, molecules and organisms

Page 39: Working with Atomic Design

From small to bigger chunksAlready had the CMS in mind

Page 40: Working with Atomic Design

Mustache TemplatesA simple atom with two variables

<a href="#" class="link-all {{ more-classes }}"> {{ linktext }}</a>

Page 41: Working with Atomic Design

Mustache Templates

A simple atom with two variables

<a href="#" class="link-all {{ more-classes }}"> {{ linktext }}</a>

Page 42: Working with Atomic Design

Mustache Templates

A molecule with a loop

<ul class="teaser-list">! {{# teaserlist}}! ! <li>! ! ! <a href="#">{{ text }}</a>! ! </li>! {{/ teaserlist}}</ul>

Page 43: Working with Atomic Design

Mustache Templates

A molecule with a loop

<ul class="teaser-list">! {{# teaserlist}}! ! <li>! ! ! <a href="#">{{ text }}</a>! ! </li>! {{/ teaserlist}}</ul>

Page 44: Working with Atomic Design

Mustache TemplatesAn organism with variables and includes

<h2>{{ teaserheader }}</h2>{{> molecules-teaser-latest}}{{> molecules-teaser-list}}{{> atoms-link-all(linktext: All News)}}

Page 45: Working with Atomic Design

Mustache TemplatesAn organism with variables and includes

<h2>{{ teaserheader }}</h2>{{> molecules-teaser-latest}}{{> molecules-teaser-list}}{{> atoms-link-all(linktext: All News)}}

Page 46: Working with Atomic Design

Yet another demoKirche Hamburg Pattern Lab System

Page 47: Working with Atomic Design

Drawbacks? Any?Sure, no solution is perfect

Page 48: Working with Atomic Design

Have to get used to itSometimes hard to define molecules, organisms ...

Page 49: Working with Atomic Design

Hard to start with atomsStart with molecules and organisms instead

Page 50: Working with Atomic Design

Double markupYour HTML lives at multiple places

Page 51: Working with Atomic Design

DisciplineEveryone has to follow the rules

Page 52: Working with Atomic Design

Berit Hlubek@berit_jensen

networkteam [email protected]

Phot

o: D

anie

l Lie

nert

Page 53: Working with Atomic Design

Thanks!Questions?