Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Nicolas Gallagher @necolas Thinking beyond “Scalable CSS”
Slide 2
Slide 2 text
No content
Slide 3
Slide 3 text
Artwork by Adele Palmquist
Slide 4
Slide 4 text
Artwork by Rachel Schragis
Slide 5
Slide 5 text
CSS junkies
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
“We cannot solve our problems with the same thinking we used when we created them. Albert Einstein
Slide 8
Slide 8 text
Scalable UI design
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
UI components
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
Tweet (fragment tree) Photo (fragment tree)
Slide 14
Slide 14 text
Tweet (rendered composite tree)
Slide 15
Slide 15 text
var $size = this.props.size; var $src = this.props.src var $content = this.props.content; !
{$content}
Slide 16
Slide 16 text
// ui-Homepage/index.js ! var Attribution = require('ui-Attribution'); var Photo = require('ui-Photo'); ! Half-Dome in Yosemite National Park
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
/** @define Photo */ ! /* root */ .Photo {} ! /* modifier */ .Photo--large {} ! /* private tree */ .Photo-crop {} .Photo-caption {}
Slide 20
Slide 20 text
/** @define Photo; use strict */ ! /* root */ .Photo {} ! /* modifier */ .Photo—-large .Attribution {} ! /* private tree */ .Photo-crop {} .Photo-caption {} BUILD ERROR postcss-bem-linter
Slide 21
Slide 21 text
// ui-Photo/index.js ! // css-only dependencies // (extracted by webpack) require('suitcss-utils-display'); require('./index.css'); ! var Photo = function () {}; ! module.exports = Photo;
Slide 22
Slide 22 text
Architecture & the file system
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
web_modules ├── character-counter ├── store-product ├── ui-Attribution ├── ui-Button ├── ui-HomePage ├── ui-Photo ├── ui-ProgressBar └── ui-ReplyBox
Slide 25
Slide 25 text
web_modules ├── character-counter ├── store-product ├── ui-Attribution ├── ui-Button ├── ui-HomePage ├── ui-Photo ├── ui-ProgressBar └── ui-ReplyBox
Slide 26
Slide 26 text
web_modules/ui-Photo ├── lib ├── test ├── index.css ├── index.js ├── OWNERS └── README
Slide 27
Slide 27 text
web_modules/ui-Photo ├── lib ├── test ├── index.css ├── index.js ├── OWNERS └── README
Slide 28
Slide 28 text
Empathy & automation
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
Artwork by npr
Slide 31
Slide 31 text
“…scientific and technical work is made invisible by its own success. Bruno Latour (Sociologist of science)
Slide 32
Slide 32 text
Nicolas Gallagher @necolas Merci!