SlideShare a Scribd company logo
Ember
Dušan KoutnýLukáš Lazarčík
Ember
● All-Inclusive MVC framework for creating ambitious web
applications
● Great for RoR developers
● Convention over configuration
● WOW moments
● Started from Sproutcore 2
Team behind Ember
● Yehuda Katz (also member of Ruby on Rails and jQuery
core team)
● Tom Dale (Apple, SproutCore)
● + 6 more core members
● Used by:
Square, Tilde, Groupon, Yapp, Livingsocial, Zendesk, Addepar...
Advantages I
● Handlebars (templates that update automatically, less code)
● Associations
App.Project = DS.Model.extend({
user: DS.belongsTo('App.User')
});
● Router (similar to RoR)
App.Router.map(function() {
this.resource('projects',function(){
this.route('new' );
this.resource('project', { path: '/:project_id' });
});
});
App.User = DS.Model.extend({
projects: DS.hasMany('App.Project')
});
Advantages II
● Computed properties
remaining: function() {
var todos = this.get('todos');
return todos.filterProperty('isDone', false).get('length');
}.property('todos.@each.isDone')
● Bindings - keeps everything updated
● Convention over configuration(saves you a lot of time)
Disadvantages
● Current version - 1.0.0-RC.2
● Lack of documentation & Confusing tutorials
● Get ready for hours on stackoverflow.com
● Convention over configuration(too much magic
sometimes....)
● Ember Data( not a dependency, Ember.js. Discourse, for example, uses its own,
simple wrapper around $.ajax)
– not working as expected, not stable
– not production ready!
http://eviltrout.com/2013/03/23/ember-without-data.html)
Data flow
https://speakerdeck.com/lukemelia/introduction-to-ember-dot-js
Sample App I:
App = Ember.Application.create();
App.Person = Ember.Object.extend({
firstName: null,
lastName: null,
fullName: function() {
return this.get('firstName') +
" " + this.get('lastName');
}.property('firstName', 'lastName')
});
App.IndexRoute = Ember.Route.extend({
model: function() {
var people = [
App.Person.create({
firstName: "Yehuda",
lastName: "Katz"
})
];
return people;
}
});
Sample App II:
<script type="text/x-handlebars">
{{outlet}}
</script>
<script type="text/x-handlebars" id="index">
<h1>People</h1>
<ul>
{{#each model}}
<li>Hello, <b>{{fullName}}</b>!</li>
{{/each}}
</ul>
</script>
Thank you
Resources:
– emberwatch.com
– emberjs.com/guides/
– discuss.emberjs.com & discourse.org
– peepcode.com/products/emberjs
– stackoverflow.com :)

More Related Content

What's hot

Angularjs - lazy loading techniques
Angularjs - lazy loading techniques Angularjs - lazy loading techniques
Angularjs - lazy loading techniques
Nir Kaufman
 
Learning AngularJS - Complete coverage of AngularJS features and concepts
Learning AngularJS  - Complete coverage of AngularJS features and conceptsLearning AngularJS  - Complete coverage of AngularJS features and concepts
Learning AngularJS - Complete coverage of AngularJS features and concepts
Suresh Patidar
 
Mini-Training: AngularJS
Mini-Training: AngularJSMini-Training: AngularJS
Mini-Training: AngularJS
Betclic Everest Group Tech Team
 
Java2day 2013 : Modern workflows for javascript integration
Java2day 2013 : Modern workflows for javascript integrationJava2day 2013 : Modern workflows for javascript integration
Java2day 2013 : Modern workflows for javascript integrationMite Mitreski
 
Aplicaciones en tiempo real con ReactJS y SignalR Core
Aplicaciones en tiempo real con ReactJS y SignalR CoreAplicaciones en tiempo real con ReactJS y SignalR Core
Aplicaciones en tiempo real con ReactJS y SignalR Core
Miguel Angel Teheran Garcia
 
DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalCampDN
 
Azure functions
Azure functionsAzure functions
Azure functions
명신 김
 
Android build tools - Nimble
Android build tools - NimbleAndroid build tools - Nimble
Android build tools - Nimble
Nimble
 
Workshop 9: BackboneJS y patrones MVC
Workshop 9: BackboneJS y patrones MVCWorkshop 9: BackboneJS y patrones MVC
Workshop 9: BackboneJS y patrones MVC
Visual Engineering
 

What's hot (9)

Angularjs - lazy loading techniques
Angularjs - lazy loading techniques Angularjs - lazy loading techniques
Angularjs - lazy loading techniques
 
Learning AngularJS - Complete coverage of AngularJS features and concepts
Learning AngularJS  - Complete coverage of AngularJS features and conceptsLearning AngularJS  - Complete coverage of AngularJS features and concepts
Learning AngularJS - Complete coverage of AngularJS features and concepts
 
Mini-Training: AngularJS
Mini-Training: AngularJSMini-Training: AngularJS
Mini-Training: AngularJS
 
Java2day 2013 : Modern workflows for javascript integration
Java2day 2013 : Modern workflows for javascript integrationJava2day 2013 : Modern workflows for javascript integration
Java2day 2013 : Modern workflows for javascript integration
 
Aplicaciones en tiempo real con ReactJS y SignalR Core
Aplicaciones en tiempo real con ReactJS y SignalR CoreAplicaciones en tiempo real con ReactJS y SignalR Core
Aplicaciones en tiempo real con ReactJS y SignalR Core
 
DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Android build tools - Nimble
Android build tools - NimbleAndroid build tools - Nimble
Android build tools - Nimble
 
Workshop 9: BackboneJS y patrones MVC
Workshop 9: BackboneJS y patrones MVCWorkshop 9: BackboneJS y patrones MVC
Workshop 9: BackboneJS y patrones MVC
 

Viewers also liked

Press Release_BCPS_ School is FAB!
Press Release_BCPS_ School is FAB!Press Release_BCPS_ School is FAB!
Press Release_BCPS_ School is FAB!Howard Rose
 
Grupo 11 nuevas tecnologías y movimientos sociales, de la plaza pública a la...
Grupo 11  nuevas tecnologías y movimientos sociales, de la plaza pública a la...Grupo 11  nuevas tecnologías y movimientos sociales, de la plaza pública a la...
Grupo 11 nuevas tecnologías y movimientos sociales, de la plaza pública a la...evasanmar
 
Utility bill project.doc
Utility bill project.docUtility bill project.doc
Utility bill project.docJeremy Forczyk
 
Solihull in Bloom_Damson Wood
Solihull in Bloom_Damson WoodSolihull in Bloom_Damson Wood
Solihull in Bloom_Damson WoodHoward Rose
 
Mi452 a v8_um_fr
Mi452 a v8_um_frMi452 a v8_um_fr
Mi452 a v8_um_frKim Schmock
 
Coursera whartonmarketing 2015
Coursera whartonmarketing 2015Coursera whartonmarketing 2015
Coursera whartonmarketing 2015Fabiola Galvis
 
Press Release_BCPS_ Rugby
Press Release_BCPS_ RugbyPress Release_BCPS_ Rugby
Press Release_BCPS_ RugbyHoward Rose
 
Emarketing Paris 2012 : Awards
Emarketing Paris 2012 : AwardsEmarketing Paris 2012 : Awards
Emarketing Paris 2012 : Awards
François-Yves Prigent
 
Teksavers is a Leading Cisco Reseller in Austin
Teksavers is a Leading Cisco Reseller in AustinTeksavers is a Leading Cisco Reseller in Austin
Teksavers is a Leading Cisco Reseller in Austin
Chris Miller
 
Weather elements and factors
Weather elements and factorsWeather elements and factors
Weather elements and factorsShabana Yasmin
 

Viewers also liked (14)

Press Release_BCPS_ School is FAB!
Press Release_BCPS_ School is FAB!Press Release_BCPS_ School is FAB!
Press Release_BCPS_ School is FAB!
 
La prepa
La prepaLa prepa
La prepa
 
Grupo 11 nuevas tecnologías y movimientos sociales, de la plaza pública a la...
Grupo 11  nuevas tecnologías y movimientos sociales, de la plaza pública a la...Grupo 11  nuevas tecnologías y movimientos sociales, de la plaza pública a la...
Grupo 11 nuevas tecnologías y movimientos sociales, de la plaza pública a la...
 
Resume-Arunachalam-with Appendix
Resume-Arunachalam-with AppendixResume-Arunachalam-with Appendix
Resume-Arunachalam-with Appendix
 
Utility bill project.doc
Utility bill project.docUtility bill project.doc
Utility bill project.doc
 
NY
NYNY
NY
 
Solihull in Bloom_Damson Wood
Solihull in Bloom_Damson WoodSolihull in Bloom_Damson Wood
Solihull in Bloom_Damson Wood
 
Mi452 a v8_um_fr
Mi452 a v8_um_frMi452 a v8_um_fr
Mi452 a v8_um_fr
 
Coursera whartonmarketing 2015
Coursera whartonmarketing 2015Coursera whartonmarketing 2015
Coursera whartonmarketing 2015
 
Press Release_BCPS_ Rugby
Press Release_BCPS_ RugbyPress Release_BCPS_ Rugby
Press Release_BCPS_ Rugby
 
Rapport 2
Rapport 2Rapport 2
Rapport 2
 
Emarketing Paris 2012 : Awards
Emarketing Paris 2012 : AwardsEmarketing Paris 2012 : Awards
Emarketing Paris 2012 : Awards
 
Teksavers is a Leading Cisco Reseller in Austin
Teksavers is a Leading Cisco Reseller in AustinTeksavers is a Leading Cisco Reseller in Austin
Teksavers is a Leading Cisco Reseller in Austin
 
Weather elements and factors
Weather elements and factorsWeather elements and factors
Weather elements and factors
 

Similar to Ember

Rohit Yadav - Modern UI for CloudStack
Rohit Yadav - Modern UI for CloudStackRohit Yadav - Modern UI for CloudStack
Rohit Yadav - Modern UI for CloudStack
ShapeBlue
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
75waytechnologies
 
Creating a custom API for a headless Drupal
Creating a custom API for a headless DrupalCreating a custom API for a headless Drupal
Creating a custom API for a headless Drupal
Exove
 
Day in a life of a node.js developer
Day in a life of a node.js developerDay in a life of a node.js developer
Day in a life of a node.js developerEdureka!
 
Day In A Life Of A Node.js Developer
Day In A Life Of A Node.js DeveloperDay In A Life Of A Node.js Developer
Day In A Life Of A Node.js Developer
Edureka!
 
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDBMongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
Vlad Fedosov
 
Industrial Training.pptx
Industrial Training.pptxIndustrial Training.pptx
Industrial Training.pptx
SamraatBansal1
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
Manuel Carrasco Moñino
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JSFestUA
 
Karan CV 2016
Karan CV 2016Karan CV 2016
Karan CV 2016
KARAN KUMAR
 
An overview of node.js
An overview of node.jsAn overview of node.js
An overview of node.js
valuebound
 
Building production-quality apps with Node.js
Building production-quality apps with Node.jsBuilding production-quality apps with Node.js
Building production-quality apps with Node.js
mattpardee
 
AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)
Alex Ross
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneursRodrigo Gil
 

