An interesting paradox of Jamstack: its concept is simple, but it can lead to complexity.
The core idea is to deploy pre-rendered static files to a Web hosting service (CDN) that is good at handling static files. It's that simple. If more features are needed, use client JavaScript, which is usually used with serverless functions, as this is an ideal partner for the Jamstack backend. Guillermo Rauch recently mentioned on Smashing Conf that Jamstack is not a strictly "technology stack" because it has little limitations on how it is implemented. Although I like the word "Jamstack", this statement also makes sense.
Ironically, while the concept is simple , this simplicity can lead to complexity .
Netlify is the main enabler of Jamstack and they know this well. They know that without a backend server and backend language, functionality like a basic contact form would be complicated to implement. We had to find another way to handle forms instead of using ready-made solutions directly. So they solved this problem for you (and a few other issues like authentication and serverless functions). But there are many other companies that want to be a gear in your system as well.
This is just one of the potential complexities. What CMS or other data storage do you use? What is your build process like? How do you preview content changes? How do you authenticate? What if you need some fancy calendar widgets? What if you want to sell something? For whatever functionality a website can achieve, Jamstack has solutions – just combining all of them can feel fragmented and confusing.
Dave recently tried using the Eleventy Tailwind Netlify CMS (which is Jamstack-style), and he said it felt like he was grazing herds:
My applet originally planned to use 3 technologies, but it exposed me to about 20 different technologies and allowed me to dig deep into the source code of the nth layer dependencies after midnight. If there is any metaphor that shows that I don't like the aspect of modern web development, that's it. You want to use three tools, but you have to learn to use twenty tools. If the modules and components are like Lego bricks, then this is to pour the entire block box on the floor just to find a small block you need.
"The intricate network we weave" is indeed the case.
In the conversation between Richard MacManus and Matt Mullenweg¹, Richard quotes Matt:
“You can piece together a dozen services, each with its own account and bill, spending hundreds of dollars a month to get similar results to what you get with WordPress on a shared hosting,” he said. "And it will be more fragile because the strength of the chain depends on the weakest link. You connect different tool sets, logins, bills, hosting... together; any part of the failure can ruin the entire process."
If I'm thinking about using Jamstack for a project and end up with a total of twelve services in total, I might rethink it, especially if I can use WordPress and reduce it to one service. Jamstack also has many other justified criticisms, especially in its early stages of development. For example, the "CMS with Preview" story isn't great, and this is a feature you won't even consider on WordPress because, obviously, it has that feature.
Jamstack does do something that I value very much and is ahead of other technologies. Git-based deployment? All websites should have this feature. My pull request preview? marvelous. The first request for 100 milliseconds? I can't get it. Don't have to fiddle with the cache? It's so cool. Catch up, other technology stacks.
I mean, there is a "blonde girl"-like choice here. You can do this by doing what you might already be doing: put on your adult pants, think about what your project needs, and then choose the best option.
I have some WordPress websites for production environments. Just like this! great!
I also have a Jamstack website for production environments. Just like this! It is not a complex network service. It is a static website generator with content located in a GitHub repository and deployed using Netlify. While CSS-Tricks can do about 100 things this website cannot do, it also has some tricks that CSS-Tricks cannot do, such as accepting pull requests for content.
I feel like in all my cases, I chose a pretty good plan.
- While Matt clearly has a motivation to defend WordPress’s approach, I feel the point here is sincere; partly because Automatic invests in alternative technology stack approaches, and WordPress and Jamstack are not mutually exclusive. I like the response to this, like the open letter from Ohad Eder-Pressman, which is also full of motivated but sincere thoughts.
The above is the detailed content of Weaved Webs. For more information, please follow other related articles on the PHP Chinese website!

The React ecosystem offers us a lot of libraries that all are focused on the interaction of drag and drop. We have react-dnd, react-beautiful-dnd,

There have been some wonderfully interconnected things about fast software lately.

I can't say I use background-clip all that often. I'd wager it's hardly ever used in day-to-day CSS work. But I was reminded of it in a post by Stefan Judis,

Animating with requestAnimationFrame should be easy, but if you haven’t read React’s documentation thoroughly then you will probably run into a few things

Perhaps the easiest way to offer that to the user is a link that targets an ID on the element. So like...

Listen, I am no GraphQL expert but I do enjoy working with it. The way it exposes data to me as a front-end developer is pretty cool. It's like a menu of

In this week's roundup, a handy bookmarklet for inspecting typography, using await to tinker with how JavaScript modules import one another, plus Facebook's

I've recently noticed an interesting change on CodePen: on hovering the pens on the homepage, there's a rectangle with rounded corners expanding in the back.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Notepad++7.3.1
Easy-to-use and free code editor

WebStorm Mac version
Useful JavaScript development tools

Dreamweaver Mac version
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)