Advanced Ajax : architecture and best practices
“I very much enjoyed how this book covers the full Ajax application lifecycle and not only coding techniques. Anyone who is looking to become a professional front-end developer will appreciate the architectural insight and best practices delivered by this book.” — Andi Gutmans, Co-Founder & Co-C...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
[Place of publication not identified]
Prentice Hall
2008
|
Edición: | 1st edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009627143006719 |
Tabla de Contenidos:
- Cover
- Contents
- Acknowledgments
- About the Author
- Introduction
- 0.1 Ajax, the Acronym
- 0.1.1 Asynchronous
- 0.1.2 JavaScript
- 0.1.3 XML
- 0.2 This Book's Intentions
- 0.3 Prerequisites for This Book
- Chapter 1 Usability
- 1.1 Interface Versus Showcase
- 1.1.1 Implementation
- 1.2 User Expectations
- 1.3 Indicators and Other Forms of User Feedback
- 1.3.1 The Throbber
- 1.3.2 Progress Indicators
- 1.3.3 Keeping the User in the Loop
- 1.4 Semantic Markup
- 1.4.1 More Accessible
- 1.4.2 Easier to Use
- 1.4.3 Easier to Maintain
- 1.4.4 Easier to Parse
- 1.5 What CSS and JavaScript Have in Common
- Chapter 2 Accessibility
- 2.1 WCAG and Section 508
- 2.1.1 WCAG
- 2.1.2 Section 508
- 2.2 Screen Readers Can Handle Ajax
- 2.2.1 Content Replacement
- 2.2.2 Form Validation
- 2.3 Unobtrusive Ajax
- 2.4 Designing with Accessibility in Mind
- 2.4.1 High-Contrast Design
- 2.4.2 Zoomable Interface
- 2.4.3 Easily Targeted Controls
- 2.5 WAI-ARIA
- Chapter 3 Client-Side Application Architecture
- 3.1 Objects and Event Triggering
- 3.1.1 Native Object Event Handling
- 3.1.2 JavaScript Objects
- 3.2 Model-View-Controller Design Pattern
- 3.2.1 The Model
- 3.2.2 The View
- 3.2.3 The Controller
- 3.3 Event-Driven Application Development
- 3.3.1 Advantages of Architecture
- Chapter 4 Debugging Client-Side Code
- 4.1 Validation, Validation, Validation
- 4.1.1 Markup Validator
- 4.1.2 CSS Validator
- 4.1.3 Semantic Extractor
- 4.2 Browser Tools and Plugins
- 4.2.1 The Console
- 4.2.2 Internet Explorer
- 4.2.3 Firefox
- 4.2.4 Opera
- 4.2.5 Safari
- 4.3 JavaScript Profiling
- 4.3.1 Recognizing Bottlenecks
- 4.4 Unit Testing
- 4.4.1 Assertions
- 4.4.2 Test Setup
- 4.4.3 The Test Itself
- 4.4.4 Mock Objects
- 4.4.5 Test Suites
- Chapter 5 Performance Optimization
- 5.1 Database Performance.
- 5.1.1 Schema
- 5.1.2 Queries
- 5.2 Bandwidth and Latency
- 5.2.1 Bandwidth
- 5.2.2 Latency
- 5.3 Cache
- 5.3.1 Filesystem
- 5.3.2 Memory
- 5.3.3 Completing the Implementation
- 5.4 Taking Advantage of HTTP/1.1
- 5.4.1 If-Modified-Since
- 5.4.2 Range
- 5.5 PHP Profiling
- 5.5.1 Advanced PHP Debugger
- 5.5.2 Xdebug
- Chapter 6 Scalable, Maintainable Ajax
- 6.1 General Practices
- 6.1.1 Processor Usage
- 6.1.2 Memory Usage
- 6.2 A Multitude of Simple Interfaces
- 6.2.1 Modularity
- 6.2.2 Late Loading
- 6.3 Dense, Rich Interfaces
- 6.3.1 Monolithic Applications
- 6.3.2 Preloading
- Chapter 7 Server-Side Application Architecture
- 7.1 Designing Applications for Multiple Interfaces
- 7.2 Model-View-Controller Design Pattern
- 7.2.1 The Model
- 7.2.2 The Controller
- 7.2.3 The View
- 7.3 Using the Factory Pattern with Your Template Engine
- Chapter 8 Keeping a Web Application Secure
- 8.1 HTTPS
- 8.1.1 Why Use HTTPS?
- 8.1.2 Security Versus Performance
- 8.2 SQL Injection
- 8.2.1 Don't Use Magic Quotes
- 8.2.2 Filtering
- 8.2.3 Prepared Statements
- 8.3 XSS
- 8.3.1 Escaping for Markup
- 8.3.2 Escaping for URLs
- 8.4 CSRF
- 8.4.1 Check the Referer
- 8.4.2 Submit an Additional Header
- 8.4.3 Secondary, Random Tokens
- 8.5 Don't Trust the User
- 8.6 Don't Trust the Server
- Chapter 9 Documenting
- 9.1 Yes, You Need to Document
- 9.1.1 Jog Your Own Memory
- 9.1.2 Lessen the Learning Curve
- 9.1.3 Mind That Bus
- 9.2 API Documentation
- 9.2.1 phpDocumentor
- 9.2.2 JSDoc
- 9.3 Internal Developer Documentation
- 9.3.1 Coding Standards
- 9.3.2 Programming Guides
- 9.3.3 Style Guides
- Chapter 10 Game Development
- 10.1 A Different Kind of Security
- 10.1.1 Validation
- 10.1.2 Server-Side Logic
- 10.2 Single Player
- 10.2.1 Double Buffering with Canvas
- 10.3 "Real-Time" Multiplayer.
- 10.3.1 Streaming Response
- 10.3.2 WHATWG event-source Element
- 10.3.3 Predictive Animation
- Chapter 11 Conclusions
- 11.1 Remember the Users
- 11.2 Design for the Future
- 11.3 Develop for the Future
- Bibliography
- Appendix A: Resources
- Appendix B: OpenAjax
- Conformance
- Namespace Registration
- Event Management
- Index.