Book Update: Thinking in SwiftUI
During the last months, we have worked hard at updating our book Thinking in SwiftUI. Over the past years, we had the chance to conduct SwiftUI workshops for many companies. Based on this experience and the feedback we got, our approach to explaining SwiftUI has evolved a lot. Therefore, we chose to do a full rewrite of the book to be on par with our workshops.
The general structure still is very similar to the previous edition, but the content is brand new. We put a lot of emphasis on explaining view trees (which in fact will be the first chapter of the book) in this new edition, as well as how view trees are interpreted in terms of state, layout, animations, and more. The book includes a lot of new diagrams to visualize these concepts.
After WWDC, we were a bit torn about what to do. Should we put out a book without mentioning all the new things? This would be weird for people that can target iOS 17 / macOS 14. Yet rewriting the entire book for iOS 17 only is also not an option, as many of us still have to support older platforms. Instead, we chose to amend the current chapters with callout boxes, pointing out relevant changes. In addition, we'll have a separate iOS 17 chapter for the time being. For the final release of the book (once the new stuff is out of beta) we'll try to integrate the contents of that chapter into the rest of the book.
Due to this transition phase, we've decided to release the new edition as a beta version. We plan to put out the chapters one-by-one as we're integrating new iOS 17 topics. During this prerelease phase, we're also hosting a weekly Q&A live stream. The first live stream will be today (Friday June 16th) at 18:00 GMT+1 (9am PST). You can submit any questions you have for us over at this Github repository.
Until now we have updated all of our books for free ever since we started objc.io (over ten years ago!). Since this update of Thinking in SwiftUI is not an incremental one, but a complete rewrite from the ground up, we've decided to release it as a new product – the prelease version is available now.