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
460
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
120
Distribuerede systemer på CBS, 28. september 2016 - transaktioner
kaspertidemann
0
230
Other Decks in Programming
See All in Programming
Deep Dive into ~/.claude/projects
hiragram
14
14k
NEWT Backend Evolution
xpromx
1
140
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
470
はじめてのWeb API体験 ー 飲食店検索アプリを作ろうー
akinko_0915
0
140
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
10
4.3k
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
1.1k
Advanced Micro Frontends: Multi Version/ Framework Scenarios @WAD 2025, Berlin
manfredsteyer
PRO
0
390
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
180
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
320
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
360
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
15
2k
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.3k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Raft: Consensus for Rubyists
vanstee
140
7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Balancing Empowerment & Direction
lara
1
450
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
It's Worth the Effort
3n
185
28k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
4 Signs Your Business is Dying
shpigford
184
22k
We Have a Design System, Now What?
morganepeng
53
7.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
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!