Wednesday, August 15, 2007

Ajax Design Patterns

FOUNDATIONAL TECHNOLOGY PATTERNS
Ajax App
Display Manipulation
Display Morphing
Page Rearrangement
Web Remoting
Web Service
XMLHttpRequest Call
IFrame Call
HTTP Streaming
On-Demand JavaScript
Dynamic Behavior
User Action
Scheduling
Extended Technologies
Richer Plugin

PROGRAMMING PATTERNS
Web Services
RESTful Service
RPC Service
Ajax Stub
HTML Message
Plain-Text Message
XML Message
JSON Message
Browser-Server Dialogue
Call Tracking
Periodic Refresh
Submission Throttling
Explicit Sumbmission
Distributed Events
Cross-Domain Proxy
DOM Population
XML Data Island
Browser-Side XSLT
Browser-Side Templating
Code Generation and Reuse
Server-Side Code Generation
Cross-Browser Component
Performance Optimization
Browser-Side Cache
Predictive Fetch
Guesstimate
Multi-Stage Download
Fat Client

FUNCTIONALITY AND USABILITY PATTERNS
Widgets
Slider
Progress Indicator
Drilldown
Data Grid
Rich Text Editor
Suggestion
Live Search
Live Command-Line
Live Form
Page Architecture
Drag-And-Drop
Sprite
Popup
Malleable Content
Microlink
Portlet
Status Area
Update Control
Virtual Workspace
Visual Effects
One-Second Spotlight
One-Second Mutation
One-Second Motion
Highlight
Functionality
Lazy Registration
Direct Login
Host-Proof Hosting
Timeout
Heartbeat
Unique URLs

DEVELOPMENT PATTERNS
Diagnosis
Logging
Debugging
DOM Inspection
Traffic Sniffing
Testing
Simulation Service
Browser-Side Test
Service Test
System Test

JavaScript Multipurpose Frameworks
JavaScript Remoting Frameworks
JavaScript Effects Frameworks
JavaScript Flash Frameworks
JavaScript XML Frameworks
JavaScript Specialized Frameworks