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
84
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHP and Ember, a Bronies Paradise
Slides to presentation given at the Utah PHP User Group July 17, 2014
Eric Berry
July 17, 2014
More Decks by Eric Berry
See All by Eric Berry
Disrupting Open Source Sustainability
coderberry
0
500
Incentivizing and Sustaining Open Source
coderberry
0
280
Why Funding Open Sources is Hard
coderberry
2
320
Creating Hybrid Apps with Ember
coderberry
1
1.5k
The Unofficial, Official Ember Testing Guide
coderberry
43
6.2k
Ember Build Tools Showdown
coderberry
4
440
Asset Pipeline for Dummies
coderberry
3
320
Other Decks in Programming
See All in Programming
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.7k
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
7
1.1k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.6k
どこまでゆるくて許されるのか
tk3fftk
0
300
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
720
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
130
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
340
自作OSでスライド発表する
uyuki234
1
3.6k
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
1
190
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
8.6k
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.6k
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
270
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
340
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
4 Signs Your Business is Dying
shpigford
187
22k
First, design no harm
axbom
PRO
2
1.2k
A Tale of Four Properties
chriscoyier
163
24k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
890
Git: the NoSQL Database
bkeepers
PRO
432
67k
Optimizing for Happiness
mojombo
378
71k
How to Talk to Developers About Accessibility
jct
2
280
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
180
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
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