Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Backbone.js in a real life application
Search
Sebastiano Armeli
December 14, 2011
Programming
130
1
Share
Backbone.js in a real life application
Talk give at MelbJS, Melbourne - December 2011
Sebastiano Armeli
December 14, 2011
More Decks by Sebastiano Armeli
See All by Sebastiano Armeli
Cultivate Excellence In Engineering Teams through Continuous Software Engineering
sebarmeli
1
210
From Strategy Definition to Execution with OKRs and Roadmap
sebarmeli
0
210
From Mission to Strategy: going over OKRs and Roadmap
sebarmeli
0
310
Managing a software engineering team
sebarmeli
1
650
Enforcing coding standards in a JS project
sebarmeli
0
610
Enforcing Coding Standards
sebarmeli
1
130
ES6: The future is now
sebarmeli
2
510
EcmaScript 6 - the future is here
sebarmeli
5
7.5k
Dependency management and Package management in JavaScript
sebarmeli
0
780
Other Decks in Programming
See All in Programming
AI Agent と正しく分析するための環境作り
yoshyum
1
210
実用!Hono RPC2026
yodaka
2
310
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
170
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
380
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
260
Are We Really Coding 10× Faster with AI?
kohzas
0
150
「OSSがあるなら自作するな」は AI時代も正しいか ── Build vs Adopt の新しい判断基準
kumorn5s
7
2.5k
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
150
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
160
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
190
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
370
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
180
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
800
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
340
Building the Perfect Custom Keyboard
takai
2
750
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
250
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
New Earth Scene 8
popppiees
3
2.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Transcript
Backbone.js in a real-life application Sebastiano Armeli-Battana @sebarmeli https://github.com/sebarmeli December
14 , 2011 MelbJS, Melbourne Monday, 3 June 13
JavaScript MVC Framework Model - View - Collections Lightweight RESTful
JSON Interface Backbone.js Monday, 3 June 13
AJAX applications Desktop-like applications State vs Page Hash tag /
pushState Single Page Application Monday, 3 June 13
Online Purchasing System https://web01.archicentre.com.au/websales/nrma High Responsive Data-driven Approach Events-oriented Monday,
3 June 13
Source code structure /js application.js models views controllers routers helpers
lib live Monday, 3 June 13
Source code structure /js application.js models views controllers routers helpers
lib live $(function){ AC.app_router = new AC.Routers.AppRouter(); Backbone.history.start({root: location.pathname}); }) Monday, 3 June 13
Router STATE ACTION Monday, 3 June 13
Router / index() FormPostcodeView STATE ACTION Monday, 3 June 13
Router / index() /#/postcode/xxxx FormPostcodeView selectRooms() FormRoomsView STATE ACTION Monday,
3 June 13
Router / index() /#/postcode/xxxx FormPostcodeView selectRooms() FormRoomsView extrasDetails() FormExtrasView STATE
ACTION /#/postcode/xxxx/product/yyy/rooms/zzz Monday, 3 June 13
FormPostcodeView FormPostcodeView PostcodeView Monday, 3 June 13
FormPostcodeView FormPostcodeModel PostcodeModel Monday, 3 June 13
FormRoomsView FormRoomsView PriceView(s) Monday, 3 June 13
FormRoomsView FormRoomsModel ProductQuotesCollection ProductQuoteModel ProductQuoteModel ProductQuoteModel ProductQuoteModel ProductQuoteModel ProductQuoteModel Monday,
3 June 13
FormExtrasView FormExtrasView ParameterBView ParameterBView ParameterBView ParameterNView QuotePriceView Monday, 3 June
13
FormExtrasView FormExtrasModel ProductQuote Model Parameter Parameter Parameter Parameter Monday, 3
June 13
Models Backbone.Model Key-value pairs fetch() / save() RESTful JSON API
Validation Monday, 3 June 13
Collections Backbone.Collection models attribute fetch() / save() url attribute parse()
Monday, 3 June 13
Views Backbone.View el / model / events attributes initialize() /
render() HTML templating ICanHaz.js Monday, 3 June 13
Testing Jasmine-jquery SinonJS Monday, 3 June 13
http://documentcloud.github.com/backbone/ http://www.ibm.com/developerworks/web/library/wa-backbonejs/index.html Resources Monday, 3 June 13