Give Your JavaScript Apps A Spine

Lachlan Hardy
Lachlan HardyDesign Engineer at Atlassian
Give Your
        JS Apps
        A Spine
LACHSTOCK
What is Backbone?
What is Backbone?

“Backbone supplies structure to JavaScript-
heavy applications by providing models with
key-value binding and custom events,
collections with a rich API of enumerable
functions, views with declarative event
handling, and connects it all to your existing
application over a RESTful JSON interface. ”
I’m no computer scientist.
What is Backbone?

“Backbone supplies structure to JavaScript-
heavy applications by providing models with
key-value binding and custom events,
collections with a rich API of enumerable
functions, views with declarative event
handling, and connects it all to your existing
application over a RESTful JSON interface. ”
WTF?
What is Backbone?

“Backbone supplies structure to JavaScript-
heavy applications by providing models with
key-value binding and custom events,
collections with a rich API of enumerable
functions, views with declarative event
handling, and connects it all to your existing
application over a RESTful JSON interface. ”
What is Backbone?

“Backbone supplies structure to JavaScript-
heavy applications by providing models with
key-value binding and custom events,
collections with a rich API of enumerable
functions, views with declarative event
handling, and connects it all to your existing
application over a RESTful JSON interface. ”
What is Backbone?

“Backbone supplies structure to JavaScript-
heavy applications by providing models with
key-value binding and custom events,
collections with a rich API of enumerable
functions, views with declarative event
handling, and connects it all to your existing
application over a RESTful JSON interface. ”
What is Backbone?




It’s a JavaScript library.
What is Backbone?




It’s a JavaScript library for
writing applications.
What is Backbone?




It’s a JavaScript library for
writing applications like...
Library size




- 35Kb uncompressed
- 3.9Kb Packed and Gzipped
Library dependencies




-   Underscore.js
Underscore.js




- Functional programming library
- 60-odd functions such as map, select,
invoke
Library dependencies




-   Underscore.js
Library dependencies




-   Underscore.js
    - JSON2.js
JSON2.js




- Provides JSON support if it doesn’t exist
natively
- Does nothing in modern browsers
Library dependencies




-   Underscore.js
    - JSON2.js
    - jQuery or Zepto.js
Zepto.js




“Zepto.js is a minimalist JavaScript framework
for mobile WebKit browsers, with a jQuery-
compatible syntax.”
What is Backbone?

“Backbone supplies structure to JavaScript-
heavy applications by providing models with
key-value binding and custom events,
collections with a rich API of enumerable
functions, views with declarative event
handling, and connects it all to your existing
application over a RESTful JSON interface. ”
Backbone.Model




- Models contain the data
Backbone.Model




- Models contain the data
- Validations, properties and permissions
Backbone.Model




- Models contain the data
- Validations, properties and permissions
- Manage changes to the above
What is Backbone?

“Backbone supplies structure to JavaScript-
heavy applications by providing models with
key-value binding and custom events,
collections with a rich API of enumerable
functions, views with declarative event
handling, and connects it all to your existing
application over a RESTful JSON interface. ”
Backbone.Collection




- Collections are ordered sets of models
Backbone.Collection




- Collections are ordered sets of models
- Act on events within models
Backbone.Collection




- Collections are ordered sets of models
- Act on events within models
- Add, Remove, Fetch, Refresh, Create, Sort
What is Backbone?

“Backbone supplies structure to JavaScript-
heavy applications by providing models with
key-value binding and custom events,
collections with a rich API of enumerable
functions, views with declarative event
handling, and connects it all to your existing
application over a RESTful JSON interface. ”
Backbone.View




- A logical UI component, not just the
template
Backbone.View




- A logical UI component, not just the
template
- Bind render function to model change event
Backbone.View




- A logical UI component, not just the
template
- Bind render function to model change event
What is Backbone?



-   Backbone.Events
-   Backbone.Controller
-   Backbone.History
-   Backbone.Sync
Find out more




http://documentcloud.github.com/
backbone/
Questions?
1 of 35

Recommended

