At Unlimit we are big proponents of JAMstack and most of the time and depending on the project of course, advise our clients to move to a JAMstack website. The word itself and the terminologies used in association with JAMstack may sound cryptic at first, but in reality it's quite straight forward. This article will give you an idea of what JAMstack is, what some of the key concepts are and whether it will suit your needs.
What is JAMstack
JAMstack is more an architecture or even a philosophy than a technology itself, that is employed in modern web development. It's a practice that is focused on providing better performing, more secure and lower cost of scaling websites. It focuses on decoupling services (i.e. front-end and back-end) and building websites that are served from edge-computing networks instead of traditional, often distant and slow servers.
APIs is what connects web based software and allow applicatons to access, exchange and interact with data.
Markup, such as HTML, allows developers to build and design web pages; it's the foundation of the visible content on a website.
Static vs. Dynamic websites and JAMstack
In order to better understand the problem that JAMstack solves, one must first understand the difference between static and dynamic sites, the two types of sites that can be built.
The former, as the name suggests, is a website where content is not dynamically changed or generated, what you see is what you get. It's simply a bunch of HTML files that are displayed in the browser without a server processing them; hence, making them lighting fast.
The latter type of website, however, uses a server to dynamically generate HTML pages upon each request, which means, that every time you visit a page of the dynamic website, the server sends a request to a database that then returns a result with the data requested and the markup for that page in order to display it in the browser - this is how WordPress does it. This process is what makes dynamic websites so slow.
This is where JAMstack comes in and provides the best of both worlds: the speed of static websites and the interactivity of dynamic websites.
Benefits of JAMstack
Many of our clients come from WordPress and switching might seem to be challenging at first, but in reality, clients often find running a JAMstack site with a Headless CMS much easier than WordPress, because of the simple fact that it is tailored to the their needs and content.
Here are some of the key benefits of JAMstack:
Performance x10: No database means no time-consuming multiple queries. Static sites are up to an order of magnitude faster than database driven sites.
Google says 61 percent of users are unlikely to return to a mobile site they had trouble accessing. And, even worse, 40 percent visit a competitor’s site instead.
SEO Advantage: A faster load time means better SEO since search engines prioritize load times when indexing a site.
Security: Because there’s no database, static websites are less vulnerable to common implementation vulnerabilities like SQL database injections.
Reliable Uptime: If you experience spikes in traffic the CDN seamlessly compensates ensuring your website can “infinitely scale”, essentially providing zero downtime.
More Affordable: A CDN is cheaper than servers, in terms of service, development, and management cost. Also, since JAMstack is more front-end oriented (as back-end is handled by third-party services), developers can focus on faster development; thus, reducing the overall cost.
Limitations of JAMstack
JAMstack sites do of course, like any solution, have its limitations as well. Still, the JAMstack architecture can be used for most websites. For those that require a more complex approach, a hybrid structure can be implemented in order to take advantage of JAMstack where possible.
Some of the limitations presented by JAMstack are:
Requires Web Development Skills: Unlike WordPress or similar open-source content management systems where only superficial knowledge is required, developing a JAMstack site requires web development skills.
API Complexity: Since JAMstack relies heavliy on APIs, developers need to spend considerable time on finding the right service and testing, which can be both time consuming and costly.
Long builds: Since JAMstack remains static, each edit, no matter how small, means a full rebuild of the website, and websites with a large number of pages, transltes to longer build times. This can of course be overcome by incremental builds, i.e. only rebuilding relevant pages.
Is JAMstack for you?
The short answer is yes. Given today's unique mobile internet userbase which stands at 4.28 billion as of 2020, indicating that over 90 percent of the global internet population use a mobile device to go online, performance should be a real deciding factor. The faster your content is delivered, the more likely the visitor stays on your site to consume content or make a purchase. The long answer is, well, it actually depends on the business goals of the client, whether performance is actually a key factor in delivering their product and/or service to their users, and the client's requirements and the complexity of those requirements. Unlimit can help you identify these complexities and each project we take on consists of first analysising and identifying what the client actually wants to achieve and what existing and unforseen complexities exist in their market. Once this is determined, it's easier to say whether JAMstack is the path to take; in most cases, it is, or at least a hybrid version.
JAMstack is actually quite heavily used today, not just for personal websites anymore, but by big brands as well. Here are some example of company's that use JAMstack: