2. Denis Izmaylov
1. Over 17 years of Software and Web
development experience
2. The last 7 years focused exclusively on
Front-end and Web: 15+ projects,
including React.js, SPA and high-load
3. Open Source contributor
4. Talks: HighLoad++ 2015, AgileDays 2016,
DevConf 2016, React Amsterdam, etc
5. Regular speaker on MoscowJS
6. Few popular articles and interviews
on Medium and Habrahabr
7. Events: Moscow Node.js Meetup, Moscow
Kubernetes Meetup and this one
4. 1. We develop Web, Mobile
and DevOps projects for
our customers
2. Global international
market (EU, APAC, US, HK)
3. Most efficient and
performant technologies
4. More than 20 talents
engineers and designers
5. Remote-friendly
42. CSS in Applications
42
1. Build step
2. Build time
3. CSS is not about styling my documents
4. CSS is about UI and components
5. CSS is a script language
6. CSS is a part of your code
45. After PostCSS
45
1. Do not parse CSS.
Define styles in JavaScript objects.
2. Do not use plugins for everything.
Use plain functions instead.
3. Use default plugins presets, like Babel.
58. 58
Critical Path CSS
Styles by JSSPre-processed CSS
1. All styles
2. Selected
manually
3. Per CSS file
1. Rendered styles
2. Selected
automatically
3. Per Components
state
59.
60. JSS features
60
1. Render styles for Component tree only
to get Critical CSS
2. Remove styles when Components
detached
3. Styles re-calculation“on-the-fly”
4. Portable: DOM, Inline Styles, React Native
5. Great performance
72. Problems before
72
1. Wide range of CSS frameworks
2. A lot of CSS formats
3. A few of CSS parsers
4. A dozens of JSS formats
5. Hard to migrate from CSS to JSS
76. PreJSS ecosystem
76
1. Loader for webpack to use CSS styles as JSS
2. Babel plugin to transform PreJSS Styles
Declarations into JSS objects
3. Styles Linter by PostCSS plugin
4. Syntax highlighting (WIP)
5. CLI tool for converting CSS into JS modules
78. 78
PreJSS
JSS
CSS
1. No CSS wars anymore
2. Vendor-less
3. Use the best bits of
whole CSS world
4. Less complexity
5. Saved time and budget
6. Focus on important things
PreJSS is the final point