Index

A note on the digital index

A link in an index entry is displayed as the section title in which that entry appears. Because some sections have multiple index markers, it is not unusual for an entry to have several links to the same section. Clicking on any link will take you directly to the place in the text in which the marker appears.

A

accelerometers, Device Orientation API
Adobe Shadow (mobile debugger), Adobe Shadow
adoptNode, Fetching and Caching
AJAX calls, Fetching and Caching
security concerns with, Fetching and Caching
Ajax Minifier online CSS compressor (Microsoft), Minification
Amber.js, Ember
Android, Rotating
rendering rotating transition, Rotating
Android default browser, Android, Android
Dolphin browserr, Android
Angular framework, Angular, Angular server synchronization, Angular server synchronization
Google, Angular
security features with, Angular server synchronization
server synchronization, Angular server synchronization
Apache ActiveMQ, Building the Stack
Apache, HTTP compression support in, GZIP Versus DEFLATE
Apple, Client-Side Architecture, Ember
and Ember framework, Ember
approaches, Single PagejQTouch, No Page Structure, 100% JavaScript DrivenThe-M-Project
100% JavaScript Driven, 100% JavaScript DrivenThe-M-Project
no-page-structure approach, No Page Structure
single page, Single PagejQTouch
apps, Building for the Mobile Web, Mobile Web Look and Feel (see web apps)
asynchronous nonblocking IO (NIO), On the Server, Behind the Scenes
Atmosphere (WebSocket framework), Atmosphere
automatic sign-in, implementing, Enable automatic sign-in

B

Backbone (client side MV* framework), Client Versus Server HTML Generation
Backbone framework, BackboneBackbone and legacy servers, Backbone server synchronization, Backbone and legacy servers, Database Syncing with Backbone
and legacy servers, Backbone and legacy servers
server synchronization, Backbone server synchronization
background-repeat CSS, Hardware acceleration
Batman framework (Shopify), Batman, Batman server synchronization
server synchronization, Batman server synchronization
body onload event, Network Type Detection and Handling
Boot 2 Gecko project (Mozilla), The Browser as a Platform
Boot to Gecko project (B2G), Mobile Firefox
borders CSS, Hardware acceleration
box-shadow CSS, Hardware acceleration

C

caching, Fetching and CachingFetching and Caching, Fetching and Caching, Fetching and Caching, Caching with a timestamp
defined, Fetching and Caching
and storage limitations, Fetching and Caching
time stamps, adding, Caching with a timestamp
Chrome, Using Chrome, The Storage API, Private Browsing
debugging web apps, as tool for, Using Chrome
private browsing, Private Browsing
Chrome OS (Google), The Browser as a Platform
client-side architecture, Client-Side ArchitectureConclusion, More Code on the Client, The Browser as a Platform, Deciding What to Support, Fetching and Caching, The Browser as a PlatformClient Versus Server HTML Generation, Client Versus Server HTML GenerationClient Versus Server HTML Generation, Client Versus Server HTML Generation, Programming Models, Optimizing with Web Storagepersistence.js
fragmentation, Deciding What to Support
and hardware access, More Code on the Client
movement towards, Client-Side ArchitectureConclusion
security concerns with data storage, Client Versus Server HTML Generation
server side HTML generation vs., Client Versus Server HTML GenerationClient Versus Server HTML Generation
and storage limitations, Fetching and Caching
web browser as platform, The Browser as a Platform
web browsers as platforms for, The Browser as a PlatformClient Versus Server HTML Generation
Web Storage, Optimizing with Web Storagepersistence.js
WebSockets, Programming Models
Closure Compiler minification tool (Google), Minification
coffeescript, Batman
Comet, Building the Stack
CometD, Building the Stack
compasses, Device Orientation API
compression (CSS and JavaScript), MinificationBringing it all together
minification, MinificationBringing it all together
compression (HTTP), CompressionBringing it all together, Compression, Compression, GZIP Versus DEFLATEGZIP Versus DEFLATE, GZIP Versus DEFLATEGZIP Versus DEFLATE, GZIP Versus DEFLATE, GZIP Versus DEFLATE
DEFLATE, GZIP Versus DEFLATEGZIP Versus DEFLATE
file-types for, Compression
GZIP, GZIP Versus DEFLATEGZIP Versus DEFLATE
HTML5Boilerplate.com, GZIP Versus DEFLATE
performance considerations for, Compression
validating, GZIP Versus DEFLATE
CompressorRater, Minification
contexts and dependency injection (CDI), Relaying Events from the Server to the Browser
Crockford, Douglas, Minification
cubic-bezier, Flipping

