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
Complex Component Design in Ember
Search
Balint Erdi
October 10, 2015
Technology
0
380
Complex Component Design in Ember
The (online) talk I gave at the Global Ember Meetup.
Balint Erdi
October 10, 2015
Tweet
Share
More Decks by Balint Erdi
See All by Balint Erdi
Data Loading Patterns with JSON API
balint
5
1.4k
Why you should consider Ember.js for your next project
balint
4
310
Data Loading Patterns in Ember
balint
1
210
Auth* in Ember apps with Torii
balint
1
300
(Somewhat) Complex Component Design – Ember.BP, 2015/02/11
balint
1
91
Don't call me back - How Ember uses promises and how you can, too
balint
5
11k
Acceptance testing in Ember.js
balint
1
520
Unit testing in Ember.js
balint
0
82
Introduction to ember-data
balint
0
160
Other Decks in Technology
See All in Technology
CoRL 2025 Survey
harukiabe
1
200
AgentCon Accra: Ctrl + Alt + Assist: AI Agents Edition
bethany
0
100
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
140
Digitization部 紹介資料
sansan33
PRO
1
5.5k
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
9
4.6k
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
GoでもGUIアプリを作りたい!
kworkdev
PRO
0
140
セキュアな認可付きリモートMCPサーバーをAWSマネージドサービスでつくろう! / Let's build an OAuth protected remote MCP server based on AWS managed services
kaminashi
3
320
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
3
510
AWS Top Engineer、浮いてませんか? / As an AWS Top Engineer, Are You Out of Place?
yuj1osm
2
210
Git in Team
kawaguti
PRO
3
370
React19.2のuseEffectEventを追う
maguroalternative
0
200
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Faster Mobile Websites
deanohume
310
31k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Cult of Friendly URLs
andyhume
79
6.6k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Speed Design
sergeychernyshev
32
1.2k
How to Think Like a Performance Engineer
csswizardry
27
2k
Become a Pro
speakerdeck
PRO
29
5.5k
BBQ
matthewcrist
89
9.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Transcript
Complex component design Global Ember Meetup 10/10/2015
or Component design is complex
Components are important
Components are even more important in Ember 2
“I thought of objects being like biological cells and/or individual
computers on a network, only able to communicate with messages”
“I thought of objects being like biological cells and/or individual
computers on a network, only able to communicate with messages” Alan Kay
Messages between objects, and how they are sent is more
important than the structure of objects.
Messages between objects, and how they are sent is more
important than the structure of objects. BDDers (mockists, London School TDD)
“Components are the objects of the UI”
“Components are the objects of the UI” Me
Communication between components is key.
Balint Erdi @baaz balinterdi http://balinterdi.com
http://rockandrollwithemberjs.com
Components are hard
(hard as opposed to easy)
We’re figuring this out
We’re figuring this out (I certainly am)
Lot more tools at our disposal (esp. from 1.13+)
Data Down, Actions Up • Pass data down to children
• Children fire actions towards their parent • Uni-directional flow
Controller ~ Routable component auto-complete auto-complete-list auto-complete-option auto-complete-option auto-complete-option
Controller ~ Routable component auto-complete auto-complete-list auto-complete-option auto-complete-option auto-complete-option
Controller ~ Routable component auto-complete auto-complete-list auto-complete-option auto-complete-option auto-complete-option
Enough thought- leadering already
Component design ideas (in Ember) • Break bigger components up
to small pieces • Minimize assumptions about passed-in data • Leverage block params & closure actions • Use block parameters as a public API.
References • “Simple Made Easy” talk by Rich Hickey •
Star-rating component • Autocomplete component • “The x-foo in you” talk by Ryan Florence
Thank you!