Give Your JavaScript Apps Some Spine by
Give Your JavaScript Apps Some SpineGive Your JavaScript Apps Some Spine
Give Your JavaScript Apps Some SpineLachlan Hardy
959 views36 slides
サーバーサイドから見るGraphQL Serverless Meetup #19 by
サーバーサイドから見るGraphQL Serverless Meetup #19サーバーサイドから見るGraphQL Serverless Meetup #19
サーバーサイドから見るGraphQL Serverless Meetup #19Yutaka Tachibana
25.5K views45 slides
Mindtalk Tech - Behind the scenes by
Mindtalk Tech - Behind the scenesMindtalk Tech - Behind the scenes
Mindtalk Tech - Behind the scenesrobin_sy
2.3K views22 slides
Resumen Backbone.js en Ingles by
Resumen Backbone.js en InglesResumen Backbone.js en Ingles
Resumen Backbone.js en InglesFrancisco Quintero
471 views5 slides
What is j query by
What is j queryWhat is j query
What is j queryCHAN DARA
66 views2 slides
Toyko azure meetup # 1 azure paa s overview by
Toyko azure meetup # 1   azure paa s overviewToyko azure meetup # 1   azure paa s overview
Toyko azure meetup # 1 azure paa s overviewTokyo Azure Meetup
407 views30 slides

More Related Content

What's hot

Azure Functions & Serverless Computing by
Azure Functions & Serverless ComputingAzure Functions & Serverless Computing
Azure Functions & Serverless ComputingAbhimanyu Singhal
194 views19 slides
BIWUG - What’s new in SharePoint 2013 for public-facing websites by
BIWUG - What’s new in SharePoint 2013 for public-facing websitesBIWUG - What’s new in SharePoint 2013 for public-facing websites
BIWUG - What’s new in SharePoint 2013 for public-facing websitesWaldek Mastykarz
1.4K views24 slides
A Modular Open Source Platform for IoT by
A Modular Open Source Platform for IoTA Modular Open Source Platform for IoT
A Modular Open Source Platform for IoTMichael Koster
1.9K views12 slides
Amazon QuickSight by
Amazon QuickSightAmazon QuickSight
Amazon QuickSightAmazon Web Services
6.7K views11 slides
Building a Better BaaS by
Building a Better BaaSBuilding a Better BaaS
Building a Better BaaSApigee | Google Cloud
2.1K views50 slides
Develop, Test, and Engage with AWS Mobile Services by
Develop, Test, and Engage with AWS Mobile ServicesDevelop, Test, and Engage with AWS Mobile Services
Develop, Test, and Engage with AWS Mobile ServicesAmazon Web Services
343 views20 slides

What's hot(10)

BIWUG - What’s new in SharePoint 2013 for public-facing websites by Waldek Mastykarz
BIWUG - What’s new in SharePoint 2013 for public-facing websitesBIWUG - What’s new in SharePoint 2013 for public-facing websites
BIWUG - What’s new in SharePoint 2013 for public-facing websites
Waldek Mastykarz1.4K views
A Modular Open Source Platform for IoT by Michael Koster
A Modular Open Source Platform for IoTA Modular Open Source Platform for IoT
A Modular Open Source Platform for IoT
Michael Koster1.9K views
Develop, Test, and Engage with AWS Mobile Services by Amazon Web Services
Develop, Test, and Engage with AWS Mobile ServicesDevelop, Test, and Engage with AWS Mobile Services
Develop, Test, and Engage with AWS Mobile Services
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip) by Shift Conference
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Conference90 views
Workflow All the Things with Azure Logic Apps by Josh Lane
Workflow All the Things with Azure Logic AppsWorkflow All the Things with Azure Logic Apps
Workflow All the Things with Azure Logic Apps
Josh Lane997 views
Elastic Search Meetup Special - Yann Cluchey, Cogenta by Internet World
Elastic Search Meetup Special - Yann Cluchey, Cogenta Elastic Search Meetup Special - Yann Cluchey, Cogenta
Elastic Search Meetup Special - Yann Cluchey, Cogenta
Internet World1.2K views
Building Read Models using event streams by Denis Ivanov
Building Read Models using event streamsBuilding Read Models using event streams
Building Read Models using event streams
Denis Ivanov346 views

Viewers also liked

Search Patterns: UX Russia by
Search Patterns: UX RussiaSearch Patterns: UX Russia
Search Patterns: UX RussiaPeter Morville
1.7K views68 slides
Introduction to Backbone.js by
Introduction to Backbone.jsIntroduction to Backbone.js
Introduction to Backbone.jsJonathan Weiss
2.6K views57 slides
Single Page Web Apps with Backbone.js and Rails by
Single Page Web Apps with Backbone.js and RailsSingle Page Web Apps with Backbone.js and Rails
Single Page Web Apps with Backbone.js and RailsPrateek Dayal
3.8K views89 slides
Sahi - Effective Web Testing by
Sahi - Effective Web TestingSahi - Effective Web Testing
Sahi - Effective Web TestingTyto Software
2.2K views13 slides
Testing Tools by
Testing ToolsTesting Tools
Testing ToolsTed Husted
2.8K views85 slides
Tools For jQuery Application Architecture (Extended Slides) by
Tools For jQuery Application Architecture (Extended Slides)Tools For jQuery Application Architecture (Extended Slides)
Tools For jQuery Application Architecture (Extended Slides)Addy Osmani
62.1K views109 slides

