Jamstack is largely about removing complexity.
Maybe, but it's certainly not less complex then a traditional Wordpress site. So I'm wondering what are the criteria for using Jamstack successfully?
As you said it could be that it's good for simple static sites but not great for more complex content-drive sites - I don't know, that's what I'm asking.
That said, setting up something like Contentful and integrating it with NextJS is roughly a day or two of work if you're doing it for the first time. And it all works over REST so you don't have to worry about GraphQL.
You can even do "previews" now with Next thanks to preview mode: https://next-preview.now.sh/
there are also some open source solutions that are great. Netlify CMS works really well for a very basic page / blog management solution
a lot of the headless CMS solutions also offer generous free tiers, making it perfect for web devs to spin up a free instance for their personal sites and projects
This is more moving pieces and complexity. Yes it's easier to build the frontend using modern component models but I find the tradeoff is rarely worth it.
Not only is it now a very important ranking factor for SEO reasons. There's also going to be a point for most websites where the complexity (I'd argue that the standard WordPress install is a lot more complex than most JamStack setups, if you're going to be digging into the code) will eventually need to be offloaded to a build process that spits out a static site, just to meet the 'acceptable' threshold.
Jamstack, the complexity might be maintaining different services, such as a headless cms and the front end. the output though is static files that you can dump into static hosting pretty easily
on the other hand, you might have a serverful solution thats all in one stack. you run into other complexities with that like having to worry moreso about scaling and managing that server for traffic
there are tradeoffs between the 2. jamstack isn't a perfect solution but it has a lot of benefits. it's also relatively young in it's architectural lifecycle, so i would imagine a lot of these pain points to be worked out as it matures
the book tries to get into both the good and the challenging
It seems to me you need a few things:
- A dedicated development team to manage the stack
- Enough traffic to justify the complexity
- Regular content publishing to make use of the build pipeline
- A need for speed beyond what's regularly acceptable
Great work anyway on the book, it's good to see people charging for curated knowledge.