$30 off During Our Annual Pro Sale. View Details »
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
390
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
220
Auth* in Ember apps with Torii
balint
1
310
(Somewhat) Complex Component Design – Ember.BP, 2015/02/11
balint
1
94
Don't call me back - How Ember uses promises and how you can, too
balint
5
11k
Acceptance testing in Ember.js
balint
1
530
Unit testing in Ember.js
balint
0
89
Introduction to ember-data
balint
0
170
Other Decks in Technology
See All in Technology
Reinforcement Fine-tuning 基礎〜実践まで
ch6noota
0
190
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
200
因果AIへの招待
sshimizu2006
0
980
Challenging Hardware Contests with Zephyr and Lessons Learned
iotengineer22
0
210
[JAWS-UG 横浜支部 #91]DevOps Agent vs CloudWatch Investigations -比較と実践-
sh_fk2
2
260
チーリンについて
hirotomotaguchi
6
2k
AWSを使う上で最低限知っておきたいセキュリティ研修を社内で実施した話 ~みんなでやるセキュリティ~
maimyyym
2
1.3k
Power of Kiro : あなたの㌔はパワステ搭載ですか?
r3_yamauchi
PRO
0
150
新 Security HubがついにGA!仕組みや料金を深堀り #AWSreInvent #regrowth / AWS Security Hub Advanced GA
masahirokawahara
1
2k
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
3.1k
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
860
.NET 10の概要
tomokusaba
0
110
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
How GitHub (no longer) Works
holman
316
140k
Designing for Performance
lara
610
69k
A designer walks into a library…
pauljervisheath
210
24k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Context Engineering - Making Every Token Count
addyosmani
9
510
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
BBQ
matthewcrist
89
9.9k
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!