O’Reilly Partners with Netlify to Publish Free E-Book: Modern Web Development on the JAMstack

If you are following the JAMstack (JavaScript, APIs, and markup) craze and want to learn more about the history and best practices of the architecture, O’Reilly has published a short book called Modern Web Development on the JAMstack that is now available as a free download. Netlify CEO Mathias Biilmann, who coined the term “JAMstack” and pioneered hosting for it, co-authored the book with Phil Hawksworth, Netlify’s principal developer advocate, with contributions from other engineers at the company.

In the introduction, they describe the JAMstack movement as a rare shift in the tech landscape that “delivers a productivity boost for developers and a large performance boost for users.” They also see it as a more efficient way of building a secure and stable websites that will advance the open web.

We’ve seen firsthand how the JAMstack improves the experience for both users and developers. Most importantly, we’ve seen how increases in site speed, site reliability, and developer productivity can contribute to the continued health and viability of the open web.

The book is an important read, not only for those exploring JAMstack architecture but also for getting an outside perspective on the kinds of problems that the WordPress ecosystem needs to solve. The authors describe WordPress and other CMS’s as monolithic apps, referencing security and performance concerns. The introduction summarizes many of the problems that professionals are routinely paid to solve when managing and scaling WordPress websites:

For nearly three decades, the developer community has explored ways to make the web easier and faster to develop, more capable, more performant, and more secure. At times, though, the effort has seemed to trade one goal for another. WordPress, for example, became a revolution in making content easier to author—but anyone who’s scaled a high-traffic WordPress site knows it also brings a whole set of new challenges in performance and security. Trading the simplicity of HTML files for database-powered content means facing the very real threats that sites might crash as they become popular or are hacked when nobody is watching closely.

And dynamically transforming content into HTML—each and every time it’s requested—takes quite a few compute cycles. To mitigate all the overhead, many web stacks have introduced intricate and clever caching schemes at almost every level, from the database on up. But these complex setups have often made the development process feel cumbersome and fragile. It can be difficult to get any work done on a site when you can’t get it running and testable on your own laptop. (Trust us, we know.)

Biilmann and his co-authors have kept to the more general concepts and technical details of how JAMstack architecture differs from other, more traditional stacks. JAMstack does not prescribe any specific frameworks or tools but is rather a diverse and growing ecosystem. The authors see it as “a movement, a community collection of best practices and workflows that result in high-speed websites that are a pleasure to work on.”

The book covers topics like the benefits of atomic deployments, end-to-end version control, choosing a site generator, and the variety of automation and tooling available. It suggests a few ways of handling some of the more challenging additions to static sites, such as forms, search, notifications, and identity.

Modern Web Development on the JAMstack concludes with a case study on how Smashing Magazine moved its publication from a WordPress site with thousands of articles, 200,000+ comments, and an attached Shopify store, to a new JAMstack setup. The detailed breakdown of the migration provides an interesting look at one solution to the challenges of publishing at scale. These are the kinds of architectural concerns that the WordPress ecosystem needs to continue to address and simplify for the next generation of developers.

The 127-page PDF is available for free and an EPUB version is expected sometime this week.

2

2 responses to “O’Reilly Partners with Netlify to Publish Free E-Book: Modern Web Development on the JAMstack”

  1. I can’t think of a better collaboration than Mathias and O’Reilly for a JAMstack book. Netlify is a pioneer in the JAMstack community and they’ve been at it a while.

    They had JAMstack conf NYC just a few months ago which I attended. WordPress was brought up a lot in different sessions as a pain point which I understand.

    When speaking with developers I would emphasise it’s not either or. WordPress can learn a lot from the JAMstack community about DX (developer experience) and the JAMstack community can learn alot from WordPress about UX. Since the idea of JAMstack is not backed by a specific framework, the concepts can and still do apply.

    I’m speaking at WordCamp Montreal this weekend on developing WordPress the JAMstack way. I hope to draw more parallels between the two communities and share my experience as someone who’s worked on Shifter, a static site generator for WordPress since 2016 using the JAMstack approach within WordPress.

    There are major differences in the details but generally speaking, Gutenberg is using the JAMstack approach.

    JavaScript = Gutenberg uses React, written in JavaScript
    APIs = It’s how Gutenberg interacts with WordPress
    Markup = Blocks are pre-rendered, templated, and reusable.

    Static is the one major difference. That said, not all JAMstack CMSs are static. It’s common but not a requirement.

    I wouldn’t say that JAMstack is a craze. Netlify/JAMstack has been around since 2014 which is years before Gutenberg existed. The craze or hype may simmer down but I do think we will be using this approach for years to come.

    I obviously have lots of opinion about this topic. Ultimately, I think the WordPress community taking notice to what’s happening is a very good thing. Let’s focus on getting the most of out it and maybe we can solve our most challenging problems.

Newsletter

Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.