D

database syncing, Syncing Data from the Client SideDatabase Syncing with Backbone, Database Syncing with Backbone
Backbone framework, Database Syncing with Backbone
debugging, Debugging Hardware AccelerationUsing Chrome, Using Safari, Using Chrome, Memory Consumption
Chrome, as tool for, Using Chrome
hardware acceleration, Debugging Hardware AccelerationUsing Chrome
memory consumption, measuring, Memory Consumption
Safari, as tool for, Using Safari
debugging, mobile, Mobile Debugging, weinre, Adobe Shadow, Opera Remote Debugging
Adobe Shadow, Adobe Shadow
Opera Remote Debugging, Opera Remote Debugging
weinre, weinre
DEFLATE compression, GZIP Versus DEFLATEGZIP Versus DEFLATE, GZIP Versus DEFLATE
interoperability problems with, GZIP Versus DEFLATE
Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al), More Code on the Client
desktop web, The Desktop WebKnockout server synchronization, The Browser as a PlatformClient Versus Server HTML Generation, Device and Feature DetectionServer-Side userAgent Detection, CompressionBringing it all together
browser as platform, The Browser as a PlatformClient Versus Server HTML Generation
feature detection, Device and Feature DetectionServer-Side userAgent Detection
HTTP compression, CompressionBringing it all together
device orientation, Device Orientation APIA Practical Use Case: Scrolling with Device Movement, Device Orientation API, A Practical Use Case: Scrolling with Device Movement
Firefox, older versions of, Device Orientation API
scrolling with device movement, A Practical Use Case: Scrolling with Device Movement
Device Orientation API, HTML5 in the Enterprise
deviceorientation, Device Orientation API
DeviceOrientationEvent object, Device Orientation API
Disqus, Using Web Storage Today
Dojo foundation, Wink Toolkit
Dojo shrinksafe (minification tool), Minification
Dolphin browser, Android

E

Edwards, Dean, Minification
Ember framework, EmberEmber server synchronization, Ember, Ember server synchronization
and Apple, Ember
server synchronization, Ember server synchronization
enableHighAccuracy attribute (Geolocation API), Geolocation
EventListener statement, Network Type Detection and Handling

H

Hacker News, Conclusion
HAProxy, Building your own
hardware acceleration, Hardware acceleration, Hardware acceleration, Hardware acceleration, Hardware acceleration, Sliding, Sliding, Debugging Hardware AccelerationUsing Chrome, Memory Consumption
Android Froyo and, Sliding
debugging, Debugging Hardware AccelerationUsing Chrome
memory allocation/computational burden concerns, Hardware acceleration
memory consumption, Memory Consumption
overlapping acceleration concerns, Hardware acceleration
power consumption/battery life concerns, Hardware acceleration
transforms, 2D vs. 3D, Sliding
hardware APIs, HTML5 in the Enterprise
Haversine formula, A Practical Use Case: User Tracking
HTML5, Before HTML5, HTML5 in the Enterprise, Client Versus Server HTML Generation
enterprise development, HTML5 in the Enterprise
and movement away from server-side architecture, Before HTML5
vs. JSON/XML, Client Versus Server HTML Generation
HTML5 Enterprise (HTML5e) browsers, HTML5 in the Enterprise
HTML5Boilerplate.com, GZIP Versus DEFLATE
HTTP compression, Compression (see compression (HTTP))

I

