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
Eric Berry
July 17, 2014
Programming
0
44
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
430
Incentivizing and Sustaining Open Source
coderberry
0
220
Why Funding Open Sources is Hard
coderberry
2
270
Creating Hybrid Apps with Ember
coderberry
1
1.5k
The Unofficial, Official Ember Testing Guide
coderberry
43
5.9k
Ember Build Tools Showdown
coderberry
4
390
Asset Pipeline for Dummies
coderberry
3
270
Other Decks in Programming
See All in Programming
Blueskyのプラグインを作ってみた
hakkadaikon
1
210
推論された型の移植性エラーTS2742に挑む
teamlab
PRO
0
130
ユーザーにサブドメインの ECサイトを提供したい (あるいは) 2026年函館で一番熱くなるかもしれない言語の話
uvb_76
0
170
SpringBootにおけるオブザーバビリティのなにか
irof
1
870
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
230
Interface vs Types ~型推論が過多推論~
hirokiomote
1
220
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
640
インターフェース設計のコツとツボ
togishima
2
410
iOSアプリ開発もLLMで自動運転する
hiragram
6
2k
"使いづらい" をリバースエンジニアリングする UI の読み解き方
rebase_engineering
0
100
CursorとDevinが仲間!?AI駆動で新規プロダクト開発に挑んだ3ヶ月を振り返る / A Story of New Product Development with Cursor and Devin
rkaga
5
1.9k
少数精鋭エンジニアがフルスタック力を磨く理由 -そしてAI時代へ-
rebase_engineering
0
120
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Adopting Sorbet at Scale
ufuk
76
9.4k
Building Applications with DynamoDB
mza
95
6.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
830
Designing for Performance
lara
608
69k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Code Reviewing Like a Champion
maltzj
523
40k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
A Tale of Four Properties
chriscoyier
159
23k
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