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
300
Data Loading Patterns in Ember
balint
1
200
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
80
Introduction to ember-data
balint
0
160
Other Decks in Technology
See All in Technology
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
テストを軸にした生き残り術
kworkdev
PRO
0
200
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
250
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
2025年になってもまだMySQLが好き
yoku0825
8
4.7k
研究開発と製品開発、両利きのロボティクス
youtalk
1
530
人工衛星のファームウェアをRustで書く理由
koba789
15
7.9k
Language Update: Java
skrb
2
300
いま注目のAIエージェントを作ってみよう
supermarimobros
0
200
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.8k
Android Audio: Beyond Winning On It
atsushieno
0
120
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
GitHub's CSS Performance
jonrohan
1032
460k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
The World Runs on Bad Software
bkeepers
PRO
70
11k
KATA
mclloyd
32
14k
The Language of Interfaces
destraynor
161
25k
Scaling GitHub
holman
463
140k
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!