Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Maintainable React UIs using Cosmos.js
Search
Ovidiu Cherecheș
April 28, 2015
Programming
3
250
Maintainable React UIs using Cosmos.js
Ovidiu Cherecheș
April 28, 2015
Tweet
Share
Other Decks in Programming
See All in Programming
The Evolution of the CRuby Build System
kateinoigakukun
1
750
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
160
VitestのIn-Source Testingが便利
taro28
8
2.4k
複雑なフォームの jotai 設計 / Designing jotai(state) for Complex Forms #layerx_frontend
izumin5210
6
1.4k
AIコーディングエージェントを 「使いこなす」ための実践知と現在地 in ログラス / How to Use AI Coding Agent in Loglass
rkaga
4
1.2k
On-the-fly Suggestions of Rewriting Method Deprecations
ohbarye
1
4.5k
Flutterでllama.cppをつかってローカルLLMを試してみた
sakuraidayo
0
120
GitHub Copilot for Azureを使い倒したい
ymd65536
1
300
AI時代の開発者評価について
ayumuu
0
230
音声プラットフォームのアーキテクチャ変遷から学ぶ、クラウドネイティブなバッチ処理 (20250422_CNDS2025_Batch_Architecture)
thousanda
0
370
Cursorを活用したAIプログラミングについて 入門
rect
0
140
Thank you <💅>, What's the Next?
ahoxa
1
580
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Thoughts on Productivity
jonyablonski
69
4.6k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.4k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Done Done
chrislema
184
16k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Being A Developer After 40
akosma
91
590k
Transcript
Hello.
Why do UI devs change frameworks so often?
Why do UI devs change frameworks so often? A. Because
we constantly want to learn new stuff B. Because web browsers have evolved a lot in the last years or...
C. Because a change in the old framework feels like
this:
So you found a new framework... "This time it's going
to be different."
Things are going great... • Trying & learning new stuff
every day • No technical debt and haunting hacks • No need to refactor with every feature
This (framework) might be the one.
2 years later...
Why do we have so many bugs?
Why is writing code so hard to debug?
Don't be naive. React is not your soulmate.
What makes a codebase go bad in time?
None
None
How to understand an implicit codebase: 1. Grep the entire
project for that entity 2. Grep the entire project for the file name 3. Ask a friend, or... 4. ...read the entire source code.
You have to understand the entire project to figure out
something in a module. This is not scalable.
A maintainable codebase is explicit and intuitive.
How do you write explicit code? • Dependencies should be
expressed inside- out • Every module should expose a standalone, testable API • Every UI component should be an entry point.
Maintainable React UIs using Cosmos.js Bear with me...
ComponentTree Serialize and reproduce the state of an entire tree
of React components.
ComponentPlayground Minimal frame for loading and testing React components in
isolation.
Demo.
Thank you! // Ovidiu Cherecheș // Leading the Analytics UI
at Hootsuite // ovidiu.chereches@hootsuite.com // twitter.com/skidding // github.com/skidding