iframe, Fetching and Caching
vs. innerHTML(), Fetching and Caching
innerHTML(), Fetching and Caching, Fetching and Caching
AJAX responses and, Fetching and Caching
vs. iframe, Fetching and Caching
interactions/transitions, Interactions and TransitionsMemory Consumption, SlidingSliding, FlippingFlipping, RotatingRotating
flipping, FlippingFlipping
rotating, RotatingRotating
sliding, SlidingSliding
Internet Explorer, The Mobile Web
Internet Explorer Mobile, Internet Explorer Mobile
interoperability, Graceful Degradation, Sliding, Sliding, Using Web Storage in Any Browser
and polyfills, Graceful Degradation
translate3d(0,0,0), non-universal support for, Sliding
vendor prefix, Sliding
and Web Storage, Using Web Storage in Any Browser

K

Kaazing Gateway, Building the Stack
Knockout (client side MV* framework), Client Versus Server HTML Generation
Knockout framework, Knockout, Knockout server synchronization
server synchronization, Knockout server synchronization

M

maximumAge attribute (Geolocation API), Geolocation
Media Capture API, HTML5 in the Enterprise
Microsoft, Client-Side Architecture
minification, MinificationBringing it all together, Minification, Bringing it all togetherBringing it all together, Bringing it all together, Bringing it all together
CompressorRater, Minification
grunt, Bringing it all togetherBringing it all together
JAWR, Bringing it all together
Ziproxy, Bringing it all together
Mobile Design Pattern Gallery (Neil), The Look
Mobile Safari (iOS6), Mobile Safari (iOS6), Mobile Safari (iOS6), Mobile Safari (iOS6)
BugReporter, limitations on, Mobile Safari (iOS6)
innerHTML() bug, Mobile Safari (iOS6)
mobile web, The Mobile WebQA and Device Testing, The Mobile Web, The Mobile Web, Mobile First, Mobile First, Deciding What to Support, Mobile Web BrowsersBrowser Grading, Browser Grading, HTML5 in the Enterprise, QA and Device Testing, QA and Device Testing, Building for the Mobile WebOpera Remote Debugging, Mobile Web Look and FeelHardware acceleration
browser interoperability, The Mobile Web
browsers, Mobile Web BrowsersBrowser Grading
browsers, grading, Browser Grading
building applications for, Building for the Mobile WebOpera Remote Debugging
client-side APIs and, HTML5 in the Enterprise
defined, The Mobile Web
device emulators, QA and Device Testing
fragmentation, Deciding What to Support
mobile first development, Mobile First, Mobile First
native vs. Mobile Web models, Mobile Web Look and FeelHardware acceleration
testing, QA and Device Testing
mobile web browsers, Mobile Web BrowsersBrowser Grading, WebKit, Mobile Firefox, Opera Mobile, Internet Explorer Mobile, Mobile Browser Market Share, Browser Grading, Graceful Degradation
Firefox (Mozilla), Mobile Firefox
graceful degradation, Graceful Degradation
grading, Browser Grading
Internet Explorer Mobile, Internet Explorer Mobile
market shares, Mobile Browser Market Share
Opera Mobile, Opera Mobile
WebKit, WebKit
MobileESP framework, Server-Side userAgent Detection
MobileESP project, Client-Side userAgent Detection
Modernizr.js framework, Device and Feature Detection
mod_deflate module (Apache), GZIP Versus DEFLATE
Mozilla, Client-Side Architecture, Mobile Firefox, Mobile Firefox
Boot to Gecko project (B2G), Mobile Firefox
WebAPI OS, Mobile Firefox
MVC patterns(Model-View-Controller), JavaScript MVC Frameworks and the ServerKnockout server synchronization

N

Neil, Theresa, The Look
Network Information API, Network Type Detection and HandlingNetwork Type Detection and Handling
no-page-structure approach, No Page Structure, xui
xui, xui
node.js (WebSocket framework), Frameworks

O