Similar to Ember (20)

Node js
Node jsNode js
Node js
 
Rohit Yadav - Modern UI for CloudStack
Rohit Yadav - Modern UI for CloudStackRohit Yadav - Modern UI for CloudStack
Rohit Yadav - Modern UI for CloudStack
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
 
Creating a custom API for a headless Drupal
Creating a custom API for a headless DrupalCreating a custom API for a headless Drupal
Creating a custom API for a headless Drupal
 
Day in a life of a node.js developer
Day in a life of a node.js developerDay in a life of a node.js developer
Day in a life of a node.js developer
 
Day In A Life Of A Node.js Developer
Day In A Life Of A Node.js DeveloperDay In A Life Of A Node.js Developer
Day In A Life Of A Node.js Developer
 
Vitaliy Kryvonos_CV_up
Vitaliy Kryvonos_CV_upVitaliy Kryvonos_CV_up
Vitaliy Kryvonos_CV_up
 
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDBMongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
MongoDB Days Silicon Valley: Winning the Dreamforce Hackathon with MongoDB
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
 
Industrial Training.pptx
Industrial Training.pptxIndustrial Training.pptx
Industrial Training.pptx
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
 
CV
CVCV
CV
 
Karan CV 2016
Karan CV 2016Karan CV 2016
Karan CV 2016
 
