Introducing The HAT Stack

Written by Nick Van Weerdenburg

Welcome to the rangle.io blog!

rangle.io is a JavaScript-only consulting and development company focused on a new kind of web application where most of the application runs in the browser.

We call the collection of technologies we use the HAT stack- HTML5, AngularJS, and thin-servers. Everything related to the user-driven application logic runs in the browser, and the server handles everything related to data such as sharing and storage.

This has been a trend since "Web 2.0" and AJAX applications started becoming popular. JavaScript and frameworks like jQuery added dynamic behaviour to pages, but the net result was a lot of duplicate logic on the server and on the client. However, there was no resolution to this costly duplication problem- weaker browsers required that the server logic was the master and the browser enhancements had to be written to progressively enhance a server-side foundation.

Custom Angular 2 Training

Thankfully, technology marches on, and in 2013 three amazing things happened.

  1. Almost all users were now using browsers with excellent implementations of HTML5 and JavaScript. The browser could now be the master and the server it's servant.
  2. JavaScript libraries such as AngularJS reached a maturity that made writing browser-centric application as easer or easier than server-side applications.
  3. The mobile revolution made any new web application require four application versions/channels- web, mobile web, iOS, and Android.

Taking a browser-centric HTML5 approach to web applications was not only possible, it was revolutionary:

  1. Suddenly, you could write browser-applications that almost all of your users could run on any platform or device.
  2. Even better, it would require 1/2 the code of your traditional server + client enhanced application since you no longer had to duplicate logic on the server and the client.
  3. With an elegant HTML5 client-based solution, responsive design and application logic could now work seamlessly together to use one codebase to target web, mobile web, and even applications packaged and deployed for the various app stores.

And that's only some of the benefits. Additional benefits include:

  1. Since the all of the application flow and user experience is in the browser, much more powerful user experiences can be built at a fraction of the coding effort.
  2. A clean client-side applicaton architecture allows you to build much larger applications since you avoid the mess of jQuery and CSS hacks previously needed to coordinate with server-side code.
  3. You application takes much less server resources, making it easier to scale.
  4. You can build applications against new "backend-as-a-service" providers such as MongoLab and Firebase, removing the need for your own server almost completely.
  5. Your application is written in one language- JavaScript - simplifying development and support in the future.

That's a lot of info.

To recap, HTML5 became viable in 2013, new JavaScript libraries required to easily build HTML5 applications reached maturity, and the mobile-revolution put new demands on application development that HTML5 browser-centric applications were uniquely positioned to solve.

The result of this new HTML5/JavaScript approach? The ability to develop apps with 1/2 code, for 4X the number of platforms/channels, with an application architecture that scales better, is easier to extend, and can better respond to changes demanded by market forces.

If you want to learn more about AngularJS and building HTML 5 applications, checkout some of our talks:

  1. AngularJS Fundamentals for Rapid HTML5 Application Development
  2. Building a Complete Startup Stack with AngularJS

And of course, please subscribe to catch our next blog post!