Viewers also liked(8)

Search Patterns: UX Russia by Peter Morville
Search Patterns: UX RussiaSearch Patterns: UX Russia
Search Patterns: UX Russia
Peter Morville1.7K views
Introduction to Backbone.js by Jonathan Weiss
Introduction to Backbone.jsIntroduction to Backbone.js
Introduction to Backbone.js
Jonathan Weiss2.6K views
Single Page Web Apps with Backbone.js and Rails by Prateek Dayal
Single Page Web Apps with Backbone.js and RailsSingle Page Web Apps with Backbone.js and Rails
Single Page Web Apps with Backbone.js and Rails
Prateek Dayal3.8K views
Sahi - Effective Web Testing by Tyto Software
Sahi - Effective Web TestingSahi - Effective Web Testing
Sahi - Effective Web Testing
Tyto Software2.2K views
Testing Tools by Ted Husted
Testing ToolsTesting Tools
Testing Tools
Ted Husted2.8K views
Tools For jQuery Application Architecture (Extended Slides) by Addy Osmani
Tools For jQuery Application Architecture (Extended Slides)Tools For jQuery Application Architecture (Extended Slides)
Tools For jQuery Application Architecture (Extended Slides)
Addy Osmani62.1K views
Agile Software Development Overview by Stewart Rogers
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
Stewart Rogers96.6K views

Similar to Give Your JavaScript Apps A Spine

Rich UIs with BackboneJs by
Rich UIs with BackboneJsRich UIs with BackboneJs
Rich UIs with BackboneJsJake Trent
742 views25 slides
From Backbone to Ember and Back(bone) Again by
From Backbone to Ember and Back(bone) AgainFrom Backbone to Ember and Back(bone) Again
From Backbone to Ember and Back(bone) Againjonknapp
746 views55 slides
Introduction to backbone_js by
Introduction to backbone_jsIntroduction to backbone_js
Introduction to backbone_jsMohammed Saqib
870 views24 slides
Backbone introdunction by
Backbone introdunctionBackbone introdunction
Backbone introdunctionmzxbupt
669 views25 slides
Backgrid - A Backbone Plugin by
Backgrid - A Backbone PluginBackgrid - A Backbone Plugin
Backgrid - A Backbone PluginNeerav Mittal
663 views19 slides
Javascript Frameworks for Well Architected, Immersive Web Apps by
Javascript Frameworks for Well Architected, Immersive Web AppsJavascript Frameworks for Well Architected, Immersive Web Apps
Javascript Frameworks for Well Architected, Immersive Web Appsdnelson-cs
739 views69 slides

Similar to Give Your JavaScript Apps A Spine(20)

Rich UIs with BackboneJs by Jake Trent
Rich UIs with BackboneJsRich UIs with BackboneJs
Rich UIs with BackboneJs
Jake Trent742 views
From Backbone to Ember and Back(bone) Again by jonknapp
From Backbone to Ember and Back(bone) AgainFrom Backbone to Ember and Back(bone) Again
From Backbone to Ember and Back(bone) Again
jonknapp746 views
Backbone introdunction by mzxbupt
Backbone introdunctionBackbone introdunction
Backbone introdunction
mzxbupt669 views
Backgrid - A Backbone Plugin by Neerav Mittal
Backgrid - A Backbone PluginBackgrid - A Backbone Plugin
Backgrid - A Backbone Plugin
Neerav Mittal663 views
Javascript Frameworks for Well Architected, Immersive Web Apps by dnelson-cs
Javascript Frameworks for Well Architected, Immersive Web AppsJavascript Frameworks for Well Architected, Immersive Web Apps
Javascript Frameworks for Well Architected, Immersive Web Apps
dnelson-cs739 views
Spark Summit San Francisco 2016 - Matei Zaharia Keynote: Apache Spark 2.0 by Databricks
Spark Summit San Francisco 2016 - Matei Zaharia Keynote: Apache Spark 2.0Spark Summit San Francisco 2016 - Matei Zaharia Keynote: Apache Spark 2.0
Spark Summit San Francisco 2016 - Matei Zaharia Keynote: Apache Spark 2.0
Databricks6.6K views
You got your browser in my virtual machine by Ean Schuessler
You got your browser in my virtual machineYou got your browser in my virtual machine
You got your browser in my virtual machine
Ean Schuessler102 views
Presenter manual RIA technology (specially for summer interns) by XPERT INFOTECH
Presenter manual RIA technology (specially for summer interns)Presenter manual RIA technology (specially for summer interns)
Presenter manual RIA technology (specially for summer interns)
XPERT INFOTECH818 views
vinod kumar JAVA by Vinod Kumar
vinod kumar JAVAvinod kumar JAVA
vinod kumar JAVA
Vinod Kumar236 views
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ... by MskDotNet Community
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
React + Flux = Joy by John Need
React + Flux = JoyReact + Flux = Joy
React + Flux = Joy
John Need1.3K views
Enterprise Java Web Application Frameworks Sample Stack Implementation by Mert Çalışkan
Enterprise Java Web Application Frameworks   Sample Stack ImplementationEnterprise Java Web Application Frameworks   Sample Stack Implementation
Enterprise Java Web Application Frameworks Sample Stack Implementation
Mert Çalışkan4.3K views
Composing JSON-based Web APIs by Javier Canovas
Composing JSON-based Web APIsComposing JSON-based Web APIs
Composing JSON-based Web APIs
Javier Canovas1.5K views

