What can you do with Jamstack?
Jamstack has only been around for about five years as a web development architecture. It is commonly seen as a modern way to build fast, secure and more affordable static websites. While it is certainly true that Jamstack is most commonly used for this, one aspect to it can get overlooked: Jamstack is also a great architecture for developing web apps with more complicated logic. How?
APIs and serverless functions
Jamstack is all about APIs. When it comes to developing more complex website logic - there are numerous great building blocks to use in Jamstack projects. With third party services and APIs combined with Serverless functions, such as Netlify Functions and AWS Lambda we can build Jamstack projects that implement complex logic easily.
Web application built with Jamstack - an example scenario
Let's think of a scenario for a real life web app: a car rental business needs a web application for users to not only be able to have a look at the services they offer but also to sign up, so users can actually rent a car on the website.
The site would obviously require statically generated content, such as information about the cars the business offers. With Jamstack we can use a headless CMS service like Contentful, Strapi, or Agility CMS to allow quick and easy content management for non-technical editors to generate the static content.
But what about all the dynamic functionalities like user authentication or the booking system? How can we integrate dynamic web app logic to a static Jamstack website?
User authentication with Jamstack
On a traditional server side rendered website, user authentication would be built on the website's server, tightly coupled to a database and to the web server. This approach usually takes time and effort while not really paying off in the end since making an authentication service from scratch is not an easy task and is prone to security vulnerabilities.
With Jamstack, choosing an authentication service like Auth0, setting up an authentication system for a web app is really simple and effective. Why compromise on security with a self-built server-side login system, when the security of your web app can be enhanced with a ready-to-use authentication service like Auth0?
Outsourcing user authentication will make your web app more secure, reduce the time spent on software development and maintenance
A booking system with Jamstack
What do we need exactly to be able to make reservations on a website? Let's break it down:
A calendar user interface for browsing available times for cars
A database for storing information about when each car is available and when not
A checkout process for paying for the booking
Again, traditionally this could be done server-side with complex logic and lots of hours put into the software development. With a Jamstack project, all you need to do, is to choose a booking service like Timekit and integrate that service into your project. You save money and time by outsourcing your booking to a third party service and API.
Freedom to choose
These are just a few examples of the services we can use to build web applications with Jamstack. We're not tied to a one specific service anymore and we can easily switch services if needed. With Jamstack we can choose services based on multiple different factors all the way from service pricing to the internal functionalities of that particular service. There's always plenty of room to adapt with the unique circumstances of each and every project.
Developer friendliness means better results
The web development industry changes constantly. Many businesses in the industry fail to innovate their development stack early enough which easily leads to cumulative technical dept. Keeping up with the state of art fundamentals is challenging but certainly possible: at Ikius we are constantly keeping our eyes open for news of advances in the industry to adapt our stack accordingly.
We also acknowledge one of the most important benefits of sticking to modern development practices with Jamstack: it makes the development process much more enjoyable for the developers, which leads to better motivation and most importantly, better results for our clients.
When building a web application with technologies of the past, the development process is a lot more complicated than it should be. The huge amount of work required to put it all together can be a headache for the devs. Why reinvent the wheel? With Jamstack not being tied to a narrow scope of technologies, you get to to pick the best, developer-friendly APIs and services for each web development project.
This way you can always be certain to keep the development process enjoyable and satisfying for the developers, which saves time and money. With time being always valuable, businesses should certainly take this aspect into consideration when choosing their partner for building a web application.
At Ikius we choose only the best building blocks for our clients' projects to maximize efficiency and minimize costs. By doing this we can make our development more efficient while also keeping both our clients and developers happy.