reklama - zainteresowany?

Developing Backbone.js Applications - Helion

Developing Backbone.js Applications
ebook
Autor: Addy Osmani
ISBN: 978-14-493-2855-9
stron: 374, Format: ebook
Data wydania: 2013-05-10
Księgarnia: Helion

Cena książki: 143,65 zł (poprzednio: 167,03 zł)
Oszczędzasz: 14% (-23,38 zł)

Dodaj do koszyka Developing Backbone.js Applications

If you want to build your site’s frontend with the single-page application (SPA) model, this hands-on book shows you how to get the job done with Backbone.js. You’ll learn how to create structured JavaScript applications, using Backbone’s own flavor of model-view-controller (MVC) architecture.

Start with the basics of MVC, SPA, and Backbone, then get your hands dirty building sample applications—a simple Todo list app, a RESTful book library app, and a modular app with Backbone and RequireJS. Author Addy Osmani, an engineer for Google’s Chrome team, also demonstrates advanced uses of the framework.

  • Learn how Backbone.js brings MVC benefits to the client-side
  • Write code that can be easily read, structured, and extended
  • Work with the Backbone.Marionette and Thorax extension frameworks
  • Solve common problems you’ll encounter when using Backbone.js
  • Organize your code into modules with AMD and RequireJS
  • Paginate data for your Collections with the Backbone.Paginator plugin
  • Bootstrap a new Backbone.js application with boilerplate code
  • Use Backbone with jQuery Mobile and resolve routing problems between the two
  • Unit-test your Backbone apps with Jasmine, QUnit, and SinonJS

Dodaj do koszyka Developing Backbone.js Applications

 

Osoby które kupowały "Developing Backbone.js Applications", wybierały także:

  • Windows Media Center. Domowe centrum rozrywki
  • Ruby on Rails. Ćwiczenia
  • Przywództwo w Å›wiecie VUCA. Jak być skutecznym liderem w niepewnym Å›rodowisku
  • Scrum. O zwinnym zarzÄ…dzaniu projektami. Wydanie II rozszerzone
  • Od hierarchii do turkusu, czyli jak zarzÄ…dzać w XXI wieku

Dodaj do koszyka Developing Backbone.js Applications

Spis treści