onclose (WebSocket listener), Programming Models
100% JavaScript Driven approach, The-M-Project
The-M-Project, The-M-Project
onload event, Network Type Detection and Handling
onmessage (WebSocket listener), Programming Models
ononline event, Network Type Detection and Handling
onopen (WebSocket listener), Programming Models
opacity animation, Hardware acceleration
Open Web, Client-Side Architecture
Opera, Private Browsing
private browsing, Private Browsing
Opera Dragonfly, Opera Remote Debugging
debugging web apps with, Opera Remote Debugging
Opera Mobile, Opera Mobile
Orange Labs (France Telecom R&D), Wink Toolkit

P

Packer (minification tool), Minification
performance, Hardware acceleration, Compression
CSS, issues with, Hardware acceleration
and HTTP compression, Compression
persistence.js framework, persistence.js
PhoneGap framework, xui
Platform.js library, Client-Side userAgent Detection
polyfills, Graceful Degradation
Pretty Diff online CSS compressor, Minification
processOffline() function, Network Type Detection and Handling
Programming the Mobile Web (Firtman), QA and Device Testing
push technology, Building the Stack
Pusher, Building the Stack
Python Twisted (WebSocket framework), Frameworks

R

racy behavior, What’s Racy and What’s Not?
reddit, Conclusion
rotating transition, RotatingRotating, Rotating
on Android devices, Rotating
Ruby EventMachine (WebSocket framework), Frameworks

S

Safari, Using Safari, The Storage API, Private Browsing
debugging web apps, as tool for, Using Safari
private browsing, Private Browsing
sandbox attribute, allowed values of, Fetching and Caching
scale3d, Hardware acceleration
Sencha Touch, Sencha TouchSencha Touch
server-side architecture, JavaScript MVC Frameworks and the ServerKnockout server synchronization, Programming Models
JavaScript MVC frameworks for, JavaScript MVC Frameworks and the ServerKnockout server synchronization
WebSockets, Programming Models
server-side templating/frameworks, Before HTML5, Before HTML5, More Code on the Client
JavaScript templating vs., More Code on the Client
movement away from, Before HTML5
Ruby, Before HTML5
sessionStorage, Optimizing with Web Storage
single page approach, Single PagejQTouch, jQuery MobilejQuery Mobile, jQTouch
jQTouch, jQTouch
jQuery Mobile, jQuery MobilejQuery Mobile
slideTo() methods, Flipping
sliding transition, SlidingSliding
Socket.IO, Building the Stack, FrameworksAtmosphere
WebSocket framework, FrameworksAtmosphere
SockJS, Vert.x
SPDY, Building the Stack
SproutCore 2.0, Ember
STOMP, Building the Stack
Storage API, The Storage API
StorageEvent API, The StorageEvent API, What’s Racy and What’s Not?
racy behavior, What’s Racy and What’s Not?

T

The-M-Project, The-M-Project
threading, On the Server, Behind the Scenes
timeout property (Geolocation API), Geolocation
transform animation, Hardware acceleration
transition-property animation, Hardware acceleration
translate3d, Hardware acceleration
translateZ, Hardware acceleration
Transport Layer Security (TLS), Managing Proxies
Twitter, Who’s Using Web Storage?

V

vendor prefix, Sliding
Vert.x (WebSocket framework), Vert.x

W

