SlideShare uma empresa Scribd logo
1 de 69
Baixar para ler offline
What is Ember?
Full Stack
Aspirational
Without boiling the ocean
Browsers figured out how to have stability without stagnation
We copied them
Rolling in Best Practices
Chasing the Hype Dragon
We are exhausted of chasing the hype dragon. Finding good ideas and rolling them into something stable and cutting edge is better.
Delivering On Our Promises
If you look at Ember at any given point, it may look like there's a lot of vaporware, but we have a history of coming through.
Ember CLI
Ember App Kit experimented, and Ember CLI delivers a stable, framework-level solution.
Ember CLI
$	
  ember	
  server
Ember App Kit experimented, and Ember CLI delivers a stable, framework-level solution.
My EmberCamp keynote
ES6 Modularization
<script	
  type="text/x-­‐placeholder">
Ember 1.8: Metal Views
Script tags finally removed in stable, tomorrow!
Up to Date
bustle.com 1.8.0-beta.5
discourse.org 1.6.0
vine.co 1.7.0
squareup.com 1.5.0
intercom.io 1.7.0
travis-ci.org 1.6.1
ghost.org 1.7.0
We take stability very seriously, and are rewarded with apps staying largely up to date. This means an ecosystem that is able to take advantage of
improvements.
Demo
We're Always Learning
We learned from Backbone that there was virtue in a small scope and keeping small (relative to SproutCore!)
We learned from Angular the virtue of directives and dependency injection.
And we learned from React the virtue of more explicit data flow and coarses updated made fast via virtual DOMs.
So what is Ember?
Consistency!
Our highest value is consistency.
/apps/1
It doesn't matter how you navigate to a route; the vast majority of the code is identical. This allows you to experiment and tinker a lot more without things
breaking.
/apps/1
navigate
It doesn't matter how you navigate to a route; the vast majority of the code is identical. This allows you to experiment and tinker a lot more without things
breaking.
/apps/1
navigate
/apps/2
It doesn't matter how you navigate to a route; the vast majority of the code is identical. This allows you to experiment and tinker a lot more without things
breaking.
/apps/1
navigate
/apps/2 /settings
It doesn't matter how you navigate to a route; the vast majority of the code is identical. This allows you to experiment and tinker a lot more without things
breaking.
/apps/1
navigate
/apps/2 /settings
?
It doesn't matter how you navigate to a route; the vast majority of the code is identical. This allows you to experiment and tinker a lot more without things
breaking.
Here's a bit of app state (the user's name).
Yehuda Katz
Here's a bit of app state (the user's name).
Yehuda Katz
I open the Ember inspector and find the user model.
Yehuda Katz
I edit it.
Yehuda KatzYehuda Katz
Yehuda Katz
Yehuda Katz
And you can see that the name updates.
And you can see that the name updates.
• Initial Load
• Web Socket
• Settings Page
• Internationalization
• ...
There are many ways for this application-wide model to update, and many places where it appears. Keeping the update consistent (data bindings) means
you can change the flow of those updates and never have the UI get out of sync.
• Initial Load
• Web Socket
• Settings Page
• Internationalization
• ...
Yehuda Katz
There are many ways for this application-wide model to update, and many places where it appears. Keeping the update consistent (data bindings) means
you can change the flow of those updates and never have the UI get out of sync.
One Representation
&
One Code Path
There is only one representation of visual UI (data bound template with declarative data flow) and one code path for navigation (routes). This means that
navigating in a different order or loading data differently (or adding push!) doesn't break things.
Freedom to Explore and Tinker
This gives you the freedom to explore new ideas far more aggressively and refactor your UI without fear. This is something we have taken advantage of in
Skylight and I can attest that it works as advertised.
Without Fear
The Future
The Future
?
HTMLBars!
The two things I am most excited about are getting rid of {{bind-attr}} and the macro-performance improvements we will eventually get from coarser
updates and virtual-DOM-style diffing. The micro-improvements (up to 2x) don't hurt either.
HTMLBars!
<a	
  class="{{active}}"	
  href="{{url}}.html">
The two things I am most excited about are getting rid of {{bind-attr}} and the macro-performance improvements we will eventually get from coarser
updates and virtual-DOM-style diffing. The micro-improvements (up to 2x) don't hurt either.
HTMLBars!
<a	
  class="{{active}}"	
  href="{{url}}.html">
