Skip to content

Developing Large Web Applications Producing Code That Can Grow and Thrive

Best in textbook rentals since 2012!

ISBN-10: 0596803028

ISBN-13: 9780596803025

Edition: 2010

Authors: Kyle Loudon

List price: $43.99
Blue ribbon 30 day, 100% satisfaction guarantee!
Buy eBooks
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Customers also bought

Book details

List price: $43.99
Copyright year: 2010
Publisher: O'Reilly Media, Incorporated
Publication date: 3/18/2010
Binding: Paperback
Pages: 300
Size: 7.01" wide x 9.17" long x 0.91" tall
Weight: 1.166
Language: English

Kyle Loudon is a software engineer at Matrix Semiconductor in Santa Clara, California, where he works with file systems and applications for memory chips. Prior to Matrix, Kyle developed platform software for embedded devices, including various wireless phones and the Apple iPod. He also led the graphical user interface group at Jeppesen Dataplan (now a part of Boeing), developed flight planning software, and created system software at IBM in the early 1990s. For the past several years, Kyle has taught object-oriented programming using C++ at the University of California, Santa Cruz Extension, and has worked with C++ since the beginning of its widespread use in 1990. Kyle is the author of…    

Foreword
Preface
The Tenets
Managing Complexity
Modular Components
Achieving Modularity
Benefits of Modularity
Ten Tenets for Large Web Applications
Object Orientation
The Fundamentals of OOP
Why Object Orientation?
UML Class Diagrams
Generalization
Association
Modeling a Web Page
Defining Page Types
Defining Module Types
Writing the Code
Achieving Modularity
Object-Oriented PHP
Classes and Interfaces
Inheritance in PHP
Object-Oriented JavaScript
Objects
Inheritance in JavaScript
Large-Scale HTML
Modular HTML
A Bad Example: Using a Table and Presentation Markup
A Better Example: Using CSS
The Best Example: Semantically Meaningful HTML
Benefits of Good HTML
HTML Tags
Bad HTML Tags
Good HTML Tags
IDs, Classes, and Names
Conventions for Naming
XHTML
Benefits of XHTML
XHTML Guidelines
RDFa
RDFa Triples
Applying RDFa
HTML 5
Large-Scale CSS
Modular CSS
Including CSS
Applying CSS
Specificity and Importance
Scoping with CSS
Standard Module Formats
Positioning Techniques
CSS Box Model
Document Flow
Relative Positioning
Absolute Positioning
Floating
Layouts and Containers
Example Layouts
Example Containers
Other Practices
Browser Reset CSS
Font Normalization
Large-Scale JavaScript
Modular JavaScript
Including JavaScript
Scoping with JavaScript
Working with the DOM
Common DOM Methods
Popular DOM Libraries
Working with Events
Event Handling Normalization
A Bad Example: Global Data in Event Handlers
A Good Example: Object Data in Event Handlers
Event-Driven Applications
Working with Animation
Motion Animation
Sizing Animation
Color Transition
An Example: Chained Selection Lists
Data Management
Dynamic Modules
Data Managers
Creating Data Managers
Extending Data Managers
Data Using SQL As a Source
An SQL Example
Data Using XML As a Source
An XML Example
Data from Web Services
Data in the JSON Format
Cookies and Forms
Managing Data in Cookies
Managing Data from Forms
Large-Scale PHP
Modular Web Pages
Generating Pages in PHP
Working with Pages
Public Interface for the Page Class
Abstract Interface for the Page Class
Implementation of the Page Class
Extending the Page Class
Working with Modules
Public Interface for the Module Class
Abstract Interface for the Module Class
Implementation of the Module Class
Extending the Module Class
An Example Module: Slideshow
Layouts and Containers
Special Considerations
Handling Module Variations
Multiple Instances of a Module
Dynamic JavaScript and CSS
Implementing Nested Modules
Large-Scale Ajax
In the Browser
Managing Connections
Using Ajax Libraries
On the Server
Exchange Formats
Server Proxies
Modular Ajax
MVC and Ajax
Using Ajax with MVC
Public Interface for the Model Object
Implementation of the Model Object
Public Interface for the View Object
Abstract Interface for the View Object
View Object Implementation
Public Interface for the Connect Object
Abstract Interface for the Connect Object
Implementation of the Connect Object
Controllers
An Example of Ajax with MVC: Accordion Lists
Performance
Caching Opportunities
Caching CSS and JavaScript
Caching Modules
Caching for Pages
Caching with Ajax
Using Expires Headers
Managing JavaScript
JavaScript Placement
JavaScript Minification
Removing Duplicates
Distribution of Assets
Content Delivery Networks
Minimizing DNS Lookups
Minimizing HTTP Requests
Control Over Site Metrics
Modular Testing
Using Test Data
Creating Test Data
Application Architecture
Thinking Modularly
Organizing Components
Sitewide Architecture
Section Architecture
Architecture for Pages
Architecture and Maintenance
Reorganizing Module Uses
Adding Module Variations
Making Widespread Changes
Changes in Data Sources
Exposing Modules Externally
Index