SlideShare a Scribd company logo
EmberCLI Rails
An Integration Love Story
Jonathan
Jackson
@rondale_sc
rondale-sc
jonathan.jackson1@me.com
jonathan-jackson.net
EmberCLI Rails: An Integration Love Story.
EmberCLI Rails: An Integration Love Story.
EmberCLI Rails: An Integration Love Story.
http://www.meetup.com/EmberJax/
emberweekend.com
Jonathan
Jackson
@rondale_sc
rondale-sc
jonathan.jackson1@me.com
jonathan-jackson.net
What I’ll be covering
• A brief intro to Ember.js
• The History of Rails and Ember
• Introduction to EmberCLI Rails gem
• Goals of the EmberCLI Rails project
A Brief Intro to
Ember.js
—Luke Melia
“98% of building good
apps is understanding
your layers and knowing
what code should go
where.”
MVC
Well, Kinda.
More like MVCR+
Router
• Application state
• Updates URL per route transition
Models
• Persisting Objects
Views
• DOM Interactions
• DOM events to semantic actions
Controllers
• Presenting data for view layer to render
Why Ember.js is appealing
to Rails developers.
Yehuda
Convention over
configuration
Shared
nomenclature*
Emphasis on
meaningful URLs
Focus on testing
Rails <3 Ember
• Yehuda
• Convention over configuration
• Shared nomenclature*
• Emphasis on meaningful URLs
• Focus on Testing
201-created.com/ember-community-survey-2015
The History of Rails
and Ember
Globals and inline templates
emberjs.jsbin.com
Ember Rails (gem)
x
Rails
• Globals (still)
• File Structure
• Precompiled templates into asset pipeline
API Testing Generators
Asset
Compilation
Asset
Serving
Ember AppKit
• precursor to EmberCLI
• Grunt build tooling
• ES6 transpilation
• Solid project structure
• Frontend/backend package management via
NPM/Bower
Bower
Upgrades are hard!
xx
Ember AppKit Rails (gem)
API Testing Generators
Asset
Compilation
Asset
Serving
Rails Ember
• Rails generators for AppKit resources
• Tests accessible in Rails-land
• Simple API versioning
• Compiled to AMD
Upgrades are hard!
EmberCLI
• Successor of Ember AppKit
• Broccoli as a build tool
• Testing harness out of the box
• Constant improvements
• Addons
Upgradability
• Solid upgrade path with `ember init`
• guided upgrade with blueprints used for diff
Complete Separation
• Tested independently
• Allows for greater specialization
• Flexible backend
• Separation of concerns at a system level
xxAPI Testing Generators
Asset
Compilation
Asset
Serving
Testing
Rails Ember
No full-stack acceptance
testing conventions
Ad hoc development
workflows
EmberCLI Rails: An Integration Love Story.
Doesn't work well with
existing applications
Deployments become
more complicated
EmberCLI Rails: An Integration Love Story.
The pitfalls of complete
separation
• No full-stack acceptance testing conventions
• Ad hoc solutions to development workflow
• Doesn't work with existing applications
• Without excessive duplication
• Deployments become more complicated
(conventions)
The EmberCLI Rails
gem
Somewhere in Between...
Responsibilities of EmberCLI
Rails
xAPI Testing
Rails
x Generators
Asset
Compilation
Asset
Serving
Testing
Ember
x x
RA
T
Ge
AssAs
E
Responsibilities of EmberCLI
Rails
x x
Rails
API
Testing
Generators
Asset
Compilation
Asset
Serving
Ember
How does it work?
EmberCLI Rails: An Integration Love Story.
How do I use it?
We start with a Rails app...
EmberCLI Rails: An Integration Love Story.
EmberCLI Rails: An Integration Love Story.
EmberCLI Rails: An Integration Love Story.
Goals of the EmberCLI
Rails Project
EmberCLI Rails: An Integration Love Story.
Maybe we have some time for a demo?
demo
demo2 - shameless plug
Jonathan
Jackson
@rondale_sc
rondale-sc
jonathan.jackson1@me.com
jonathan-jackson.net

More Related Content

PPTX
Web api using rest based architecture
PDF
User-percieved performance
PPT
Real World Rails Deployment
PDF
RubyConf Taiwan 2016 - Large scale Rails applications
PDF
Rails api + JS app
KEY
Scala and Lift
PDF
Write Once, Run Everywhere - Ember.js Munich
PDF
[CocoaHeads Tricity] Andrzej Dąbrowski - Dependency injection and testable ar...
Web api using rest based architecture
User-percieved performance
Real World Rails Deployment
RubyConf Taiwan 2016 - Large scale Rails applications
Rails api + JS app
Scala and Lift
Write Once, Run Everywhere - Ember.js Munich
[CocoaHeads Tricity] Andrzej Dąbrowski - Dependency injection and testable ar...

