LAMP… MEAN… Django? Yeah, that doesn’t taste too appetizing.
How about Jamstack… Delicious!
There are many web stacks that are out there, that all hope to accomplish the same thing in different ways.In this article, I will be breaking down what the Jamstack is, how it’s used to build applications for the modern web and why I love it.
A little bit about me
To understand why I love Jamstack, it's important to know where I came from. I primarily got into development building web applications with .NET (Microsoft’s application ecosystem centred around C#).
Now while I love C# just as much, there were a few problems I had with it:
- The process of building websites for a client as a freelancer is very time consuming.
- Generally speaking, hosting these websites as well were very expensive.
- .NET, generally speaking, works best for enterprise solutions and is a bit inconvenient for getting a small business online.
When I consider everything, I realised that I had to change the way I was building websites. And after exploring other options which included Wordpress, Webflow and even Wix’s Editor X, I discovered the Jamstack and haven’t looked back.
What is Jamstack?
First we need to understand web stacks in general. A web stack is a collection of technologies that makes up the frontend, backend and hosting of a website. In the case of LAMP it stands for Linux, Apache, MySQL and PHP.
JAMstack on the other hand isn’t so much a collection of technologies, as much as it is a methodology or approach to building modern web applications.
JAM, in a nutshell stands for:
- J - creating the frontend using JavaScript Libraries, such as Angular, NuxtJs and GatsbyJs.
- A - introducing functionality by using APIs, to consume micro services.
- M - making use of Markdown, in order to store content.
For more details about Jamstack, check out this article.
Why Jamstack is awesome
I love Jamstack because it doesn’t just make my life as a developer enjoyable, but it also benefits my clients.Here’s a few reasons why.
Flexibility to use whatever I want to
With Jamstack, I’m not restricted to only using one language, or have to put up with certain limitations of a platform. I get to use whichever technology I want to as well as whichever technology may be best in any given situation.
If I have a site that uses GatsbyJs for the frontend, I would typically use NetlifyCMS to manage the content. But if my clients are familiar with Wordpress, I can simply use that.
And if the client has several updates to a website per second (that would break a static site generator), I could simply use NextJs to render the content server side and push that out to the user.
Develop and ship websites faster
There are many microservices out there that accomplish many operations, such as content management, user authentication, e-commerce etc. By using these services, the websites can get up and running quicker.
Updates to a website also get rolled out faster, as most of the time, the website would be hosted from a version tracker such as GitHub. This means anytime new changes get pushed up, a build can automatically trigger and the update would be live in minutes.
Easy to maintain and cheap to host
Most Jamstack sites are prebuilt. You could then make use of a CDN to serve these sites. This doesn’t just lead to performance boosts but also to you not needing a team of people to “keep the lights on”.
Prebuilt pages also consume less space and less bandwidth overall, which leads to lower hosting fees and better scalability.
Conclusion
Jamstack is a powerful and versatile tool that is used to power applications for the modern web. It’s flexibility, efficiency and relative affordability gives me many reasons as to why I enjoy using it.
If you enjoyed reading this, feel free to connect with me on Linkedin.
Good luck with your journey.
This article was originally posted on my personal website