More from Lachlan Hardy

SydJS.com by
SydJS.comSydJS.com
SydJS.comLachlan Hardy
786 views51 slides
Yql && Raphaël by
Yql && RaphaëlYql && Raphaël
Yql && RaphaëlLachlan Hardy
901 views45 slides
GitHub for JavaScripters by
GitHub for JavaScriptersGitHub for JavaScripters
GitHub for JavaScriptersLachlan Hardy
938 views32 slides
The Open Web by
The Open WebThe Open Web
The Open WebLachlan Hardy
4.2K views148 slides
Serving Code Samples by
Serving Code SamplesServing Code Samples
Serving Code SamplesLachlan Hardy
639 views22 slides
The Open Web by
The Open WebThe Open Web
The Open WebLachlan Hardy
886 views178 slides

More from Lachlan Hardy(10)

GitHub for JavaScripters by Lachlan Hardy
GitHub for JavaScriptersGitHub for JavaScripters
GitHub for JavaScripters
Lachlan Hardy938 views
Improving Dashboards with open content sharing by Lachlan Hardy
Improving Dashboards with open content sharingImproving Dashboards with open content sharing
Improving Dashboards with open content sharing
Lachlan Hardy2K views
Local Government on the Open Web by Lachlan Hardy
Local Government on the Open WebLocal Government on the Open Web
Local Government on the Open Web
Lachlan Hardy2.1K views
Welcome to IE8 - Integrating Your Site With Internet Explorer 8 by Lachlan Hardy
Welcome to IE8 - Integrating Your Site With Internet Explorer 8Welcome to IE8 - Integrating Your Site With Internet Explorer 8
Welcome to IE8 - Integrating Your Site With Internet Explorer 8
Lachlan Hardy2.8K views

Recently uploaded

Network Source of Truth and Infrastructure as Code revisited by
Network Source of Truth and Infrastructure as Code revisitedNetwork Source of Truth and Infrastructure as Code revisited
Network Source of Truth and Infrastructure as Code revisitedNetwork Automation Forum
26 views45 slides
SUPPLIER SOURCING.pptx by
SUPPLIER SOURCING.pptxSUPPLIER SOURCING.pptx
SUPPLIER SOURCING.pptxangelicacueva6
15 views1 slide
PRODUCT PRESENTATION.pptx by
PRODUCT PRESENTATION.pptxPRODUCT PRESENTATION.pptx
PRODUCT PRESENTATION.pptxangelicacueva6
14 views1 slide
Piloting & Scaling Successfully With Microsoft Viva by
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft VivaRichard Harbridge
12 views160 slides
20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
41 views73 slides
Evolving the Network Automation Journey from Python to Platforms by
Evolving the Network Automation Journey from Python to PlatformsEvolving the Network Automation Journey from Python to Platforms
Evolving the Network Automation Journey from Python to PlatformsNetwork Automation Forum
13 views21 slides

Recently uploaded(20)

Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 views
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf by Dr. Jimmy Schwarzkopf
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi127 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10248 views
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada136 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn22 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Unit 1_Lecture 2_Physical Design of IoT.pdf by StephenTec
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdf
StephenTec12 views
Empathic Computing: Delivering the Potential of the Metaverse by Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst478 views
Serverless computing with Google Cloud (2023-24) by wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun11 views

Give Your JavaScript Apps A Spine

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n