An overview of node.js
An overview of node.jsAn overview of node.js
An overview of node.js
 
Building production-quality apps with Node.js
Building production-quality apps with Node.jsBuilding production-quality apps with Node.js
Building production-quality apps with Node.js
 
AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)
 
New paradigms
New paradigmsNew paradigms
New paradigms
 
KaranDeepSinghCV
KaranDeepSinghCVKaranDeepSinghCV
KaranDeepSinghCV
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
 

Recently uploaded

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 

Recently uploaded (20)

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 

Ember

  • 2. Ember ● All-Inclusive MVC framework for creating ambitious web applications ● Great for RoR developers ● Convention over configuration ● WOW moments ● Started from Sproutcore 2
  • 3. Team behind Ember ● Yehuda Katz (also member of Ruby on Rails and jQuery core team) ● Tom Dale (Apple, SproutCore) ● + 6 more core members ● Used by: Square, Tilde, Groupon, Yapp, Livingsocial, Zendesk, Addepar...
  • 4. Advantages I ● Handlebars (templates that update automatically, less code) ● Associations App.Project = DS.Model.extend({ user: DS.belongsTo('App.User') }); ● Router (similar to RoR) App.Router.map(function() { this.resource('projects',function(){ this.route('new' ); this.resource('project', { path: '/:project_id' }); }); }); App.User = DS.Model.extend({ projects: DS.hasMany('App.Project') });
  • 5. Advantages II ● Computed properties remaining: function() { var todos = this.get('todos'); return todos.filterProperty('isDone', false).get('length'); }.property('todos.@each.isDone') ● Bindings - keeps everything updated ● Convention over configuration(saves you a lot of time)
  • 6. Disadvantages ● Current version - 1.0.0-RC.2 ● Lack of documentation & Confusing tutorials ● Get ready for hours on stackoverflow.com ● Convention over configuration(too much magic sometimes....) ● Ember Data( not a dependency, Ember.js. Discourse, for example, uses its own, simple wrapper around $.ajax) – not working as expected, not stable – not production ready! http://eviltrout.com/2013/03/23/ember-without-data.html)
  • 8. Sample App I: App = Ember.Application.create(); App.Person = Ember.Object.extend({ firstName: null, lastName: null, fullName: function() { return this.get('firstName') + " " + this.get('lastName'); }.property('firstName', 'lastName') }); App.IndexRoute = Ember.Route.extend({ model: function() { var people = [ App.Person.create({ firstName: "Yehuda", lastName: "Katz" }) ]; return people; } });
  • 9. Sample App II: <script type="text/x-handlebars"> {{outlet}} </script> <script type="text/x-handlebars" id="index"> <h1>People</h1> <ul> {{#each model}} <li>Hello, <b>{{fullName}}</b>!</li> {{/each}} </ul> </script>
  • 10. Thank you Resources: – emberwatch.com – emberjs.com/guides/ – discuss.emberjs.com & discourse.org – peepcode.com/products/emberjs – stackoverflow.com :)