It’s just data

Agile Web Development with Rails 7 Update

With Rails 7 shipping yesterday, it is time for an update on Agile Web Development With Rails.

I don't have a firm date yet, but expect to ship a beta in January. A beta means that you get eBook formats that are substantially technically complete, but haven't gone through the full editor/pagination/indexing/etc. process. Errata will be accepted during this process, and you will get periodic updates to the book as the errata are addressed and the book progresses through the publishing process.

I've been keeping up with Rails through the alpha/release candidates/release, and done all the major changes to the book. There remain are a number of chapters remaining that only need minor updating (generally covering server functions), and I may over time chose to add or remove items from the last chapter, where I talk about venturing past the defaults that Rails provides. Mostly what I am waiting for a time slot for release, which requires lining up people resources which is a difficult task given the twin problems on holiday schedules and unpredictable Rails release schedules.

What I can say is that modulo the final chapter, the book will cover the same material as previous editions, but looks to be a full chapter (and possibly more) shorter than the previous version. A number of examples of the changes:

I'm very pleased with the results. The book will show you how you can largely stay with Rails defaults and can build an application that is roughly 50% HTML, 40% Ruby, 5% CSS, and 5% JS. The resulting application will have the look and feel of a single page web application complete with asynchronous updates. The one deviation from the defaults - namely Tailwind - is readily and obviously one that you could chose to omit.

As for the last chapter, I'm thinking of adding an example usage of Lit, as web components are a good fit with import maps.

I personally hope that future releases of Rails pushes the potential for import maps further. I'd like to see more CSS frameworks without bundling, trancoding of languages like TypeScript and JSX, and either the ability to run import maps and bundlers side-by-side, or the ability to easily migrate from one to the other. But those are wishes for another day; for now, I'm rooting for import maps with pure JS and straight CSS, possibly augmented either by Simple CSS or Tailwinds.