The two things I am most excited about are getting rid of {{bind-attr}} and the macro-performance improvements we will eventually get from coarser
updates and virtual-DOM-style diffing. The micro-improvements (up to 2x) don't hurt either.
Simpler and Clearer
Simpler and Clearer
• Controllers
Simpler and Clearer
• Controllers
• Top-Level Components driven by the Router
Simpler and Clearer
• Controllers
• Top-Level Components driven by the Router
• Simplified inter-component data-flow and virtual DOM inspired by React.js
Simpler and Clearer
• Controllers
• Top-Level Components driven by the Router
• Simplified inter-component data-flow and virtual DOM inspired by React.js
• Finished full-stack documented all together on the website
• Ember w/ Modules
• Ember Data
• Ember CLI
• Ember Inspector
Stop Chasing the Hype Dragon
"Eventually all the good ideas will end up in Ember"
Ember's release process gives you Stability without Stagnation. We stay close to the cutting edge (modules, build tooling, virtual DOM) but in an orderly
way that you can build apps on. Join us!

Mais conteúdo relacionado

Mais procurados

Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?
Akana
 
Designing your API Server for mobile apps
Designing your API Server for mobile appsDesigning your API Server for mobile apps
Designing your API Server for mobile apps
Mugunth Kumar
 

Mais procurados (16)

API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?
 
Anatomy of an APS 2 appication
Anatomy of an APS 2 appicationAnatomy of an APS 2 appication
Anatomy of an APS 2 appication
 
Modern websites in 2020 and Joomla
Modern websites in 2020 and JoomlaModern websites in 2020 and Joomla
Modern websites in 2020 and Joomla
 
Phoenix for Rubyists
Phoenix for RubyistsPhoenix for Rubyists
Phoenix for Rubyists
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 
Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?Making Sense of Hypermedia APIs – Hype or Reality?
Making Sense of Hypermedia APIs – Hype or Reality?
 
Designing your API Server for mobile apps
Designing your API Server for mobile appsDesigning your API Server for mobile apps
Designing your API Server for mobile apps
 
WJAX 2013: Java8-Tooling in Eclipse
WJAX 2013: Java8-Tooling in EclipseWJAX 2013: Java8-Tooling in Eclipse
WJAX 2013: Java8-Tooling in Eclipse
 
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
 
Devops at Netflix (re:Invent)
Devops at Netflix (re:Invent)Devops at Netflix (re:Invent)
Devops at Netflix (re:Invent)
 
Os Smarr
Os SmarrOs Smarr
Os Smarr
 
Connect js nodejs_devops_shubhra
Connect js nodejs_devops_shubhraConnect js nodejs_devops_shubhra
Connect js nodejs_devops_shubhra
 
CI/CD and Asset Serving for Single Page Apps
CI/CD and Asset Serving for Single Page AppsCI/CD and Asset Serving for Single Page Apps
CI/CD and Asset Serving for Single Page Apps
 
Write Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js MunichWrite Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js Munich
 
Building Mobile Apps With Ionic & Loopback
Building Mobile Apps With Ionic & LoopbackBuilding Mobile Apps With Ionic & Loopback
Building Mobile Apps With Ionic & Loopback
 
Introduction to micro-services @DevOps pune Meetup
Introduction to micro-services @DevOps pune Meetup Introduction to micro-services @DevOps pune Meetup
Introduction to micro-services @DevOps pune Meetup
 

Destaque

Destaque (20)

What Academia Can Learn from Open Source
What Academia Can Learn from Open SourceWhat Academia Can Learn from Open Source
What Academia Can Learn from Open Source
 
Software Development as a Civic Service
Software Development as a Civic ServiceSoftware Development as a Civic Service
Software Development as a Civic Service
 
Version Control and Git - GitHub Workshop
Version Control and Git - GitHub WorkshopVersion Control and Git - GitHub Workshop
Version Control and Git - GitHub Workshop
 
Trademarks and Your Free and Open Source Software Project
Trademarks and Your Free and Open Source Software ProjectTrademarks and Your Free and Open Source Software Project
Trademarks and Your Free and Open Source Software Project
 
Considerations for Operating an OpenStack Cloud
Considerations for Operating an OpenStack CloudConsiderations for Operating an OpenStack Cloud
Considerations for Operating an OpenStack Cloud
 
Open Source & The Internet of Things
Open Source & The Internet of ThingsOpen Source & The Internet of Things
Open Source & The Internet of Things
 
Women in Open Source
Women in Open SourceWomen in Open Source
Women in Open Source
 
Stop Worrying & Love the SQL - A Case Study
Stop Worrying & Love the SQL - A Case StudyStop Worrying & Love the SQL - A Case Study
Stop Worrying & Love the SQL - A Case Study
 
Open Data + Open Government = Open Goodness
Open Data + Open Government = Open GoodnessOpen Data + Open Government = Open Goodness
Open Data + Open Government = Open Goodness
 
Open Sourcing the Public Library
Open Sourcing the Public LibraryOpen Sourcing the Public Library
Open Sourcing the Public Library
 
