BackboneJS Module

download BackboneJS Module

of 16

Transcript of BackboneJS Module

  • 7/30/2019 BackboneJS Module

    1/16

    For Training Purpose Only

    1

    Backbone.JS

    Training Session by

    17th -19st May 2012

  • 7/30/2019 BackboneJS Module

    2/16

  • 7/30/2019 BackboneJS Module

    3/16

    3For Training Purpose Only

    Objective

    Introducing Backbone Client Side MVC

    Backbone Advance Concepts ( Routers, Hash Events etc)

    End to end Application Development using Backbone and REST

    Organizing Applications using Require.js

    Optimizing Apps for Production using Require.js Optimizer

    Introducing Qunit for unit testing

    Introducing Jquery

    Jquery concepts ( Selectors, Wrapped Set Operations, Utility Functions, Plugin Dev)

    At the end of the training the participants would be able to write applications making

    use of Backbone, Jquery and Require.js

    At the end of the training the participants would be required to develop a case study

    based on the concepts covered during the training

  • 7/30/2019 BackboneJS Module

    4/16

    4For Training Purpose Only

    Classic Web-App Model (1/2)

    ClientServer

    Process Business Logic Manage Data

    (get, validate, create, etc.) Loading and Parsing Templates Sending Back (heavy) Results

    X Number of Clients

    Send Request Load Content X 1

  • 7/30/2019 BackboneJS Module

    5/16

    5For Training Purpose Only

    Classic Web-App Model (2/2)

    V

    M C

    Server

    Client

  • 7/30/2019 BackboneJS Module

    6/16

    6For Training Purpose Only

    Analysis, Whats wrong?

    Small scalability

    Server is doing more than it should

    Slow answer to user

    Unresponsive apps

    Client often still has unused (free) resources

  • 7/30/2019 BackboneJS Module

    7/16

    7For Training Purpose Only

    Contents

    Objective Of The Training

    Classic Web-App Model

    Modern Web-App Model

    Hands-On Modules

  • 7/30/2019 BackboneJS Module

    8/16

    8For Training Purpose Only

    Modern Web-App Model (1/2)

    Manage DB (Validate) Sending Back Pure Data

    (JSON)

    Send Request Load Templates Load Data Process Business Logic Validate Data

    ClientServer

  • 7/30/2019 BackboneJS Module

    9/16

    9For Training Purpose Only

    Modern Web-App Model (2/2)

    DB

    V

    M C

    ClientServer

  • 7/30/2019 BackboneJS Module

    10/16

  • 7/30/2019 BackboneJS Module

    11/16

    11For Training Purpose Only

    What does Backbone Offer?

    Implements Observer Pattern on its View

    Full rest support

    Support for Jquery or zepto for DOM manipulation

    Proxies underscore functions so that they can be directly used on collections

    Provides structure to your client side code

  • 7/30/2019 BackboneJS Module

    12/16

    12

    Comparative Analysis

    Advantages

    Combination of Backbone & Require.js can

    provide a solid architecture for your client side

    code

    When used together they can provide significant

    performance benefits enabling faster response

    times for the users.

    Automated handling of ajax requests

    Views are smart enough to handle changes to

    the models they display

    Disadvantages

    Learning Curve

    Increased Effort(billing hours)

    No Advanced Validation features

    No Widgets

    12

  • 7/30/2019 BackboneJS Module

    13/16

    13For Training Purpose Only

    Backbone.JS Views: Client-Side

  • 7/30/2019 BackboneJS Module

    14/16

    14For Training Purpose Only

    Backbone.JS Views: Data Events

  • 7/30/2019 BackboneJS Module

    15/16

    15For Training Purpose Only

    Contents

    Objective Of The Training

    Classic Web-App Model

    Modern Web-App Model

    Hands-On Modules

  • 7/30/2019 BackboneJS Module

    16/16

    16For Training Purpose Only