W3C Geolocation API Specification, geo-location-javascript
watchPosition() (Geolocation API), Geolocation
web apps, Building for the Mobile WebOpera Remote Debugging, The Look, The Feel, Hardware acceleration, Hardware acceleration, Interactions and TransitionsMemory Consumption, Debugging Hardware AccelerationUsing Chrome, Network Type Detection and HandlingNetwork Type Detection and Handling, Mobile Debugging
CSS, performance issues with, Hardware acceleration
debugging, Debugging Hardware AccelerationUsing Chrome, Mobile Debugging
hardware acceleration, Hardware acceleration
interactions/transitions, Interactions and TransitionsMemory Consumption
mimicking look of native apps, The Look
native apps, mimicking feel of, The Feel
Network Information API, Network Type Detection and HandlingNetwork Type Detection and Handling
web browser(s), The Browser as a Platform, The Browser as a Platform
as platform, The Browser as a Platform
standard conformity, or lack of, The Browser as a Platform
Web Sniffer, GZIP Versus DEFLATE
Web Storage, Optimizing with Web Storagepersistence.js, Optimizing with Web Storage, The Storage API, The Storage API, The StorageEvent API, Using JSON to Encode and Decode, Security and Private Browsing, Private Browsing, Who’s Using Web Storage?Caching with a timestamp, Who’s Using Web Storage?, Using Web Storage Today, Syncing Data from the Client SideDatabase Syncing with Backbone, Using Web Storage in Any Browser, Frameworkspersistence.js
Amazon, use of, Who’s Using Web Storage?
frameworks, Frameworkspersistence.js
interoperability, Using Web Storage in Any Browser
JSON, encoding/decoding with, Using JSON to Encode and Decode
performance optimizations, The Storage API
private browsing, Private Browsing
security, Security and Private Browsing
Storage API, The Storage API
storage size limits, Optimizing with Web Storage
StorageEvent API, The StorageEvent API
syncing databases with, Syncing Data from the Client SideDatabase Syncing with Backbone
usage, desktop vs. mobile, Who’s Using Web Storage?Caching with a timestamp
uses for, Using Web Storage Today
Web Storage API, HTML5 in the Enterprise
Web Storage frameworks, Frameworkspersistence.js, LawnChair, persistence.js
LawnChair, LawnChair
persistence.js, persistence.js
Web Storage specification (W3C Working Draft), Optimizing with Web Storage
Web Workers API, HTML5 in the Enterprise, Web WorkersOther Uses, Web Workers, A Practical Use Case: Pooling and Parallelizing JobsOther Uses
interoperability, Web Workers
pooling/parallelizing jobs, A Practical Use Case: Pooling and Parallelizing JobsOther Uses
WebAPI OS (Mozilla), Mobile Firefox
WebKit browser engine, WebKit, Mobile Safari (iOS6), Android
Android default browser, Android
Mobile Safari (iOS6), Mobile Safari (iOS6)
WebKitCSSMatrix, Flipping, Flipping
Webshims lib, Webshims lib
WebSocket, Managing ProxiesBuilding your own, Building your own
HAProxy, Building your own
proxy servers and, Managing ProxiesBuilding your own
WebSocket API, HTML5 in the Enterprise
WebSocket frameworks, Vert.x, Socket.IO, Atmosphere
Atmosphere, Atmosphere
Socket.IO, Socket.IO
Vert.x, Vert.x
WebSocketHandler (Jetty), Relaying Events from the Server to the Browser
WebSockets, WebSocketsAtmosphere, Building the Stack, Building the Stack, On the Server, Behind the Scenes, Programming Models, Programming Models, Relaying Events from the Server to the BrowserUsing the new and shiny, Relaying Events from the Server to the Browser, Relaying Events from the Server to the Browser, Relaying Events from the Server to the Browser, Relaying Events from the Server to the Browser, Binary Data Over WebSocketsBinary Data Over WebSockets, Binary Data Over WebSockets, Managing Proxies, FrameworksAtmosphere
audio data over, Binary Data Over WebSockets
binary data over, Binary Data Over WebSocketsBinary Data Over WebSockets
client-side architecture and, Programming Models
frameworks, FrameworksAtmosphere
graceful degradation, Building the Stack
interoperability concerns with, Relaying Events from the Server to the Browser
proxies, Relaying Events from the Server to the Browser
security, Relaying Events from the Server to the Browser
server-side architecture, On the Server, Behind the Scenes
server-side architecture and, Programming Models
server/browser, communication between, Relaying Events from the Server to the BrowserUsing the new and shiny
stack, building, Building the Stack
threading, Relaying Events from the Server to the Browser
WebSocket Secure, Managing Proxies
weinre (mobile debugger), weinre
window.navigator object, Client-Side userAgent Detection
Wink Toolkit, Wink ToolkitWink Toolkit

X

xui, xui

Y

YUI Compressor (minification tool), Minification

Z

Ziproxy (minification tool), Bringing it all together