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
Ember.js Meetup - Koblenz and Neuwied
Search
Kasper Tidemann
September 11, 2014
Programming
3
180
Ember.js Meetup - Koblenz and Neuwied
Slides from my talk at the Ember.js meetup in Koblenz at the rz-Druckhaus.
Kasper Tidemann
September 11, 2014
Tweet
Share
More Decks by Kasper Tidemann
See All by Kasper Tidemann
Distribuerede systemer på CBS, 18. september 2017 - transaktioner, del 2
kaspertidemann
1
280
Distribuerede systemer på CBS, 14. september 2017 - transaktioner, del 1
kaspertidemann
0
450
Distribuerede systemer på CBS, 7. september 2017 - skalering, del 2
kaspertidemann
0
420
BitLab - Do IT Yourself
kaspertidemann
1
68
Distribuerede systemer på CBS, 7. september 2017 - skalering, del 1
kaspertidemann
0
450
Distribuerede systemer på CBS, 5. oktober 2016 - arkitektur og repetition
kaspertidemann
0
220
Distribuerede systemer på CBS, 3. oktober 2016 - arkitektur
kaspertidemann
0
230
Oplæg om IT-arkitektur, AEA, 29. september 2016
kaspertidemann
1
110
Distribuerede systemer på CBS, 28. september 2016 - transaktioner
kaspertidemann
0
230
Other Decks in Programming
See All in Programming
Empowering Developers with HTML-Aware ERB Tooling @ RubyKaigi 2025, Matsuyama, Ehime
marcoroth
1
220
Youtube Lofier - Chrome拡張開発
ninikoko
0
2.4k
S3静的ホスティング+Next.js静的エクスポート で格安webアプリ構築
iharuoru
0
220
AWSで雰囲気でつくる! VRChatの写真変換ピタゴラスイッチ
anatofuz
0
140
The Weight of Data: Rethinking Cloud-Native Systems for the Age of AI
hollycummins
0
270
PHP で学ぶ OAuth 入門
azuki
1
120
プロダクト横断分析に役立つ、事前集計しないサマリーテーブル設計
hanon52_
2
360
Kubernetesで実現できるPlatform Engineering の現在地
nwiizo
3
1.9k
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
4
880
Compose Hot Reload is here, stop re-launching your apps! (Android Makers 2025)
zsmb
1
470
Develop Faster With FrankenPHP
dunglas
2
3.2k
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
130
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
520
Making the Leap to Tech Lead
cromwellryan
133
9.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
It's Worth the Effort
3n
184
28k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
The Pragmatic Product Professional
lauravandoore
33
6.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.4k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Side Projects
sachag
452
42k
Transcript
September 11, 2014 Ember.js Meetup Koblenz und Neuwied
{ name: “Kasper Tidemann”, profession: “Software developer”, company: “Tidemann&Co”, codes:
[“JavaScript”, “Go”], likesTo: “Be nice and drink beer.”, places: [“Copenhagen”, “San Francisco”], alsoDoes: “Blogging”, website: “kaspertidemann.com” } string
Meeho! is a CRM system and my first company.
My favorite editor is Atom. Now you know everything about
me.
A bit about where we came from and where we’re
headed. Status quo
Back then…
Now: Unreal 4 in the browser thanks to asm.js, a
subset of JavaScript.
Seriously, that’s crazy! OMG LOOOOOOOL
Let’s talk Ember.js! App.inject( );
First things first. A framework for creating ambitious web applications.
… there’s more to it, but let’s stick to the
basic. Ember.js has routes, templates and controllers. Core concepts App.Router.map(function() { this.route(‘koblenz’); this.route(‘neuwied’); }); <script type=“text/x-handlebars” id=“koblenz”> <p>Welcome to Koblenz!</p> <p>Today is {{date}}.</p> </script> App.KoblenzController = Em.Controller.extend({ date: Em.computed(function() { return (new Date()).getTime(); }) });
A brief overview of what comes from where. App.Router.map(function() {
this.route(‘koblenz’); this.route(‘neuwied’); }); <script type=“text/x-handlebars” id=“koblenz”> <p>Welcome to Koblenz!</p> <p>Today is {{date}}.</p> </script> App.KoblenzController = Em.Controller.extend({ date: Em.computed(function() { return (new Date()).getTime(); }) });
Essentially, anyway. The router takes care of turning the URL
into meaningful state. It invokes controllers, views, and has templates appear in the browser. Router
Like partials in Ruby on Rails and so on. Templates
contain the HTML to show in the browser. Ember.js uses Handlebars for templating, a string-based solution soon to be replaced by HTMLBars. Templates
Glueing everything together! Controllers are typically instantiated by the router.
Each route has a corresponding controller for working with data, variables, bindings and so on. Controllers
Demonstration
We’ve only just touched upon the surface of what Ember.js
is. There is way more to Ember.js than just that: models, mixins, helpers, bindings, components and so on.
Sharing is caring. <3 https://github.com/KasperTidemann/emberjs-meetup-koblenz-neuwied Example files are available on
GitHub:
Enough talk! Who actually uses this magnificent piece of software?
Who uses Ember.js?
None
Because of the sensible conventions, the rapid development experience, the
helpful bindings… Why should you use Ember.js? (And because you really don’t want to setInterval() for checking hash changes nor fiddle with push states yourself. Believe me, I did that once. All you want is to build an awesome app.)
http://www.kaspertidemann.com/ Thank you!