Mar 28, 2020 • ☕️ 3 min read
JAMstack is an abstract solution stack which focuses on categories of tools to work with non-SSR websites; coined by Mathias Biilmann, the CEO of Netlify, many years ago; The idea is to push all the complexity into the front-end build process.
Markup — Templated markup should be prebuilt at deploy time, usually using a site generator for content sites, or a build tool for web apps (e.g. Gatsby.js, Webpack).
This workflow decouples building and deploying, replaces databases and server-side code with APIs and build processes, depends on many third-party services, and leverages heavily on continuos integration and deployment (CS/CD).
Static site generators are getting super popular for last 3 years, getting started with technical blog or landing pages is just couple minutes away!
The Benefits of JAMstack is similar to static websites:
JAMstack has a perceived impression of simplicity. Over time, as more features are added, the build steps become more complex, multiple APIs are added, and suddenly everything feels slow. In other words, the development experience begins to suffer.
This stack recommends using many many external services which are often free/cheap to start but ridiculously expensive to scale. Their unpredictable future pricing and features can cause anxiety and intimidating migration.
User-generated content is another area that can cause a steep rise in the complexity of static sites. Adding features like comments, ratings, likes is a pain in the neck! Adding third-party scripts can have a negative impact of page performance.
Ultimate your system seems very fragmented, makes it hard to test and run multiple staging environments.
Don’t get yourself trapped in that rabbit holes of external services. JAMstack seems easy, cheap, and fun to start but you’ll be moving away from it sooner or later!
Having full control over the experience by owning platform is always better than depending on tons of external services
The rise of JAMstack is overrated, it’s just a fancy name is being promoted heavily by founders/creators of tools/services related to static rendering sites.
If you want to learn more about solution stacks in general and JAMstack in specific, check out the following links:
The trend of working remotely as web developer while travelling around the world as digital nomad
Microservices is an architectural and organizational approach to software development where software is composed of small independent services
Static rendering is a strategy that eagerly generates a separate HTML file for each URL ahead of time at build time
Monorepo is not new, Google and Facebook have been using it for years. So why now? I believe it depends a lot on the maturity of building systems