• business
  • web applications
  • websites

JAMstack: what is it and why you should use it for apps and web development

The IT industry is constantly transforming – technologies, approaches to work, and guidelines imposed by giants sooner or later become overwhelming. Even with the dynamic overflow of information and new trends coming very rapidly, it’s worth trying to be up to date with what is going on in modern web development architecture.

To give you such insight, especially if you are not a developer but a business representative, we want to share with you what is JAMstack and why is it so popular in the software development industry. Let’s get started with the definition.

What is JAMstack?

JAMstack began with a concept that developers wanted to get rid of the potential and bad characteristics of the static sites which would result in the improved user experience of working with static files. The idea was to create a website that can be a static site but also able to provide changing content thanks to dynamic functionalities of tools like JavaScript.

Nowadays, the use of JAMstack is becoming more and more popular, in addition, it has created a so-called JAMstack community that promotes the use of this approach not only among developers but also on the business side.

JAM is an acronym for JavaScript, APIs, Markup, and this combination creates a modern way of building websites, app, and web apps. Stack technologies combine already mentioned tools like JavaScript but also static site generators, headless CMS, and CDN.

How does the JAMstack work?

Javascript

JavaScript is the most common language of programming which is the basis of www. This browser language makes a static page dynamic and interactive which is a result that we do not necessarily achieve if we deliver plain HTML with no Javascript.

API

Obtaining dynamic JAMstack websites is accessible due to APIs which are third-party services. APIs are also responsible for making the applications more useful, practical but also accessible in their complexity.

Markup

The JAMstack applies markup as a way to send the content to a website. Markup can be used as one of few ways to deliver the data to the site, for example, you can save the text or image on a website, and markup will be responsible to deliver the data.

Markup depends on decoupling what allows for better content adoption, and pre-rendering of the website elements ensuring a high speed.

The last step of website generating with JAMstack is the tools named static sites generators like Nuxt.js, Next.js or Gatsby.js. The static site generator integrates the website’s elements like its template and content, into static HTML files that will be distributed to the server as completed and ready-to-save on the website. Most all site generators are open source, and available for free.

Some static site generators are made specifically for very complex websites, some for documentation or blogs. There are also site generators designed to support progressive web apps or interactive apps in which the content and the site navigation are served through Javascript. Choosing the right generator can be a very difficult step to take and it’s good to see the sample websites built via a specific tool.

Javascript Apis and Markup
Javascript Apis and Markup


The benefits of JAM 

For business, the JAMstack web development architecture means better performance, greater security, and lower scaling costs of digital products. For developers using JAMstack means a clear division of applications that impacts the better developer experience.

These great benefits are possible to achieve thanks to keeping most functionalities on the browser side and extracting everything else to an external API. As a result, the background interface carries out all the demanding operations. 


Why the benefits of JAM are crucial for everyone: development & client-side

Advanced security

Static sites have very little potential for vulnerabilities as they are only static HTML files and external APIs are served by the CDN. This limits all potential (traditional) attack vectors on the website. How is this possible? The reduced intricacy of the JAMstack protects sites. The fewer infrastructure elements are equal with fewer possible elements to attack, and as result, it decreases the time and effort to secure them. So the JAMstack limits the field of attack, and it’s a good way to improve security. 

Better performance

The use of JAMstack causes pages to be generated when the application is deployed, this translates into delivering a static page to the target user via CDN (to minimize response time from the server). This solution ensures that the performance remains high despite the heavy workload. Working directly from a CDN makes JAMstack sites leaders in speed and performance. And why does the performance matter? Performance translates into UX, user retention, and conversion. In other words, performance means money, which is why it is so important that the website is fast.

Lower price

Hosting static files is relatively much cheaper (sometimes free) compared to servers where a database and specialized add-ons are required. It also makes scaling the application proportionally less expensive.

The weight of site scaling to support the high traffic falls on CDN which serves the site resources. Even if CDN services wouldn’t be used, the hosting environment in JAMstack would be still significantly easier than compared with traditional sites.

