+ All Categories
Home > Software > Single Page Applications With Backbone

Single Page Applications With Backbone

Date post: 15-Jan-2015
Category:
Upload: jamessugrue
View: 242 times
Download: 1 times
Share this document with a friend
Description:
Building sites using the Single Page Application approach has become the default options for many developers. In this talk we'll talk about why this trend has caught on, how you can create complete client side applications using Backbone.js hooking into any server side language, and what additional considerations exist when taking this approach.
Popular Tags:
47
Single page applications with backbone.js Cork ALT.NET March 2014
Transcript
Page 1: Single Page Applications With Backbone

Single page applications with backbone.js

Cork ALT.NET March 2014

Page 2: Single Page Applications With Backbone

LEAD Architect

@SUGRUE www.jamessugrue.ie

AUthor of Beginning Backbone.js

Published Dec 2013

SIDE PROJECT

www.donatecode.com

Page 3: Single Page Applications With Backbone

THE HISTORY !

CHARACTERISTICS OF A SINGLE PAGE APPLICATION !

ADVANTAGES AND PITFALLS !

BACKBONE.JS AND OTHER JS LIBRARIES !

SINGLE PAGE APPLICATIONS and .NET

SINGLE PAGE APPLICATIONS

Page 4: Single Page Applications With Backbone

HISTORY

Page 5: Single Page Applications With Backbone

2005

Page 6: Single Page Applications With Backbone

2006

Page 7: Single Page Applications With Backbone

THE WILDERNESS YEARS

2006 -2010

Page 8: Single Page Applications With Backbone

2010++

https://xkcd.com/927/

Page 9: Single Page Applications With Backbone

CHARACTERISTICS

Page 10: Single Page Applications With Backbone

Makes websites more APP-lIKE LESS WAITING ALL RESOURCES LOADED AT THE START !

PAGE NEVER RELOADS !

BOOKMARKABLE SECTIONS !

CHARACTERISTICS

Page 11: Single Page Applications With Backbone

MODEL VIEW * REQUIRED

REDRAW UI WITHOUT SERVER ROUND-TRIP !

Server

Views

View 1

View 2

Model

Model 1

Model 2

Client

Page 12: Single Page Applications With Backbone

TWITTER

Page 13: Single Page Applications With Backbone

WHAT DOES THE SERVER DO?

BECOMES A PURE DATA API or a WEB SERVICE

THIN SERVER

HANDLES SECURE or SENSITIVE CODE

Page 14: Single Page Applications With Backbone

WHAT DOES THE SERVER DO?

THICK STATEFUL SERVER

Server RENDERS HTML and Executes LOGIC RECORDS STATE AND UPDATES CLIENT

Page 15: Single Page Applications With Backbone

ADVANTAGES PITFALLS

Page 16: Single Page Applications With Backbone

EMBRACE THE ADVANTAGES

NATURAL USER FLOW

PARALLEL DEVELOPMENT

EXPERIENCE on MOBILE DEVICES

STATE HANDLED ON CLIENT

OFFLINE EXPERIENCE POSSIBLE

Page 17: Single Page Applications With Backbone

BEWARE OF PITFALLS

SEARCH ENGINE OPTIMISATION

JAVASCRIPT MUST BE ENABLED

LOADING TIME

JAVASCRIPT MEMORY LEAKS

Page 18: Single Page Applications With Backbone

USE THE SERVER LUKE

RENDER FIRST PAGE ON THE SERVER

INITIAL LOAD TIME ISSUE

POPULATE INITIAL MODELS

Page 19: Single Page Applications With Backbone

BACKBONE.JS AND OTHER LIBRARIES

Page 20: Single Page Applications With Backbone
Page 21: Single Page Applications With Backbone

HELPS STRUCTURE CODEMODEL VIEW CONTROLLER

LIGHTWEIGHT6.4KB

MATURE2010

UNOPINIONATED

Page 22: Single Page Applications With Backbone

DEPENDS ON

OPTIONAL

Page 23: Single Page Applications With Backbone

REpRESENts A SINGLE DATA OBJECT !

CONNECTS TO SERVER URL TO POPULATE / PERSIST !

WHEN DATA CHANGES, EVENTS FIRE

BACKBONE MODEL

Page 24: Single Page Applications With Backbone

BACKBONE MODEL

Tweet = Backbone.Model.extend({ });

Page 25: Single Page Applications With Backbone

BACKBONE MODEL: BASICS

DEFAULT VARIABLES

CONSTRUCTOR

BUILT-IN FUNCTIONS

YOUR OWN FUNCTIONS

Page 26: Single Page Applications With Backbone

BACKBONE MODEL: USAGE

Page 27: Single Page Applications With Backbone

BACKBONE MODEL: CHANGE EVENTS

Page 28: Single Page Applications With Backbone

BACKBONE COLLECTIONBULK OPERATIONS ON MODELS !

CONNECTS TO SERVER URL TO POPULATE / PERSIST !

WHEN DATA CHANGES, EVENTS FIRE !

LOTS OF QUERY and FILTER FUNCTIONS

Page 29: Single Page Applications With Backbone

BACKBONE COLLECTION

Timeline = Backbone.Collection.extend({ });

Page 30: Single Page Applications With Backbone

BACKBONE COLLECTION: BASICS

MODEL

CONSTRUCTOR

URL

Page 31: Single Page Applications With Backbone

BACKBONE VIEWCHANGES THE DOM !

CAN HANDLE DOM EVENTS !

SUBSCRIBE TO CHANGE EVENTS IN THE DATA LAYER !

USE TEMPLATE FOR EFFICIENT RENDERING

Page 32: Single Page Applications With Backbone

BACKBONE VIEW: THE DOM

Page 33: Single Page Applications With Backbone

BACKBONE VIEW: THE TEMPLATE

Page 34: Single Page Applications With Backbone

BACKBONE VIEW

TimelineView = Backbone.View.extend({ });

Page 35: Single Page Applications With Backbone

BACKBONE VIEW: BASICSDOM ELEMENT

TEMPLATE

DOM EVENT HANDLING

RETRIEVE THE COLLECTION

Page 36: Single Page Applications With Backbone

BACKBONE VIEW: RENDERING

APPEND TO DOM

Page 37: Single Page Applications With Backbone

BACKBONE ROUTER

HANDLES APPLICATION STATE !

PROVIDES BOOKMARKABLE STATE !

SUBSCRIBE TO CHANGE EVENTS IN THE DATA LAYER

[CONTROLLER]

Page 38: Single Page Applications With Backbone

BACKBONE ROUTER CONTROLLER

AppRouter = Backbone.Router.extend({ });

Page 39: Single Page Applications With Backbone

BACKBONE ROUTER: BASICSROUTES

EVENTS

HANDLERS

Page 40: Single Page Applications With Backbone

DOM

Model Collection

ROUTER

VIEW

Page 41: Single Page Applications With Backbone

UNOPINIONATED ===

CONTROL

Page 42: Single Page Applications With Backbone

ECO SYSTEM

Page 43: Single Page Applications With Backbone

MATURITY

Page 44: Single Page Applications With Backbone

TOOLING

Page 45: Single Page Applications With Backbone

.NET

Page 46: Single Page Applications With Backbone

http://www.asp.net/single-page-application/overview/introduction

TEMPLATES FOR THE MOST POPULAR

Page 47: Single Page Applications With Backbone

@SUGRUE www.jamessugrue.ie

AVAILABLE ON AMAZON

WIN IT NOW!

JOIN UP AT

www.donatecode.com

HIRING JAVASCRIPT / MOBILE DEVELOPERS


Recommended