Book Details:
By: Alex MacCaw
Publisher: O'Reilly Media
Print: August 2011
Ebook: August 2011
Pages: 280
Print ISBN:978-1-4493-0351-8 | ISBN 10:1-4493-0351-X
Ebook ISBN:978-1-4493-0380-8 | ISBN 10:1-4493-0380-3
About the Book
Building rich JavaScript applications that bring a desktop experience to the Web requires moving state from the server to the client side—not a simple task. This hands-on book takes proficient JavaScript developers through all the steps necessary to create state-of-the-art applications, including structure, templating, frameworks, communicating with the server, and many other issues.
Throughout the book, you'll work with real-world example applications to help you grasp the concepts involved. Learn how to create JavaScript applications that offer a more responsive and improved experience.
- Use the Model-View-Controller (MVC) pattern, and learn how to manage dependencies inside your application
- Get an introduction to templating and data binding
- Learn about loading remote data, Ajax, and cross-domain requests
- Create realtime applications with WebSockets and Node.js
- Accept dropped files and upload data with progress indicators
- Use major frameworks and libraries, including jQuery, Spine, and Backbone
- Write tests and use the console to debug your applications
- Get deployment best practices, such as caching and minification
Table of Contents
Chapter 1 : MVC and Classes
Early Days
Adding Structure
What Is MVC?
Toward Modularity, Creating Classes
Adding Functions to Classes
Adding Methods to Our Class Library
Class Inheritance Using Prototype
Adding Inheritance to Our Class Library
Function Invocation
Controlling Scope in Our Class Library
Adding Private Functions
Class Libraries
Chapter 2 : Events and Observing
Listening to Events
Event Ordering
Canceling Events
The Event Object
Event Libraries
Context Change
Delegating Events
Custom Events
Custom Events and jQuery Plug-Ins
Non-DOM Events
Chapter 3 : Models and Data
MVC and Namespacing
Building an ORM
Adding ID Support
Addressing References
Loading in Data
Populating Our ORM
Storing Data Locally
Adding Local Storage to Our ORM
Submitting New Records to the Server
Chapter 4 : Controllers and State
Module Pattern
Adding a Bit of Context
State Machines
Routing
Chapter 5 : Views and Templating
Dynamically Rendering Views
Templates
Binding
Chapter 6 : Dependency Management
CommonJS
Module Loaders
Wrapping Up Modules
Module Alternatives
FUBCs
Chapter 7 : Working with Files
Browser Support
Getting Information About Files
File Inputs
Drag and Drop
Copy and Paste
Reading Files
Custom Browse Buttons
Uploading Files
jQuery Drag and Drop Uploader
Chapter 8 : The Real-Time Web
Real Time’s History
WebSockets
Real-Time Architecture
Perceived Speed
Chapter 9 : Testing and Debugging
Unit Testing
Drivers
Headless Testing
Distributed Testing
Providing Support
Inspectors
The Console
Using the Debugger
Analyzing Network Requests
Profile and Timing
Chapter 10 : Deploying
Performance
Caching
Minification
Gzip Compression
Using a CDN
Auditors
Resources
Chapter 11 : The Spine Library
Setup
Classes
Events
Models
Controllers
Building a Contacts Manager
Chapter 12 : The Backbone Library
Models
Collections
Views
Controllers
Syncing with the Server
Building a To-Do List
Chapter 13 : The JavascriptMVC Library
Setup
Classes
Model
Using Client-Side Templates in the View
$.Controller: The jQuery Plug-in Factory
Putting It All Together: An Abstract CRUD List
Appendix : jQuery Primer
DOM Traversal
DOM Manipulation
Events
Ajax
Being a Good Citizen
Extensions
Creating a Growl jQuery Plug-in
Appendix : CSS Extensions
Variables
Mixins
Nested Rules
Including Other Stylesheets
Colors
How Do I Use Less?
Appendix : CSS3 Reference
Prefixes
Colors
Rounded Corners
Drop Shadows
Text Shadow
Gradients
Multiple Backgrounds
Selectors
Transitions
Border Images
Box Sizing
Transformations
Flexible Box Model
Fonts
Graceful Degradation
Creating a Layout
Colophon
About the Author
Alex MacCaw is a Ruby/JavaScript developer & entrepreneur. He has written a JavaScript framework, Spine and developed major applications including Taskforce and Socialmod, as well as a host of open source work. He speaks at Ruby/Rails conferences in NYC, SF and Berlin. In addition to programming he is currently traveling round the world with a Nikon D90 and surfboard.
Download
By: Shahen Gasparyan
No comments:
Post a Comment