Good Old-Fashioned Websites
…again I acknowledge my use of the term “website” is a stretch – I mean server-rendered, multi-page web apps with form-based workflows. Anyways, here are some exemplary applications built with this structure…
Excellent Single Page Apps
…and here are some excellent Single Page Apps that exemplify the most suitable use case for a thick client architecture:
Defining the Problem
The problem here is that most applications built as thick client apps have no need to adopt that architecture, and are, in fact, much poorer off both in respect of complexity and development load and, more importantly, in respect of user experience. There is a generation of developers who, I think, are learning web development with tools like AngularJS and Ember and so bring these tools to projects by default, even when they are completely unsuitable.
These tools and architectures have a definite use case. In my experience, though, this use case is represented by maybe 20% of projects – mostly those that present a desktop-like UI like Prezi and Google Docs do or those that, like SoundCloud, GrooveShark and similar apps, entirely break user experience if a page refresh occurs.
It’s my hope that if you read this and you are not already doing so, you will, on your next project, give deep consideration to what sort of application it is you are building and whether a thick client architecture really makes sense.