Retooling the Web

Single-page apps and APIs are changing how we're building the web

By Trevor Orsztynowicz on

Just a few years ago, anyone who wanted to get started with building apps needed to at least work with Linux, database and web servers, and deployment tooling. Cloud computing introduced some easy to use abstractions to these components in the form of Infrastructure and Platforms as Services.

Time has pushed abstractions further up the stack, to a point where developers do not need to know or care about implementation details of the OS, database, or how the pages are served. Backend services like Parse, Firebase, and Kinvey are the latest components in this trend.

So far the biggest driver behind these BaaS services has been native-mobile. But an API first approach leads to clients everywhere - including desktop & mobile web.

Enter the Single-page App

Single-page apps are an awesome way to create a rich experience for your web site. You basically send the entire ‘app’ to the client on page load, and then subsequent interactions or changes in the application state occur locally in the browser. When changes need to be retrieved or stored on a server, that state can be updated through using an API that either you own, or that a BaaS provides.

Because of how they work, Single-page apps encourage & enable you to think in clear terms of ‘Storage’ and ‘Client’. Those developers won’t ever need to touch the backend, or the API - just consume it.

The Client Server Web

As the distinction between Client and Server continues, we’ll end up with two sets of specialized developers: Those focused on the backend, and those focused on the client. A client focused web app developer probably won’t need or recognize many of the existing tools and services. An entirely new set of tools have already been created focused specifically on modern web apps.

We’re only at the beginning of a major shift in how we build the web. More and more services are going to focus specifically on this new set of modern web developers to help them build applications faster.