SlideShare a Scribd company logo
+!
Hi I’m…!
!
Cheenu Madan



Web development for

almost 15 years.



Last 4 years on 

Ruby on Rails



Built most of ClinchPad

on Backbone.js

!- 30k+ LOC Javascript

!- 20k+ LOC Ruby!
!
Built with Backbone.js	
  
Lets dive straight into code

!
1.  git clone https://github.com/dthtvwls/
rails-backbone-todos.git!
2.  bundle install!
3.  rails s!
4.  localhost:3000 !
 	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Mapping	
  
Models	
  &	
  Collec+ons	
  
	
  
Views	
  &	
  Routers	
  
	
  
Templates	
  	
  
Models	
  	
  
	
  
Controllers	
  
	
  
Views	
  
Advantages!
!
•  Separation of business logic & presentation
logic

!
•  Add structure to applications

!
•  Single page “desktop style” applications

!
•  Technically less data sent over the wire!
Disadvantages!
!
!
•  Harder to get started

!
•  Code duplication

!
•  SEO

!
•  Dealing with non-RESTful backends !
Where you should use it



!
•  Applications where responsiveness is
important!
•  Large code bases

!
•  API driven development 

!
•  Dynamic data that is frequently transformed!
Where you shouldn’t use it



!
•  Small projects - <1000 LOC!
•  Public facing websites e.g. news portals

!
•  Applications which aren’t very interactive

!
•  Mobile first applications that need to run on
old phones (e.g. Android 2.2)

!
Light	
  (11.5kb)	
  
	
  
Building	
  blocks	
  
	
  
Sinatra	
  like	
  
Heavy	
  (71kb)	
  
	
  
Opinionated	
  
	
  
Rails	
  like	
  
Heavy	
  (75kb)	
  
	
  
Opinionated	
  
	
  
Futuris+c	
  	
  
Comparison!
Also written by the creator
of Backbone.js, works
great with Backbone.js!
More expressive than the!
default underscore
templates!
Will make your life much,
much easier. Just ignore the
huge size and include it!!
Stuff that plays nice!
Popular Backbone.js Extensions

	
  
Rails & Backbone.js

More Related Content

PPTX
Service Workers: no more offline!
PDF
Protostrap
PPTX
Testing your Single Page Application
PPTX
Office script labs
PPT
Maglev-A different way to develop with Ruby
PDF
IBM Domino Modernizing apps with Angularjs
PPTX
Iconus 2016
PPTX
Wix Apps in WP TLV
Service Workers: no more offline!
Protostrap
Testing your Single Page Application
Office script labs
Maglev-A different way to develop with Ruby
IBM Domino Modernizing apps with Angularjs
Iconus 2016
Wix Apps in WP TLV

What's hot (20)

