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
Getting started with Ember.js
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Matt Delves
August 29, 2013
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Getting started with Ember.js
Lightning talk given on Thursday 29th of August 2013 at the Melbourne Ruby on Rails meetup.
Matt Delves
August 29, 2013
Other Decks in Programming
See All in Programming
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
270
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
JIS keyboard support in Omarchy
lef237
0
110
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
APNsからLive Activityを開始する話
yumnumm
0
170
Workers Cache を知る
syumai
0
360
The Rails Doctrine Decade
koic
2
590
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
150
AmebaブログはKMPから卒業します
kmars0605
0
190
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
Being A Developer After 40
akosma
92
590k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Technical Leadership for Architectural Decision Making
baasie
3
600
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
460
Making Projects Easy
brettharned
120
6.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
How to Talk to Developers About Accessibility
jct
2
580
Bash Introduction
62gerente
615
220k
Transcript
emberjs.com Friday, 30 August 13
What is it? Friday, 30 August 13
A framework for creating ambitious web applications Friday, 30 August
13
Do we need another framework? Friday, 30 August 13
Yes Friday, 30 August 13
Client side Friday, 30 August 13
Templates Friday, 30 August 13
<div class="navbar navbar-inverse navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <button type="button"
class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <span class="brand">{{#linkTo 'index'}}Second Line{{/linkTo}}</span> <div class="nav-collapse collapse"> <ul class="nav"> <li {{bindAttr class="isVenues:active"}}>{{#linkTo 'venues'}}Venues{{/linkTo}}</li> <li {{bindAttr class="isBands:active"}}>{{#linkTo 'bands'}}Bands{{/linkTo}}</li> <li {{bindAttr class="isGigs:active"}}>{{#linkTo 'gigs'}}Gigs{{/linkTo}}</li> <li {{bindAttr class="isUsers:active"}}>{{#linkTo 'users'}}Users{{/linkTo}}</li> </ul> {{view Secondline.AuthView}} </div><!--/.nav-collapse --> </div> </div> </div> <div class="container"> <!-- Main hero unit for a primary marketing message or call to action --> <div class="hero-unit"> {{outlet}} </div> <hr> <footer> <p>© Reformed Software 2013</p> </footer> </div> <!-- /container --> Friday, 30 August 13
Routes Friday, 30 August 13
Secondline.Router.reopen location: 'history' rootURL: '/' Secondline.Router.map (match)-> @resource 'venues', ->
@route 'show', path: '/:venue_id' @resource 'gigs', -> @route 'show', path: '/:gig_id' @resource 'bands', -> @route 'show', path: '/:band_id' @resource 'users', -> @route 'show', path: '/:user_id' Secondline.IndexRoute = Ember.Route.extend setupController: (controller, model) -> @controllerFor('application').set('currentRoute', 'index') Secondline.VenuesRoute = Ember.Route.extend model: -> Secondline.Venue.find() setupController: (controller, model) -> @controllerFor('application').set('currentRoute', 'venues') Friday, 30 August 13
Models Friday, 30 August 13
DS.RESTAdapter.reopen namespace: "api/v1" Secondline.Store = DS.Store.extend adapter: DS.RESTAdapter.create() Friday, 30
August 13
Secondline.Venue = DS.Model.extend({ name: DS.attr('string'), address: DS.attr('string'), website: DS.attr('string'), location:
DS.attr('string') }); Friday, 30 August 13
Controllers Friday, 30 August 13
App.SongsController = Ember.ArrayController.extend({ longSongCount: function() { var longSongs = this.filter(function(song)
{ return song.get('duration') > 30; }); return longSongs.get('length'); }.property('@each.duration') }); Friday, 30 August 13
Talking to your rails app Friday, 30 August 13
bower bower.io Friday, 30 August 13
brew install node Friday, 30 August 13
npm install -g bower Friday, 30 August 13
{ "directory" : "vendor/assets/components" } your_rails_app/.bowerrc Friday, 30 August 13
bower init Friday, 30 August 13
bower install --save ember Friday, 30 August 13
application.js //= require handlebars/handlebars //= require ember/ember Friday, 30 August
13
gem 'handlebars_assets' Gemfile Friday, 30 August 13
JSON serializers Friday, 30 August 13
Gemfile gem 'active_model_serializers' Friday, 30 August 13
class VenueSerializer < ActiveModel::Serializer attributes :id, :name, :address, :website, :location,
:longitude, :latitude end Friday, 30 August 13
I like beer! Friday, 30 August 13
@mattdelves Friday, 30 August 13