Another important element is the shorter implementation time. The simpler JAMstack architecture means that fewer time resources are needed for software development, which means lower final costs.

Better developer experience for user satisfaction

Front-end developers can focus on writing components without being attached to monolithic architecture. This usually means faster and more focused application development, as the front & back-ends can be built independently of each other. It also means that the front-end developers do not have to spend time configuring the back-end environment. It all comes down to writing transparent application code, which in turn translates into cheaper service allowing for introducing any changes. What’s more, making the client aware of how the use of Jam may affect the price and product delivery time, fosters a transparent way of working. In result, also the client’s experience benefits.

Developers’ experience is a significant factor to think of because it impacts the success of any project. The developer’s ability to deliver work that reflects the design, end-user needs and the overall vision of the project is often the end piece that determines success.

Obviously, a good developer experience can’t mean a less user-friendly experience.

„Given the choice between making something my problem, and making something the user’s problem, I’ll choose to make it my problem every time.” Jeremy Keith, Needs Must, 2018

The solution is the architecture and technological resources that somehow please both sites – the developers and users and the JAMstack can do this.

Scalability ready for your success 

The JAMstack prepares your product for success. If your web or application suddenly becomes popular (e.g. it hit Reddit), CDN servers can easily handle the increased traffic, which is not so obvious in the case of standard apps hosted on a regular server. So with a JAMstack you can breathe a sigh of relief and enjoy the success of your product.

JAMstack vs other’s stack 


Hosting (server side) 

JAMstack – Application, and hosting are not related what means beneficial serverless functions.

OTHER stacks  – Application and hosting are related. The visual part (front-end) is usually related to the back-end, additionally, there is a need to support the database. 

Request

JAMstack – JAMstack sites don’t depend on a single server-side code, the request refers to geographically dispersed servers that work together to ensure fast pre-rendered content delivery (CDN – content delivery network).

OTHER stacks – The response is processed and returned (after a long series of interactions between the database, back-end code, server, browser, and cache layers).

Coding updates

JAMstack – changing the code is very easy, the use of JAMstack allows to easily create development versions and A / B tests. Tools like Netlify or Heroku will enable you to manage the app version and analyze tests.

OTHER stacks – Updates are usually more time-consuming – it all depends on the application environment and configuration. The database must be maintained and updated. 

Content management (CMS)

JAMstack – Updating with CMS systems such as Netlify CMS, Contentful, or the popular headless CMSs versions of WordPress.

OTHER stacks – The content is updated via traditional CMS systems such as WordPress or Joomla.

Proper usage of content management systems, static site generators, and adopting the JAM-friendly tools like JavaScript, Apis and Markup but also HTML files, makes it possible and easy to provide a high performant website.

JAMstack static web vs traditional web
JAMstack static web vs traditional web



The cons of JAMstack technology 

The JAMstack sites are built on a static front-end, and there is no need for database calls on the back-end site to deliver the website for the end-user. It’s very attractive from the security point of view but more problematic when it comes to editing. Content editing is slower because requesting a change causes that the entire page needs rebuilding. This can be problematic in the context of performance for large-scale pages and requires an individual approach. Currently, these are known issues that JAMstack specialists are already working on solving.

JAMstack is a developer-friendly technology but it may be more tricky if you would like to change by yourself anything other than the content. Web owners are not able to work with the website structure, the same way they do in the case of standard CMSs – they cannot install plugins that change the website appearance. Any changes mean coding, which in turn means extra development work.

Using the JAMstack technology may mean the dependence on 3rd party services. The project can rely on outside services and APIs, and in the case of system failure, there is little that can be done, as it is a problem of the tools’ provider. 

The conclusion is that the JAMstack technology won’t be best suitable for:

  • Large-scale projects with a need for frequent changes if there are insufficient financial resources to cover these changes.
  • It may also not be the best solution for beginners. Businesses that are just starting their adventure with software solutions, and do not have much technological knowledge, will find themselves easier with services such as WordPress.


