Release of the Advanced Web Application Architecture book

Posted on by Matthias Noback

Book cover

100% done

I'm happy to announce that my latest book "Advanced Web Application Architecture" is now complete. With ~390 pages it has become a well-rounded book full of useful design patterns and architectural principles built around the notion of object-pure code, that will help you create decoupled applications that are testable by definition, and support a domain-first approach to software development.

Use this link to get 10% off the price:

"This book helped me to improve myself and I recommend it to any developer who wants to learn how to solve problems in a better way." -- Iosif Chiriluta

"Matthias has a knack for distilling decades of experience into simplified rules of thumb. Explained with practical examples, the rules in this book are accessible to developers of any level of experience. I expect to recommend this book for many years to come." -- Ramon de la Fuente

A second round of book club sessions

Read with the author

In the past few months we've been having some really interesting sessions with early-access readers of the book. With the book fully finished, I decided to plan another round of sessions starting in September. To join these sessions make sure to select the package "The Book + 6 Book club sessions" when buying your copy of the book.

"This book is a most welcome simplification of modern web application architecture concepts, making the topic accessible for a wide audience. By guiding the reader through classic web application scenarios and applying a couple of simple rules and principles while staying very pragmatic, the author achieves what most others don't - making the core idea so simple that it is near impossible for the reader to get it wrong. The only architecture book I would recommend even to my junior colleagues." -- Ondřej Bouda

Print edition

For those who prefer a paper book there's also a print edition available via Lulu. This includes a free copy of the e-book. You'll find instructions for obtaining it inside the book.

The making of

Back in April 2019 I started working on this project. It all started with the family visiting friends in France while I stayed at home, alone, with a bunch of post-it's.


From this first brainstorm session I created a preliminary table of contents:

Original TOC part 1 Original TOC part 2

The rough outline was there, but I started working on the setup first.

So far I've only used Leanpub's Markdown-based publishing process. They first convert the Markdown manuscript to LaTeX, then to PDF, HTML, EPUB and MOBI. I thought it would be nice to have more control over all the build artifacts, so I worked on my own LaTeX-based setup. This was a silly decision. I didn't keep track of all the hours that went into this, but it has probably taken me about 50 hours to get it right. Of course, I keep running into little things that don't work. But I do have a fully automated local book writing process now. Being able to add all kinds of other generated artifacts is really helpful. For instance, I can edit the book cover in Gimp and it will be automatically resized for the different e-book formats, and also flattened for the print cover. The same goes for the diagrams: if I modify them using the desktop editor, they will be automatically prepared for inclusion in the manuscript. Cool! But also: very costly.

With the technical stuff out of the way, the writing process was great in the beginning, but seemed to last for ages in the end. I've spent a total of 208 hours of actual writing (including writing the code samples and creating the diagrams). I generally aim to get everything right the first time (of course), but revising is a necessary activity, in particular after leaving the book alone for months. I've spent a total of 60 hours on revisions. The book also comes with a demo project which needed to be developed. This took me about 60 hours. Another 32 hours was spent on related activities, like blogging, answering emails, tweets, and direct messages.

Given that the total amount of hours spent on this book is about 392, and the total amount of pages is about 390, this results in an average of 1 hour of work per book page. This is still significantly higher than the 260 hours spent on the Object Design Style Guide, but for me it's useful to have some kind of way to estimate the amount of time I have to set aside for the next book project.

Another book project?

Probably! I'll let you know when it happens.

PHP book release architecture hexagonal architecture
This website uses MailComments: you can send your comments to this post by email. Read more about MailComments, including suggestions for writing your comments (in HTML or Markdown).