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 minificationTable of Contents 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 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 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 4 Controllers and State* Module Pattern* Adding a Bit of Context* State Machines* Routing 5 Views and Templating* Dynamically Rendering Views* Templates* Binding 6 Dependency Management* CommonJS* Module Loaders* Wrapping Up Modules* Module Alternatives* FUBCs 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 8 The Real-Time Web* Real Time’s History* WebSockets* Real-Time Architecture* Perceived Speed 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 10 Deploying* Performance* Caching* Minification* Gzip Compression* Using a CDN* Auditors* Resources 11 The Spine Library* Setup* Classes* Events* Models* Controllers* Building a Contacts Manager 12 The Backbone Library* Models* Collections* Views* Controllers* Syncing with the Server* Building a To-Do List 13 The JavascriptMVC Library* Setup* Classes* Model* Using Client-Side Templates in the View* $. The jQuery Plug-in Factory* Putting It All An Abstract CRUD List jQuery Primer* DOM Traversal* DOM Manipulation* Events* Ajax* Being a Good Citizen* Extensions* Creating a Growl jQuery Plug-in CSS Extensions* Variables* Mixins* Nested Rules* Including Other Stylesheets* Colors* How Do I Use Less? 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
"synopsis" may belong to another edition of this title.
(No Available Copies)
Search Books: Create a WantCan't find the book you're looking for? We'll keep searching for you. If one of our booksellers adds it to AbeBooks, we'll let you know!
Create a Want