JavaScript Web Applications. jQuery Developers' Guide to Moving State to the Client - Helion
ISBN: 978-14-493-1528-3
stron: 278, Format: ebook
Data wydania: 2011-08-11
Księgarnia: Helion
Cena książki: 109,65 zł (poprzednio: 127,50 zł)
Oszczędzasz: 14% (-17,85 zł)
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
Osoby które kupowały "JavaScript Web Applications. jQuery Developers' Guide to Moving State to the Client", wybierały także:
- D3.js w akcji 67,42 zł, (20,90 zł -69%)
- Tablice informatyczne. Node.js 16,86 zł, (5,90 zł -65%)
- Testowanie aplikacji w React.js. Kurs video. Praca z biblioteką Jest.js 69,00 zł, (27,60 zł -60%)
- JavaScript. Kurs video. Programowanie funkcyjne i reaktywne 98,98 zł, (39,59 zł -60%)
- AngularJS. Kurs video. Poziom pierwszy. Tworzenie aplikacji 119,00 zł, (47,60 zł -60%)
Spis treści
JavaScript Web Applications. jQuery Developers' Guide to Moving State to the Client eBook -- spis treści
- JavaScript Web Applications
- Preface
- Who Is This Book For?
- How This Book Is Organized
- Conventions Used in This Book
- Accompanying Files
- Code Conventions
- jQuery Examples
- Holla
- Authors Note
- Safari Books Online
- How to Contact Us
- 1. MVC and Classes
- Early Days
- Adding Structure
- What Is MVC?
- The Model
- The View
- The Controller
- 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
- Prototypal Inheritance
- Adding ORM Properties
- Persisting Records
- Adding ID Support
- Addressing References
- Loading in Data
- Including Data Inline
- Loading Data with Ajax
- JSONP
- Security with Cross-Domain Requests
- Populating Our ORM
- Storing Data Locally
- Adding Local Storage to Our ORM
- Submitting New Records to the Server
- 4. Controllers and State
- Module Pattern
- Global Import
- Global Export
- Adding a Bit of Context
- Abstracting into a Library
- Loading Controllers After the Document
- Accessing Views
- Delegating Events
- State Machines
- Routing
- Using the URLs Hash
- Detecting Hash Changes
- Ajax Crawling
- Using the HTML5 History API
- Module Pattern
- 5. Views and Templating
- Dynamically Rendering Views
- Templates
- Template Helpers
- Template Storage
- Binding
- Binding Up Models
- 6. Dependency Management
- CommonJS
- Declaring a Module
- Modules and the Browser
- Module Loaders
- Yabble
- RequireJS
- Wrapping Up Modules
- Module Alternatives
- LABjs
- FUBCs
- CommonJS
- 7. Working with Files
- Browser Support
- Getting Information About Files
- File Inputs
- Drag and Drop
- Dragging
- Dropping
- Cancel Default Drag/Drop
- Copy and Paste
- Copying
- Pasting
- Reading Files
- Blobs and Slices
- Custom Browse Buttons
- Uploading Files
- Ajax Progress
- jQuery Drag and Drop Uploader
- Creating a Drop Area
- Uploading the File
- 8. The Real-Time Web
- Real Times History
- WebSockets
- Node.js and Socket.IO
- Real-Time Architecture
- Perceived Speed
- 9. Testing and Debugging
- Unit Testing
- Assertions
- QUnit
- Jasmine
- Drivers
- Headless Testing
- Zombie
- Ichabod
- Distributed Testing
- Providing Support
- Inspectors
- Web Inspector
- Firebug
- The Console
- Console Helpers
- Using the Debugger
- Analyzing Network Requests
- Profile and Timing
- Unit Testing
- 10. Deploying
- Performance
- Caching
- Minification
- Gzip Compression
- Using a CDN
- Auditors
- Resources
- 11. The Spine Library
- Setup
- Classes
- Instantiation
- Extending Classes
- Context
- Events
- Models
- Fetching Records
- Model Events
- Validation
- Persistence
- Controllers
- Elements
- Delegating Events
- Controller Events
- Global Events
- The Render Pattern
- The Element Pattern
- Building a Contacts Manager
- Contact Model
- Sidebar Controller
- Contacts Controller
- App Controller
- 12. The Backbone Library
- Models
- Models and Attributes
- Collections
- Controlling a Collections Order
- Views
- Rendering Views
- Delegating Events
- Binding and Context
- Controllers
- Syncing with the Server
- Populating Collections
- On the Server Side
- Custom Behavior
- Building a To-Do List
- Models
- 13. EmberJS
- The Application
- Models
- The Store
- The Adapter
- Defining Models
- Defining Relationships
- Templates
- Built-in Helpers
- Custom Helpers
- Controllers
- Responding to Actions
- Model Controllers
- Array Controllers
- Router
- Defining Routes
- Resource Routes
- Dynamic Segments
- Changing Routes
- Building a To-Do List
- A. jQuery Primer
- DOM Traversal
- DOM Manipulation
- Events
- Ajax
- Being a Good Citizen
- Extensions
- Creating a Growl jQuery Plug-in
- B. CSS Extensions
- Variables
- Mixins
- Nested Rules
- Including Other Stylesheets
- Colors
- How Do I Use Less?
- Via the Command Line
- Via Rack
- Via JavaScript
- Less.app
- C. CSS3 Reference
- Prefixes
- Colors
- Rounded Corners
- Drop Shadows
- Text Shadow
- Gradients
- Multiple Backgrounds
- Selectors
- Nth Child
- Direct Descendants
- Selector Negation
- Transitions
- Border Images
- Box Sizing
- Transformations
- Flexible Box Model
- Fonts
- Graceful Degradation
- Modernizr
- Google Chrome Frame
- Creating a Layout
- Index
- About the Author
- Colophon
- Copyright