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
Building Web Applications using Ember.JS
Search
Neeraj Singh
February 07, 2013
Technology
53
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building Web Applications using Ember.JS
Neeraj Singh
February 07, 2013
More Decks by Neeraj Singh
See All by Neeraj Singh
Active Record is still magical
neerajdotname
2
2.9k
Other Decks in Technology
See All in Technology
ASTを使って影響範囲を特定する
nealle
0
110
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
0
460
Microsoft 365 Copilot chat -tekoälypalvelun tietosuojaongelmat
hponka
0
560
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
1.2k
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
370
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
150
GoCon2026 - Open Source, Open World
sanposhiho
2
560
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
110
少人数データチームのDevin活用実践事例
runandy16
3
460
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
7
7.5k
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
270
アリアドネの糸と、20年ごとの建て替え ── 長尾真『電子図書館』を、伊勢で読み直す / Rereading Makoto Nagao’s "Electronic Library" in Ise
ykiyota
0
110
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The Curious Case for Waylosing
cassininazir
1
500
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Odyssey Design
rkendrick25
PRO
2
800
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
510
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Transcript
Building Web Applications using Emberjs Thursday, February 7, 13
Neeraj Singh @NeerajDotName Thursday, February 7, 13
Ruby on Rails consulting shop Thursday, February 7, 13
RubyOnRails jquery-ujs Spree ActiveMerchant nimbleShop Instapusheradmin_data Thursday, February 7, 13
EMBER jS Thursday, February 7, 13
dependencies - jquery - handlerbar Thursday, February 7, 13
MVC Thursday, February 7, 13
Backbone.js has 1.5k LOC EMBER.js has 60.4k LOC Thursday, February
7, 13
Backbone.js requires lots of third party plugins Thursday, February 7,
13
Ember has - bindings - run loop - ember-data Thursday,
February 7, 13
Ember enhances JS - mixins - classes - computed properties
Thursday, February 7, 13
Architecture Thursday, February 7, 13
Models Controllers Views triggered events updated data to model Thursday,
February 7, 13
Models Controllers Views update views updated data fires binding Thursday,
February 7, 13
Object model Thursday, February 7, 13
Person = Ember.Object.extend({ firstName: null, lastName: null, }); Classes Thursday,
February 7, 13
Person.create().toString(); <Person:ember178> Classes Thursday, February 7, 13
Speaker = Ember.Mixin.create ( { hello: function() { var first
= this.get('firstName'), last = this.get('lastName'); alert(first + ' ' + last + ': Hello'); } Person = Ember.Object.extend(Speaker); Person.create( { firstName: 'Neeraj', lastName: 'Singh' }).hello(); #=> Neeraj Singh Mixins Thursday, February 7, 13
Opinionated - convention over configuration - handlerbar Thursday, February 7,
13
App.Post = DS.Model.extend({ collectionURL: '/posts', singleURL: '/post', title: DS.attr('string'), body:
DS.attr('string') }); App.Post = DS.Model.extend({ title: DS.attr('string'), body: DS.attr('string') }); Thursday, February 7, 13
Data Bindings Thursday, February 7, 13
<ul> {{#each App.items}} <li>{{name}}</li> {{/each}} </ul> App.items = [ {
name: “One” }, { name: “Two” }, { name: “Three” } ] One Two Three Thursday, February 7, 13
App.items.pushObject({ name: 'Fourth' }); One Two Three Four Thursday, February
7, 13
Handlebar Thursday, February 7, 13
App.items.pushObject({ name: 'Fourth' }); One Two Three Four Thursday, February
7, 13
send your feedback to @bigBinary Thursday, February 7, 13