Developing Backbone.js Applications. Building Better JavaScript Applications eBook -- spis treści

  • Developing Backbone.js Applications
  • Preface
    • Target Audience
    • Credits
    • Reading
    • Conventions Used in This Book
    • Using Code Examples
    • Safari Books Online
    • How to Contact Us
    • Acknowledgments
  • 1. Introduction
    • What Is MVC?
    • What Is Backbone.js?
    • When Do I Need a JavaScript MVC Framework?
    • Why Consider Backbone.js?
    • Setting Expectations
  • 2. Fundamentals
    • MVC
      • Smalltalk-80 MVC
      • MVC Applied to the Web
      • Client-Side MVC and Single-Page Apps
      • Client-Side MVC: Backbone Style
      • Implementation Specifics
        • Models
        • Views
        • Templating
        • Handlebars.js
        • Underscore.js microtemplates
        • Controllers
    • What Does MVC Give Us?
      • Delving Deeper into MVC
      • Summary
      • Further Reading
    • Fast Facts
      • Backbone.js
      • Used by
  • 3. Backbone Basics
    • Getting Set Up
    • Models
      • Initialization
        • Default values
      • Getters and Setters
        • Model.get()
        • Model.set()
        • Direct access
      • Listening for Changes to Your Model
      • Validation
    • Views
      • Creating New Views
      • What Is el?
        • $el and $()
        • setElement
        • Understanding render()
        • The events hash
    • Collections
      • Adding and Removing Models
      • Retrieving Models
      • Listening for Events
      • Resetting/Refreshing Collections
      • Underscore Utility Functions
        • forEach: Iterate over collections
        • sortBy(): Sort a collection on a specific attribute
        • map(): Create a new collection by mapping each value in a list through a transformation function
        • min()/max(): Retrieve item with the min or max value of an attribute
        • pluck(): Extract a specific attribute
        • filter(): Filter a collection
        • indexOf(): Return the item at a particular index within a collection
        • any() : Confirm if any of the values in a collection pass an iterator truth test
        • size(): Return the size of a collection
        • isEmpty(): Determine whether a collection is empty
        • groupBy(): Group a collection into groups like items
        • pick(): Extract a set of attributes from a model
        • omit(): Extract all attributes from a model except those listed
        • keys() and values(): Get lists of attribute names and values
        • pairs(): Get list of attributes as [key, value] pairs
        • invert(): Create object in which the values are keys and the attributes are values
      • Chainable API
    • RESTful Persistence
      • Fetching Models from the Server
      • Saving Models to the Server
      • Deleting Models from the Server
      • Options
    • Events
      • on(), off(), and trigger()
      • listenTo() and stopListening()
      • Events and Views
    • Routers
      • Backbone.history
    • Backbones Sync API
      • Overriding Backbone.sync
    • Dependencies
    • Summary
  • 4. Exercise 1: TodosYour First Backbone.js App
    • Static HTML
      • Header and Scripts
      • Application HTML
      • Templates
    • Todo Model
    • Todo Collection
    • Application View
    • Individual TodoView
    • Startup
    • In Action
    • Completing and Deleting Todos
    • Todo Routing
    • Summary
  • 5. Exercise 2: Book LibraryYour First RESTful Backbone.js App
    • Setting Up
      • Creating the Model, Collection, Views, and App
    • Wiring in the Interface
      • Adding Models
      • Removing Models
    • Creating the Backend
      • Install Node.js, npm, and MongoDB
      • Install Node Modules
      • Create a Simple Web Server
      • Connect to the Database
    • Talking to the Server
    • Summary
  • 6. Backbone Extensions
    • MarionetteJS (Backbone.Marionette)
      • Boilerplate Rendering Code
      • Reducing Boilerplate with Marionette.ItemView
      • Memory Management
      • Region Management
      • Marionette Todo App
        • TodoMVC.js
        • TodoMVC.Layout.js
        • TodoMVC.TodoList.js
        • Controllers
        • CompositeView
        • TodoMVC.TodoList.Views.js
        • Todos.js
      • Is the Marionette Implementation of the Todo App More Maintainable?
      • Marionette and Flexibility
      • And So Much More
    • Thorax
      • Hello World
      • Embedding Child Views
      • View Helpers
      • collection Helper
      • Custom HTML Data Attributes
      • Thorax Resources
    • Summary
  • 7. Common Problems and Solutions
    • Working with Nested Views
      • Problem
      • Solution 1
      • Solution 2
      • Solution 3
      • Solution 4
    • Managing Models in Nested Views
      • Problem
      • Solution
    • Rendering a Parent View from a Child View
      • Problem
      • Solution
    • Disposing View Hierarchies
      • Problem
      • Solution
    • Rendering View Hierarchies
      • Problem
      • Solution
    • Working with Nested Models or Collections
      • Problem
      • Solution
    • Better Model Property Validation
      • Problem
      • Solution
      • Backbone.validateAll
      • Backbone.Validation
      • Form-Specific Validation Classes
    • Avoiding Conflicts with Multiple Backbone Versions
      • Problem
      • Solution
    • Building Model and View Hierarchies
      • Problem
      • Solution
      • Calling Overridden Methods
      • Backbone-Super
    • Event Aggregators and Mediators
      • Problem
      • Solution
      • Event Aggregator
        • Backbones event aggregator
        • jQuerys event aggregator
      • Mediator
        • A mediator for Backbone
      • Similarities and Differences
        • Events
        • Third-party objects
      • Relationships: When to Use Which
        • Event aggregator use
        • Mediator use
      • Event Aggregator and Mediator Together
      • Pattern Language: Semantics
  • 8. Modular Development
    • Organizing Modules with RequireJS and AMD
      • Maintainability Problems with Multiple Script Files
      • Need for Better Dependency Management
      • Asynchronous Module Definition (AMD)
      • Writing AMD Modules with RequireJS
        • Alternate syntax
      • Getting Started with RequireJS
        • RequireJS configuration
          • RequireJS Shims
        • Custom paths
      • Require.js and Backbone Examples
        • Wrapping models, views, and other components with AMD
      • Keeping Your Templates External Using RequireJS and the Text Plug-in
      • Optimizing Backbone Apps for Production with the RequireJS Optimizer
    • Summary
  • 9. Exercise 3: Your First Modular Backbone and RequireJS App
    • Overview
    • Markup
    • Configuration Options
    • Modularizing Our Models, Views, and Collections
    • Route-Based Module Loading
      • JSON-Based Module Configuration
      • Module Loader Router
      • Using NodeJS to Handle pushState
    • An Asset Package Alternative for Dependency Management
  • 10. Paginating Backbone.js Requests and Collections
    • Backbone.Paginator
      • Live Examples
    • Paginator.requestPager
      • Convenience Methods
    • Paginator.clientPager
      • Convenience Methods
      • Implementation Notes
      • Plug-ins
      • Bootstrapping
      • Styling
      • Summary
  • 11. Backbone Boilerplate and Grunt-BBB
    • Getting Started
    • Creating a New Project
      • index.html
      • config.js
      • main.js
      • app.js
      • Creating Backbone Boilerplate Modules
      • router.js
    • Other Useful Tools and Projects
      • Yeoman
      • Backbone DevTools
    • Summary
  • 12. Backbone and jQuery Mobile
    • Mobile App Development with jQuery Mobile
      • The Principle of Progressive Widget Enhancement by jQMobile
      • Understanding jQuery Mobile Navigation
    • Basic Backbone App Setup for jQuery Mobile
    • Workflow with Backbone and jQueryMobile
      • Routing to a Concrete View Page, Inheriting from BasicView
      • Management of Mobile Page Templates
      • DOM Management and $.mobile.changePage
    • Applying Advanced jQM Techniques to Backbone
      • Dynamic DOM Scripting
      • Intercepting jQuery Mobile Events
      • Performance
      • Clever Multiplatform Support Management
  • 13. Jasmine
    • Behavior-Driven Development
    • Suites, Specs, and Spies
    • beforeEach() and afterEach()
    • Shared Scope
    • Getting Set Up
    • TDD with Backbone
    • Models
    • Collections
    • Views
      • View Testing
        • Initial setup
        • View rendering
        • Rendering with a templating system
    • Exercise
    • Further Reading
    • Summary
  • 14. QUnit
    • Getting Set Up
      • Sample HTML with QUnit-Compatible Markup
    • Assertions
      • Basic Test Case Using test( name, callback )
      • Comparing the Actual Output of a Function Against the Expected Output
    • Adding Structure to Assertions
      • Basic QUnit Modules
      • Using setup() and teardown()
      • Using setup() and teardown() for Instantiation and Clean Up
    • Assertion Examples
    • Fixtures
      • Fixtures Example
    • Asynchronous Code
  • 15. SinonJS
    • What Is SinonJS?
      • Basic Spies
      • Spying on Existing Functions
      • Inspection Interface
        • Matching arguments: Test that a spy was called with a specific set of arguments
        • Stricter argument matching: Test that a spy was called at least once with specific arguments and no others
        • Testing call order: Test that a spy was called before or after another spy
        • Match execution counts: Test that a spy was called a specific number of times
    • Stubs and Mocks
      • Stubs
      • Mocks
    • Exercise
      • Models
      • Collections
      • Views
      • App
    • Further Reading and Resources
  • 16. Conclusions
  • A. Further Learning
    • A Simple JavaScript MVC Implementation
      • Event System
      • Models
      • Views
      • Controllers
      • Practical Usage
    • MVP
      • Models, Views, and Presenters
    • MVP or MVC?
    • MVC, MVP, and Backbone.js
    • Namespacing
      • What Is Namespacing?
        • Single global variables
        • Object literals
        • Nested namespacing
      • What Does DocumentCloud Use?
      • Recommendation
    • Backbone Dependency Details
      • DOM Manipulation
      • Utilities
      • RESTful Persistence
      • Routing
    • Backbone Versus Other Libraries and Frameworks
  • B. Resources
    • Books and Courses
    • Extensions/Libraries
  • Index
  • About the Author
  • Colophon
  • Copyright

Dodaj do koszyka Developing Backbone.js Applications

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2025 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.