What's hot (20)

PPTX
DevOps with AWS in 2016
PDF
Colorado Cloud Foundry Meeting
PPTX
03 spring cloud eureka service discovery
PPTX
Expose BizTalk to the world (ACSUG)
PPTX
GDL OpenStack Community - Openstack Introduction
PPTX
AWS Serverless solution for developers
PDF
C# 8 and .NET Core 3
PDF
APIdays Paris 2018 - Secure & Manage APIs with GraphQL, Ozair Sheikh, Directo...
PPT
Streamlined Geek Talk
PPTX
DevCon 2018 - 5 ways to use AWS with Alfresco
PDF
Deployment Nirvana
PPTX
Mean machine
PDF
Generating Faster ML Predictions in Fusion - Kiran Chitturi, Lucidworks
PDF
Aqa talk yuriy oprysk
PDF
Rails 5 subjective overview
KEY
Harnessing the Crowds for Automating the Identification of Web APIs
PPTX
Tokyo Azure Meetup #14 - Azure Functions Proxies
PPTX
Magento Developer Talk. Microservice Architecture and Actor Model
PDF
.NET Core Foundations - Dependency Injection, Logging & Configuration - BASTA...
PPT
Rails engines
DevOps with AWS in 2016
Colorado Cloud Foundry Meeting
03 spring cloud eureka service discovery
Expose BizTalk to the world (ACSUG)
GDL OpenStack Community - Openstack Introduction
AWS Serverless solution for developers
C# 8 and .NET Core 3
APIdays Paris 2018 - Secure & Manage APIs with GraphQL, Ozair Sheikh, Directo...
Streamlined Geek Talk
DevCon 2018 - 5 ways to use AWS with Alfresco
Deployment Nirvana
Mean machine
Generating Faster ML Predictions in Fusion - Kiran Chitturi, Lucidworks
Aqa talk yuriy oprysk
Rails 5 subjective overview
Harnessing the Crowds for Automating the Identification of Web APIs
Tokyo Azure Meetup #14 - Azure Functions Proxies
Magento Developer Talk. Microservice Architecture and Actor Model
.NET Core Foundations - Dependency Injection, Logging & Configuration - BASTA...
Rails engines
Ad

Similar to EmberCLI Rails: An Integration Love Story. (20)

KEY
UPenn on Rails intro
PDF
RubyConf China 2015 - Rails off assets pipeline
PDF
Running database infrastructure on containers
PDF
React Tech Salon
PDF
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
PPT
Ember.js: Jump Start
PPTX
Introduction to ASP.NET 5
PDF
Running database infrastructure on containers
PDF
REST vs. GraphQL: Critical Look
PDF
Demystifying Ruby on Rails
PPTX
Xamarin.Forms Bootcamp
PDF
Innovating faster with SBT, Continuous Delivery, and LXC
PDF
Android testing-with-selenium-webdriver Online Training
KEY
Backbonification for dummies - Arrrrug 10/1/2012
PDF
How to Build a Big Data Application: Serverless Edition
PPTX
Show Some Spine!
PPTX
ASP.NET 5
PDF
How to Build a Big Data Application: Serverless Edition
PPTX
Salesforce lwc development workshops session #2
PPTX
JavaScript MVC Frameworks: Backbone, Ember and Angular JS
UPenn on Rails intro
RubyConf China 2015 - Rails off assets pipeline
Running database infrastructure on containers
React Tech Salon
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ember.js: Jump Start
Introduction to ASP.NET 5
Running database infrastructure on containers
REST vs. GraphQL: Critical Look
Demystifying Ruby on Rails
Xamarin.Forms Bootcamp
Innovating faster with SBT, Continuous Delivery, and LXC
Android testing-with-selenium-webdriver Online Training
Backbonification for dummies - Arrrrug 10/1/2012
How to Build a Big Data Application: Serverless Edition
Show Some Spine!
ASP.NET 5
How to Build a Big Data Application: Serverless Edition
Salesforce lwc development workshops session #2
JavaScript MVC Frameworks: Backbone, Ember and Angular JS
Ad

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Cloud computing and distributed systems.
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
cuic standard and advanced reporting.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
KodekX | Application Modernization Development
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Chapter 3 Spatial Domain Image Processing.pdf
MYSQL Presentation for SQL database connectivity
NewMind AI Weekly Chronicles - August'25 Week I
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Cloud computing and distributed systems.
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
cuic standard and advanced reporting.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Per capita expenditure prediction using model stacking based on satellite ima...
The AUB Centre for AI in Media Proposal.docx
Reach Out and Touch Someone: Haptics and Empathic Computing
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
KodekX | Application Modernization Development
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Big Data Technologies - Introduction.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Chapter 3 Spatial Domain Image Processing.pdf

EmberCLI Rails: An Integration Love Story.