At Oasis Digital most of our web application projects use a "single page app" design, which transfers much of the user experience workload from the server to the client/browser. This yields a fast, fluid user experience.
The SPA design approach also scales very well, replacing extensive server-side user interface code with SOA (service oriented architecture): the server systems behind a SPA provide only API data services, not user interfaces.
There are a variety of libraries and frameworks available to support this mode of development; we have used several, but the one that stands out is Angular:
Compared to traditional server-side web development, we have found that Angular projects provide multiple benefits:
We find Angular (2, 4, 5, and beyond) to be an excellent choice in 2017 for either upgrading new applications or starting a new front end for use on many types of devices.
An Angular client-side web application must be paired with a server-side API / data service layer. For this layer we use a toolset most suitable for a customer project - it can be a wrapper or replacement of legacy product, or an all new toolset.
We have developed such services to support Angular applications, using Java, NodeJS, Clojure, .NET, and others platforms, and scaled such services to support many users and features.
To use Angular as effectively as possible, we are familiar with a variety of supporting tools:
Using these tools, we create projects which deploy very effectively for production use, packaging modular development-time code into tightly packed, efficiently downloaded production assets.
At Oasis Digital we continuously learn new tools; as of 2016 we are working extensively with Angular 2.0, and a next generation of build and deployment tools.
In the process of adopting Angular, we have created substantial expertise among our developers.