Examples of successful JAMstack sites

What does the Jamstack site look like in practice? There are many great examples of Jamstack websites that the community shares, and they show how many industries Jamstack can be used in. At Software Things, we have been creating websites based on Jamstack since 2018, and during these few years, we have gained a lot of experience that allows us to constantly improve our Jamstack pages. You may find some of the examples of our work below.

LikEat is a company offering healthy dietary catering available all over Poland. Why is this the case where the static assets of Jamstack work? JAMstack technology here supports the solutions needed in B2C e-commerce, where it is important how the consumer makes decisions – quickly and compulsively, which is why the element of fast page loading is very important. LikEat also has many custom elements, and their implementation, thanks to JAMstack, shortened the development time which resulted in a lower price for the product.

JAMstack website for e-commerce purpose



RCCiK is a Regional Center for Blood Donation and Blood Treatment in Katowice for which we have created a website and mobile application. Using JAMstack technology, we created the entire back-end based on the API-first approach. As a result, when we started building a mobile application, some of the necessary data was pre-built and ready for use. The data did not require modification which contributed to the reduced time needed to build a new product development infrastructure.

JAMstack page made on Api-first approach


Of course, we also built our company page on JAMstack. Why? There are many reasons but the most crucial is the speed of loading. For us as a software company, it is important that our potential client, also from another continent, has the best possible user experience. Thanks to Jamstack technology, the site loads quickly and efficiently, no matter where the recipient is. This is possible because the website doesn’t depend on a single server but relies on a CDN solution that allows cooperation with geographically dispersed servers.

Software Things website relies on CDN resources


Which industries most often use the resources of JAMstack technology

The JAMstack community is growing in strength all the time. Dedicated websites have been created that publish a lot of material on new solutions and achievements of this community. Periodically, there are also surveys with front-end, back-end, and full-stack developers that bring very interesting insights helping to indicate which industries are leading in the implementation of solutions built on JAMstack, and for what purposes are they created?

Advertising, marketing & media, and publishing are 3 dominant industries among those who decide to get started their web and app development using JAMstack.

and who is not the very early adopter? The results are very surprising: Airlines&Aerospace, Automotive, and Agriculture.

The JAMstack projects are the most often created for personal websites, b2b software, and e-commerce purposes. And e-commerce has been a growing trend over the years.

Source: Jamstack Community Survey 2020—2021

„JAMStack also works well in larger-scale websites, e.g. online stores. JAMstack allows for using static site generator to build static pages that significantly increase the results in Google PageSpeed Insight, which, as we know, translates into better search engine position and allows for even greater and more dynamic optimization in terms of SEO. I think this is one of the key benefits of this technology for the client.” Kamil Jędrkiewicz, fullstack developer, Software Things

JAMstack pros


A modern business needs modern tools

JAMstack is serving an impressive sum of benefits, both for the client-side, and the developer experience. Too impressive to not consider using JAMstack while thinking about which technology to choose for delivering a modern, user-friendly web or mobile app. 

Conclusion of what JAMstack allows for:

  • Easy delivering of digital product thanks to a limited amount of the dynamic elements
  • Having an app that will let rapidly and fastly scaling 
  • Having a more secure websites 
  • Providing website which is fast as it contains mostly static files
  • Saving money on server hosting 

The current technology trends put pressure on continuous development, constant better performance, and reaching for new and all-purpose services. The JAMstack is a great example of the solution that has it all.  It has also brought together a community that is constantly gathering new data and tools to develop the possibilities of this technology.

So during the next project, when developers will try to convince you to JAM, be sure that this is not only an opportunity for your product’s growth but also for a better user experience. 

Would you like us to create for your project an app or web development using JAMstack? Click here and see our services and don’t hesitate to contact us.

Websites

Hi, we are Software Things, and we can help you with your website idea. If you are looking for a team to implement useful, well designed and lightning fast website – you are in good company.

Contact us if you wish to make good products together