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
70
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
260
Why Funding Open Sources is Hard
coderberry
2
310
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
420
Asset Pipeline for Dummies
coderberry
3
310
Other Decks in Programming
See All in Programming
CSC307 Lecture 12
javiergs
PRO
0
440
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1.1k
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
190
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
150
Oxlintはいいぞ
yug1224
5
1.4k
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
160
JPUG勉強会 OSSデータベースの内部構造を理解しよう
oga5
2
200
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
1k
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
150
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
180
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.9k
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
360
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.8k
The Spectacular Lies of Maps
axbom
PRO
1
560
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
130
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.1k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
200
The Invisible Side of Design
smashingmag
302
51k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
390
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
First, design no harm
axbom
PRO
2
1.1k
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