HTML and CSS Reference
Unlike 20 years ago, browsers—the client-side platforms of today—are much more
powerful, not to mention mobile. Plus, today's clients can report all kinds of interesting
data, such as your location's latitude and longitude, through the browser and over a cell
One other small fact that's pushing the browser as a platform is that multiple companies
—Google, Apple, Mozilla, and Microsoft—are pushing thousands of commits per week
into improving their hybrid, thick-client technology platforms.
In the past, building applications that were heavily tied to the server made perfect sense.
This gave hardcore, backend developers the freedom not to worry about DOM manip‐
ulation and CSS. If you could get a data grid or paging component that tied into your
backend code and generated IE6- through IE8-compatible markup, then you were gold‐
en. (See Figure 1-2 .)
Figure 1-2. Output of a JSF data grid component
This autogenerated markup comes at a cost, however, especially in today's world of fast
moving, fragmented browsers. The need for flexible, controllable markup is at an all-
time high. The Open Web is moving faster than ever, and user interfaces can no longer
allow the server to be the bottleneck between stale ideas of the past and lightning-fast,
scalable, frontend code. Developers have never been more concerned with performance
in the browser. How markup is rendered and asynchronous resources are loaded can
make or break your application. Faster and leaner frontends equal more lead conver‐
sions, better SEO rankings, and lower costs in the data center.
Before HTML5 and mobile devices, frontend (or UI) developers didn't care that much
about the architecture behind the user interface. The scene was full of hacks and pro‐