Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
220
MCPをつなげて作る組織横断のAIエージェント基盤(の開発工程)
tsubakimoto_s
0
120
Microsoft 365 Copilot chat -tekoälypalvelun tietosuojaongelmat
hponka
0
900
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
2
660
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
390
あるけみー式LTスライド作成術
alchemy1115
1
210
2026_devsumi_ozono.pdf
o3
3
480
SQL文一行も書けない人事がCortexもろもろを使って人事業務を楽にしてみる
ponponmikankan
1
240
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
1
500
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
6
2k
絵ではじめるKubernetesセキュリティ
aoi1
3
490
2026-09-09 【sigma_ucj#1】Sigma を IaC 管理したい! / IaC for Sigma
civitaspo
0
130
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
700
sira's awesome portfolio website redesign presentation
elsirapls
0
410
Practical Orchestrator
shlominoach
191
12k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Why Our Code Smells
bkeepers
PRO
340
58k
How to Talk to Developers About Accessibility
jct
2
550
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Google's AI Overviews - The New Search
badams
0
1.6k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
580
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
The Cult of Friendly URLs
andyhume
79
7k
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