HTML for the Mobile Web, Firefox OS
HTML for the Mobile Web, Firefox OSHTML for the Mobile Web, Firefox OS
HTML for the Mobile Web, Firefox OS
 
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP AnywayI Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
 
Open Source in Healthcare
Open Source in HealthcareOpen Source in Healthcare
Open Source in Healthcare
 
Marketing is not all fluff; engineering is not all math
Marketing is not all fluff; engineering is not all mathMarketing is not all fluff; engineering is not all math
Marketing is not all fluff; engineering is not all math
 
All Things Open Opening Keynote
All Things Open Opening KeynoteAll Things Open Opening Keynote
All Things Open Opening Keynote
 
The Anti-Henry Ford: How 200 hour discoveries revolutionized the way we do bu...
The Anti-Henry Ford: How 200 hour discoveries revolutionized the way we do bu...The Anti-Henry Ford: How 200 hour discoveries revolutionized the way we do bu...
The Anti-Henry Ford: How 200 hour discoveries revolutionized the way we do bu...
 
What Does Big Data Really Mean for Your Business?
What Does Big Data Really Mean for Your Business?What Does Big Data Really Mean for Your Business?
What Does Big Data Really Mean for Your Business?
 
How Raleigh Became an Open Source City
How Raleigh Became an Open Source CityHow Raleigh Became an Open Source City
How Raleigh Became an Open Source City
 
Developing Apps for Google Glass Using Javascript & Ruby
Developing Apps for Google Glass Using Javascript & RubyDeveloping Apps for Google Glass Using Javascript & Ruby
Developing Apps for Google Glass Using Javascript & Ruby
 
Building the iRODS Consortium
Building the iRODS ConsortiumBuilding the iRODS Consortium
Building the iRODS Consortium
 

Semelhante a The Ember.js Framework - Everything You Need To Know

Semelhante a The Ember.js Framework - Everything You Need To Know (20)

Don't screw it up! How to build durable API
Don't screw it up! How to build durable API Don't screw it up! How to build durable API
Don't screw it up! How to build durable API
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one week
 
Node.js meetup 17.05.2017 ember.js - escape the javascript fatigue
Node.js meetup 17.05.2017   ember.js - escape the javascript fatigueNode.js meetup 17.05.2017   ember.js - escape the javascript fatigue
Node.js meetup 17.05.2017 ember.js - escape the javascript fatigue
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with docker
 
Practical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobusPractical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobus
 
Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applications
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014
 
Immutable Infrastructure & Rethinking Configuration - Interop 2019
Immutable Infrastructure & Rethinking Configuration - Interop 2019Immutable Infrastructure & Rethinking Configuration - Interop 2019
Immutable Infrastructure & Rethinking Configuration - Interop 2019
 
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty Details
 
Better and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and EnjoymentBetter and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and Enjoyment
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE
 
The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management
 
soa
soasoa
soa
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE
 
Web servicesoverview
Web servicesoverviewWeb servicesoverview
Web servicesoverview
 
Web servicesoverview
Web servicesoverviewWeb servicesoverview
Web servicesoverview
 
WebAssembly & Zero Trust for Code
WebAssembly & Zero Trust for CodeWebAssembly & Zero Trust for Code
WebAssembly & Zero Trust for Code
 
Atlanta Drupal Users Group - October 2015 - Success of the GT Redesign
Atlanta Drupal Users Group - October 2015 - Success of the GT RedesignAtlanta Drupal Users Group - October 2015 - Success of the GT Redesign
Atlanta Drupal Users Group - October 2015 - Success of the GT Redesign
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
 

Mais de All Things Open

Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public Policy
All Things Open
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
All Things Open
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart Contract
All Things Open
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with Background
All Things Open
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open Source
All Things Open
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in control
All Things Open
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
All Things Open
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
All Things Open
 

Mais de All Things Open (20)

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of Observability
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best Practices
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public Policy
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil Nash
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScript
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart Contract
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and Success
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with Background
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssembly
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in Haystacks
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit Intercept
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship Program
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open Source
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache Beam
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in control
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

