7 Principles of Rich Web Applications

Just a really great essay/survey of many current and upcoming techniques, including lots of images, animations, and links.

From the article:

JavaScript has undeniably become an indispensable tool for frontend developers. Its usage is now expanding into other areas like servers and microcontrollers. It’s the language of choice for introducing computer science concepts by prestigious universities.

Yet a lot of questions on its precise role and usage on the web remain a mystery, even to many framework and library authors.

– Should JavaScript be used to replace browser functions like history, navigation and page rendering?

– Is the backend dying? Should I render HTML at all?

– Are Single Page Applications (SPAs) the future?

– Is JS supposed to augment pages for websites, but render pages in web apps?

– Should techniques like PJAX or TurboLinks be used?

– What’s the precise distinction between a website and a web application? Should there be one at all?

What follows is my attempt to answer these. My approach is to examine the usage of JavaScript exclusively from the lens of user experience (UX). In particular, I put a strong focus on the idea of minimizing the time it takes the user to get the data they are interested in. Starting with networking fundamentals all the way to predicting the future.

7 Principles of Rich Web Applications