Not so long ago, data-rich web application was an oxymoron. Today, these applications are everywhere, and you need to know how to build them. Traditionally, web applications left the heavy lifting of data to servers that pushed HTML to the browser in complete page loads. The use of client-side JavaScript was limited to improving the user experience. Now this relationship has been inverted—cli…