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
PHP and Ember, a Bronies Paradise
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Eric Berry
July 17, 2014
Programming
0
66
PHP and Ember, a Bronies Paradise
Slides to presentation given at the Utah PHP User Group July 17, 2014
Eric Berry
July 17, 2014
Tweet
Share
More Decks by Eric Berry
See All by Eric Berry
Disrupting Open Source Sustainability
coderberry
0
470
Incentivizing and Sustaining Open Source
coderberry
0
250
Why Funding Open Sources is Hard
coderberry
2
300
Creating Hybrid Apps with Ember
coderberry
1
1.5k
The Unofficial, Official Ember Testing Guide
coderberry
43
6.1k
Ember Build Tools Showdown
coderberry
4
410
Asset Pipeline for Dummies
coderberry
3
300
Other Decks in Programming
See All in Programming
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
190
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
1.9k
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2.3k
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
530
rack-attack gemによるリクエスト制限の失敗と学び
pndcat
0
240
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
170
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
690
AgentCoreとHuman in the Loop
har1101
5
200
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.5k
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
1.2k
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
430
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
260
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
100
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
120
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
890
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
59
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
190
Optimizing for Happiness
mojombo
379
71k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
740
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.2k
Context Engineering - Making Every Token Count
addyosmani
9
620
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
82
Tell your own story through comics
letsgokoyo
1
790
Transcript
a Bronies Paradise
I tweet at @cavneb @coderberry I blog at coderberry.me I
commit to github.com/cavneb I work for Instructure I run the EmberSLC meetup Eric Berry
None
A Tale of Two Ponies Act 1.
Rise of the Unicorn • Fork of Sproutcore in 2011
by Yehuda Katz, Tom Dale and others • Core team includes 10 people (none are paid) • Current version is 1.6.1 • New stable release every 6 weeks.
Core Team Yehuda Katz Tom Dale Peter Wagenet Erik Bryn
Trek Glowacki Kris Seldon Stefan Penner Leah Silber Robert Jackson Alex Matchneer
Core Team Apple Star Blade Thunder Strong Gunner Defiant Perfection
Veiled Steel Magical Drop Heroic Fire Radiant Aura Charged Sprout Midnight Rainbow
Goals of Ember • Create ambitious web applications • Become
more productive out of the box • Write less code • Provide conventions and abstractions Photo by Amy Lombard
None
Learning to Fly Act 2.
Core Concepts • Object • Router • Model • Controller
• View • Templates Photo by Amy Lombard
Ember.Object http://emberjs.com/guides/object-model/classes-and-instances/ Everything extends Ember.Object
Ember.Object http://emberjs.com/guides/object-model/classes-and-instances/ 1! 2! 3! 4! 5! 6! 7! 8!
9! 10! 11! 12! 13! 14! 15! 16! 17! 18 App.Pony = Ember.Object.extend({! say: function(thing) {! var name = this.get('name');! alert(name + " says: " + thing);! }! });! ! App.FlyingPony = App.Pony.extend({! say: function(thing) {! this._super(thing + “ down there!");! }! });! ! var as = App.FlyingPony.create({! name: “Apple Star"! });! ! as.say(“Hello"); // alerts “Apple Star says: Hello down there!”!
Application Flow http://emberjs.com/guides/object-model/classes-and-instances/ Request A request is sent to the
Ember application
Application Flow http://emberjs.com/guides/object-model/classes-and-instances/ Route Request The router determines which route
to send the request to and the route receives the request and params
Application Flow http://emberjs.com/guides/object-model/classes-and-instances/ Model Route Request The route gathers the
data from the models, which wrap the data (api calls, etc)
Application Flow http://emberjs.com/guides/object-model/classes-and-instances/ Controller Model Route Request The route then
places the data on the controller. The controller maintains display-related state.
Application Flow http://emberjs.com/guides/object-model/classes-and-instances/ Controller Model Route Template Request And the
templates are rendered (having access to the models via the controller)
Application Flow http://emberjs.com/guides/object-model/classes-and-instances/ Controller Model Route Template View Request Views
are used as a UI abstraction to handle user events (if needed)
Application Flow http://emberjs.com/guides/object-model/classes-and-instances/ Controller Model Route Template View Component Request
Components can be used in templates to provide a self-contained view, controller and template
Which Way to Fly? Act 3.
Getting Started Photo by Amy Lombard or…
Ember command line utility for ambitious web applications. Ember CLI
• Generators • Tests • Environment support • Asset compilation via broccoli • ES6 • Dependency management • Community support
Where’s the ???!!!
Live Coding Act 4.
I tweet at @coderberry I blog at coderberry.me I commit
to github.com/cavneb I work for Instructure I run the EmberSLC meetup