The Ember.js Framework - Everything You Need To Know

  • 1.
  • 6. Browsers figured out how to have stability without stagnation
  • 8.
  • 9. Rolling in Best Practices
  • 10. Chasing the Hype Dragon We are exhausted of chasing the hype dragon. Finding good ideas and rolling them into something stable and cutting edge is better.
  • 11. Delivering On Our Promises If you look at Ember at any given point, it may look like there's a lot of vaporware, but we have a history of coming through.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Ember CLI Ember App Kit experimented, and Ember CLI delivers a stable, framework-level solution.
  • 18. Ember CLI $  ember  server Ember App Kit experimented, and Ember CLI delivers a stable, framework-level solution.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 27.
  • 28. Ember 1.8: Metal Views Script tags finally removed in stable, tomorrow!
  • 29.
  • 30.
  • 31. Up to Date bustle.com 1.8.0-beta.5 discourse.org 1.6.0 vine.co 1.7.0 squareup.com 1.5.0 intercom.io 1.7.0 travis-ci.org 1.6.1 ghost.org 1.7.0 We take stability very seriously, and are rewarded with apps staying largely up to date. This means an ecosystem that is able to take advantage of improvements.
  • 32. Demo
  • 34.
  • 35. We learned from Backbone that there was virtue in a small scope and keeping small (relative to SproutCore!)
  • 36. We learned from Angular the virtue of directives and dependency injection.
  • 37. And we learned from React the virtue of more explicit data flow and coarses updated made fast via virtual DOMs.
  • 38. So what is Ember?
  • 40. /apps/1 It doesn't matter how you navigate to a route; the vast majority of the code is identical. This allows you to experiment and tinker a lot more without things breaking.
  • 41. /apps/1 navigate It doesn't matter how you navigate to a route; the vast majority of the code is identical. This allows you to experiment and tinker a lot more without things breaking.
  • 42. /apps/1 navigate /apps/2 It doesn't matter how you navigate to a route; the vast majority of the code is identical. This allows you to experiment and tinker a lot more without things breaking.
  • 43. /apps/1 navigate /apps/2 /settings It doesn't matter how you navigate to a route; the vast majority of the code is identical. This allows you to experiment and tinker a lot more without things breaking.
  • 44. /apps/1 navigate /apps/2 /settings ? It doesn't matter how you navigate to a route; the vast majority of the code is identical. This allows you to experiment and tinker a lot more without things breaking.
  • 45. Here's a bit of app state (the user's name).
  • 46. Yehuda Katz Here's a bit of app state (the user's name).
  • 47. Yehuda Katz I open the Ember inspector and find the user model.
  • 51. Yehuda Katz And you can see that the name updates.
  • 52. And you can see that the name updates.
  • 53. • Initial Load • Web Socket • Settings Page • Internationalization • ... There are many ways for this application-wide model to update, and many places where it appears. Keeping the update consistent (data bindings) means you can change the flow of those updates and never have the UI get out of sync.
  • 54. • Initial Load • Web Socket • Settings Page • Internationalization • ... Yehuda Katz There are many ways for this application-wide model to update, and many places where it appears. Keeping the update consistent (data bindings) means you can change the flow of those updates and never have the UI get out of sync.
  • 55. One Representation & One Code Path There is only one representation of visual UI (data bound template with declarative data flow) and one code path for navigation (routes). This means that navigating in a different order or loading data differently (or adding push!) doesn't break things.
  • 56. Freedom to Explore and Tinker This gives you the freedom to explore new ideas far more aggressively and refactor your UI without fear. This is something we have taken advantage of in Skylight and I can attest that it works as advertised.
  • 60. HTMLBars! The two things I am most excited about are getting rid of {{bind-attr}} and the macro-performance improvements we will eventually get from coarser updates and virtual-DOM-style diffing. The micro-improvements (up to 2x) don't hurt either.
  • 61. HTMLBars! <a  class="{{active}}"  href="{{url}}.html"> The two things I am most excited about are getting rid of {{bind-attr}} and the macro-performance improvements we will eventually get from coarser updates and virtual-DOM-style diffing. The micro-improvements (up to 2x) don't hurt either.
  • 62. HTMLBars! <a  class="{{active}}"  href="{{url}}.html"> The two things I am most excited about are getting rid of {{bind-attr}} and the macro-performance improvements we will eventually get from coarser updates and virtual-DOM-style diffing. The micro-improvements (up to 2x) don't hurt either.
  • 64. Simpler and Clearer • Controllers
  • 65. Simpler and Clearer • Controllers • Top-Level Components driven by the Router
  • 66. Simpler and Clearer • Controllers • Top-Level Components driven by the Router • Simplified inter-component data-flow and virtual DOM inspired by React.js
  • 67. Simpler and Clearer • Controllers • Top-Level Components driven by the Router • Simplified inter-component data-flow and virtual DOM inspired by React.js • Finished full-stack documented all together on the website • Ember w/ Modules • Ember Data • Ember CLI • Ember Inspector
  • 68. Stop Chasing the Hype Dragon "Eventually all the good ideas will end up in Ember"
  • 69. Ember's release process gives you Stability without Stagnation. We stay close to the cutting edge (modules, build tooling, virtual DOM) but in an orderly way that you can build apps on. Join us!