Chapter 3. Advantages of the JAMstack
Simplifying Systems and Simplifying Thinking
Thanks to the innovators who have built layers of abstraction over the low-level bits and bytes that computers use to operate, the amount of work that is possible by a single developer is now astronomical.
Abstractions, however, are leaky. Sometimes, the lower level of the stack suddenly makes itself known. You could be working on a high level of object-oriented programming, developing a database-driven application with an Object-Relational Mapping (ORM) when suddenly a low-level memory management issue, deep in a compiled dependency, opens up a buffer overflow that a clever malicious user can abuse to hijack the database and completely take over.
Unless we find ways to build solid firewalls between the different layers of the stack, these kinds of issues will always be able to blast through from the lower layers or the far points in the dependency chain.
Fortunately, the JAMstack creates several such firewalls to manage complexity and focus attention on smaller parts in isolation.
Better Comprehension and Mental Agility
With server-side rendering, all possible layers of the stack are always involved in any of the requests a user makes to a site or application.
To build performant and secure software, developers must deeply understand all of the layers that requests flow through, including third-party plug-ins, database drivers, and implementation details of programming languages.
Decoupling the ...