PPTX
SharePoint Saturday Twin Cities - SharePoint Framework, Angular & Azure Funct...
PPTX
SharePoint Saturday Vancouver - SharePoint Framework, Angular and Azure Funct...
PDF
RDBMS & noSQL: Mixed for best performance
PPTX
How Shopify Is Scaling Up Its Redis Message Queues
PPTX
SharePoint Fest DC - SharePoint Framework, Angular and Azure Functions
PPTX
DeveloperDeveloperDeveloper! Sydney 2012
PPTX
A practical approach on - How to design offline-online synchronization system
PPTX
SDLC, Agile methodologies and Career in Product management
PPTX
Lesson learned in developing UI and mobile apps blibli.com
PDF
Modern Static Site with GatsbyJS
PPTX
Dynamic web
PDF
Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発
PPTX
Client Side Performance for Back End Developers - Cambridge .NET User Group -...
PPTX
Less is more: Getting Real About Content and Features
PPTX
An Introduction to CoffeeScript
PPTX
Service workers What and Why?
PPTX
Gatsby intro
PPTX
Node.js Frameworks to watch for in 2019
PDF
Productive Rails development with RubyMine
PDF
[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders
SharePoint Saturday Twin Cities - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Vancouver - SharePoint Framework, Angular and Azure Funct...
RDBMS & noSQL: Mixed for best performance
How Shopify Is Scaling Up Its Redis Message Queues
SharePoint Fest DC - SharePoint Framework, Angular and Azure Functions
DeveloperDeveloperDeveloper! Sydney 2012
A practical approach on - How to design offline-online synchronization system
SDLC, Agile methodologies and Career in Product management
Lesson learned in developing UI and mobile apps blibli.com
Modern Static Site with GatsbyJS
Dynamic web
Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発
Client Side Performance for Back End Developers - Cambridge .NET User Group -...
Less is more: Getting Real About Content and Features
An Introduction to CoffeeScript
Service workers What and Why?
Gatsby intro
Node.js Frameworks to watch for in 2019
Productive Rails development with RubyMine
[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders
Ad

Similar to Rails & Backbone.js (20)

PDF
Ror Seminar With agilebd.org on 23 Jan09
PDF
PHP is the king, nodejs is the prince and Lua is the fool
KEY
Rhodes
PDF
Transitioning Groupon to Node.js - EmpireJS 2014
PPTX
Net as an awesome startup platform
PDF
Rails Girls: Programming, Web Applications and Ruby on Rails
PDF
Extreme Web Performance for Mobile Devices
PDF
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
PPTX
When to Use MongoDB
PDF
PHP is the King, nodejs is the Prince and Lua is the fool
PDF
How to Successfully Implement Headless Drupal
PPTX
Webinar: When to Use MongoDB
PDF
SGCE 2015 REST APIs
PDF
APIs distribuidos con alta escalabilidad
PPTX
Sp biz conf - using office graph api
PPTX
Be faster then rabbits
PDF
YOW2022-BNE-MinimalViableArchitecture.pdf
PDF
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
PDF
Better Framework Better Life
PDF
Web Application Intro for RailsGirls Berlin May 2013
Ror Seminar With agilebd.org on 23 Jan09
PHP is the king, nodejs is the prince and Lua is the fool
Rhodes
Transitioning Groupon to Node.js - EmpireJS 2014
Net as an awesome startup platform
Rails Girls: Programming, Web Applications and Ruby on Rails
Extreme Web Performance for Mobile Devices
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
When to Use MongoDB
PHP is the King, nodejs is the Prince and Lua is the fool
How to Successfully Implement Headless Drupal
Webinar: When to Use MongoDB
SGCE 2015 REST APIs
APIs distribuidos con alta escalabilidad
Sp biz conf - using office graph api
Be faster then rabbits
YOW2022-BNE-MinimalViableArchitecture.pdf
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
Better Framework Better Life
Web Application Intro for RailsGirls Berlin May 2013
Ad

Recently uploaded (20)

PPTX
Spectroscopy.pptx food analysis technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Approach and Philosophy of On baking technology
PPT
Teaching material agriculture food technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Machine learning based COVID-19 study performance prediction
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Network Security Unit 5.pdf for BCA BBA.
Spectroscopy.pptx food analysis technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
The Rise and Fall of 3GPP – Time for a Sabbatical?
“AI and Expert System Decision Support & Business Intelligence Systems”
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Spectral efficient network and resource selection model in 5G networks
Approach and Philosophy of On baking technology
Teaching material agriculture food technology
Digital-Transformation-Roadmap-for-Companies.pptx
Empathic Computing: Creating Shared Understanding
Programs and apps: productivity, graphics, security and other tools
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25 Week I
Machine learning based COVID-19 study performance prediction
Per capita expenditure prediction using model stacking based on satellite ima...
Network Security Unit 5.pdf for BCA BBA.

Rails & Backbone.js

  • 1. +!
  • 2. Hi I’m…! ! Cheenu Madan
 
 Web development for
 almost 15 years.
 
 Last 4 years on 
 Ruby on Rails
 
 Built most of ClinchPad
 on Backbone.js
 !- 30k+ LOC Javascript
 !- 20k+ LOC Ruby! !
  • 4. Lets dive straight into code
 ! 1.  git clone https://github.com/dthtvwls/ rails-backbone-todos.git! 2.  bundle install! 3.  rails s! 4.  localhost:3000 !
  • 5.                                              Mapping   Models  &  Collec+ons     Views  &  Routers     Templates     Models       Controllers     Views  
  • 6. Advantages! ! •  Separation of business logic & presentation logic
 ! •  Add structure to applications
 ! •  Single page “desktop style” applications
 ! •  Technically less data sent over the wire!
  • 7. Disadvantages! ! ! •  Harder to get started
 ! •  Code duplication
 ! •  SEO
 ! •  Dealing with non-RESTful backends !
  • 8. Where you should use it
 
 ! •  Applications where responsiveness is important! •  Large code bases
 ! •  API driven development 
 ! •  Dynamic data that is frequently transformed!
  • 9. Where you shouldn’t use it
 
 ! •  Small projects - <1000 LOC! •  Public facing websites e.g. news portals
 ! •  Applications which aren’t very interactive
 ! •  Mobile first applications that need to run on old phones (e.g. Android 2.2)
 !
  • 10. Light  (11.5kb)     Building  blocks     Sinatra  like   Heavy  (71kb)     Opinionated     Rails  like   Heavy  (75kb)     Opinionated     Futuris+c     Comparison!
  • 11. Also written by the creator of Backbone.js, works great with Backbone.js! More expressive than the! default underscore templates! Will make your life much, much easier. Just ignore the huge size and include it!! Stuff that plays nice!