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
From SproutCore to Ember
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Paul Chavard
June 29, 2012
Programming
250
2
Share
From SproutCore to Ember
Paul Chavard
June 29, 2012
More Decks by Paul Chavard
See All by Paul Chavard
Le Tour du monde en quatre-vingts jours
tchak
1
50
Functional Ember
tchak
0
290
HTTP
tchak
3
200
Ember Data REBOOT
tchak
0
150
Ember Data: (Advanced) Patterns
tchak
2
250
EmberJS Introduction
tchak
1
200
Ember Data
tchak
11
840
Ember.js
tchak
10
1.6k
Other Decks in Programming
See All in Programming
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
410
CSC307 Lecture 17
javiergs
PRO
0
310
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
230
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
330
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
140
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
210
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
570
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
450
今さら聞けないCancellationToken
htkym
0
210
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.1k
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1k
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
220
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
230
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
300
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Google's AI Overviews - The New Search
badams
0
1k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
560
Statistics for Hackers
jakevdp
799
230k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
190
The Art of Programming - Codeland 2020
erikaheidi
57
14k
AI: The stuff that nobody shows you
jnunemaker
PRO
7
670
Transcript
From SproutCore to Ember.js
Paul Chavard capitainetrain.com
2007 - SproutIt 2008 - Apple 2010 - Strobe 2012
- Tilde
Widget Library
✓ SC.ButtonView ✓ SC.SelectView ✓ SC.PanelView ✓ SC.SplitView
Structural Library
✓ DS.Model ✓ Ember.View ✓ Ember.Controller ✓ Ember.Router
Singletons
✓ App.postsController = SC.ArrayController.create() ✓ App.postController = SC.ObjectController.create() ✓ App.store
= SC.Store.create() ✓ App.stateChart = SC.StateChart.create()
Shared instances
✓ App.PostsController = Ember.ArrayController.extend() ✓ App.PostController = Ember.ObjectController.extend() ✓ App.Store
= DS.Store.extend() ✓ App.Router = Ember.Router.extend() ✓ App.initialize()
✓ App.router.postsController ✓ App.router.postController ✓ App.router.store
Router
✓ The truth is not in the URL ✓ URL
change is a “side-effect” of changing state ✓ Simple interface for actual url manipulation
Outlets
Controller View Model
Demo github.com/tchak/ember-blog-app
twitter @emberjs github @emberjs IRC #emberjs emberjs.org
twitter @tchak13 github @tchak talks.tchak.net
thanks ! questions ?