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
(Somewhat) Complex Component Design – Ember.BP,...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Balint Erdi
February 11, 2016
Technology
110
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
(Somewhat) Complex Component Design – Ember.BP, 2015/02/11
Balint Erdi
February 11, 2016
More Decks by Balint Erdi
See All by Balint Erdi
Data Loading Patterns with JSON API
balint
5
1.5k
Why you should consider Ember.js for your next project
balint
4
360
Data Loading Patterns in Ember
balint
1
250
Auth* in Ember apps with Torii
balint
1
330
Complex Component Design in Ember
balint
0
410
Don't call me back - How Ember uses promises and how you can, too
balint
5
11k
Acceptance testing in Ember.js
balint
1
540
Unit testing in Ember.js
balint
0
120
Introduction to ember-data
balint
0
190
Other Decks in Technology
See All in Technology
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.7k
Model Studio CLI × Token Plan
maigo999
0
190
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
280
ブラウザ研修 2026
recruitengineers
PRO
7
1.2k
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
490
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
1k
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
150
小粒でもパワフルなJS Runtime Antjsについて
comamoca
0
100
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
7.6k
Bits AI を制するものは Datadog を制す / The player that controls Bits AI, controls Datadog
kaminashi
0
130
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
290
私がブラウザを自作したくなった理由
supurazako
1
270
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
490
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
370
WCS-LA-2024
lcolladotor
0
800
Automating Front-end Workflow
addyosmani
1369
210k
Exploring anti-patterns in Rails
aemeredith
3
470
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
650
The agentic SEO stack - context over prompts
schlessera
0
870
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
350
Making Projects Easy
brettharned
120
6.7k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
530
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
Being A Developer After 40
akosma
91
590k
Transcript
Complex Component Design Ember.BP – 2015/02/11
Best of the month
None
None
Song of the month
http://frontside.io/blog/2016/01/22/functional-templating-in- ember.html
https://github.com/samselikoff/ember-cli-mirage
Survey results
(Somewhat) Complex Component Design
Basic component concepts
None
Non-block form (no hash)
Non-block form (no hash) Block form (with hash)
Non-block form (no hash) Block form (with hash) Yields parameters
to the block form (function call)
Non-block form (no hash) Block form (with hash) Yields parameters
to the block form (function call) Block params (function params)
Closure (vs. element) actions
Element actions (iact “string” actions)
None
None
None
Closure actions
None
Why closure actions? • They can return values • Enable
reacting to actions sent from the controller • Better debuggability • They can also bubble (check out ember-route- action-helper)
Component design guidelines
Short & sweet non-block form
Don’t assume too much
Allow customization
Data down, actions up (Use actions)
Data down, actions up (Use actions) Don’t do that.
Advanced concepts • Keep your component layers decoupled • Find
ways to prevent registering • Replace observers with (DOM) actions
Advanced concepts http://balinterdi.com/2015/09/10/complex-component-design- in-ember-intro.html
Thank you.