Hyper Web Development and the Rise of the JAMstack
[ TL;DR ]
- Slow, cumbersome, and server-heavy web development is coming to an end
- JAMstack is easier and faster for developers, and it provides better performance, security, and scalability compared to server-run web apps
The server bottleneck of the legacy web
Web development has long been anchored by backend servers.
Even simple sites, like blogs or basic ecommerce stores, use servers as the backbone of the site’s functionality. When a page is loaded, content is queried, generated server-side, and then sent to the user. For every visitor, each piece of content is rebuilt.
Any visitor interaction typically relies on a variety of database calls, which require server maintenance and performance optimization. To keep everything up and running, you’ll spend money to scale your infrastructure to handle unpredictable server loads.
In addition, if you’ve ever wanted a server-side CMS, like Wordpress, Drupal, or Joomla, you’ll need a server and a database.
The great frontend, backend decoupling
A new model of separating backend and frontend functionality has accelerated modern web development.
The great decoupling has been enabled by three key trends:
- The invasion of microservices: The rapid growth of the API economy has enabled a new degree of modularity. Web developers can add functionality to their sites by leveraging a growing market of microservices, instead of waiting on custom, monolithic server development.
- The explosion of preprocessors: With preprocessors, sites can be pre-built into a stack of files that can be served anywhere and distributed entirely by content delivery networks (CDNs), rather than relying on dynamically served content from a backend server.
Welcome to the JAMstack.
JAMstack building blocks
Forget server-side CMS, isomorphic rendering, and server-run web apps.
JAMstack.org compiles a list of more examples of various tech stacks for you to browse.
Each piece of the JAMstack puzzle makes the other pieces more powerful.
Building a better web with the JAMstack
The JAMstack is great for building a variety of sites, but is particularly ideal for simple applications or static sites (e.g. most Wordpress and blogs sites, basic ecommerce stores, small media publications, etc.).
You won’t build the next Facebook on the JAMstack (yet), but you’ll be able to deploy an extensible, flexible, and highly modular web application or site.
There are significant benefits to implementing the JAMstack:
- Better performance: Generating pre-built files to be served over a CDN increases site performance and speed. Tools like Heroku and Wordpress can be bulky and slow. The ability to quickly serve content has become increasingly important with the rise of mobile.
- Greater scalability: Static content scales dynamically on a CDN, allowing your site to reach more people quickly and cheaply. Preprocessed sites can handle as much traffic as you can throw at it, without needing to scale a web server upfront.
- Higher security: With no complex servers to run or maintain, the threat of direct breaches or code injections diminishes. The threat surface is largely reduced to APIs, often managed by reliable, fully scaled third-party services.
- Streamlined developer experience: With JAMstack, everything can be accessed via Git and entire projects can be run locally on a developer’s computer, streamlining contributions and testing.
The JAMstack ecosystem
Unsurprisingly, an ecosystem of developer tools has grown around the JAMstack. Netlify, one of the most popular tools, is building a git-centric workflow and application delivery network to make the JAMstack a natural part of the developer workflow.
Given the dominance of server-based CMS (Wordpress apparently powers 30% of the web), JAMstack has the opportunity to rewrite large swaths of the modern web. Check out an in-depth overview here by Mathias Biillman, CEO of Netlify.