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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kasper Tidemann
September 11, 2014
Programming
200
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Kasper Tidemann
See All by Kasper Tidemann
Distribuerede systemer på CBS, 18. september 2017 - transaktioner, del 2
kaspertidemann
1
300
Distribuerede systemer på CBS, 14. september 2017 - transaktioner, del 1
kaspertidemann
0
480
Distribuerede systemer på CBS, 7. september 2017 - skalering, del 2
kaspertidemann
0
440
BitLab - Do IT Yourself
kaspertidemann
1
82
Distribuerede systemer på CBS, 7. september 2017 - skalering, del 1
kaspertidemann
0
470
Distribuerede systemer på CBS, 5. oktober 2016 - arkitektur og repetition
kaspertidemann
0
230
Distribuerede systemer på CBS, 3. oktober 2016 - arkitektur
kaspertidemann
0
250
Oplæg om IT-arkitektur, AEA, 29. september 2016
kaspertidemann
1
130
Distribuerede systemer på CBS, 28. september 2016 - transaktioner
kaspertidemann
0
250
Other Decks in Programming
See All in Programming
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.6k
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.3k
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
640
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
320
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
520
ふつうのFeature Flag実践入門
irof
7
3.7k
Agentic UI
manfredsteyer
PRO
0
130
New "Type" system on PicoRuby
pocke
1
780
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
320
スマートグラスで並列バイブコーディング
hyshu
0
110
Inside Stream API
skrb
1
680
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
250
Embracing the Ebb and Flow
colly
88
5.1k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
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!