SwiftUI is radically different from UIKit. So in this short book, we will help you build a mental model of how SwiftUI works. We explain the most important concepts in detail, and we follow them up with exercises to give you hands-on experience.
SwiftUI is still a young framework, and as such, we don’t believe it’s appropriate to write a complete reference. Instead, this book focuses on transitioning your way of thinking from the object-oriented style of UIKit to the declarative style of SwiftUI.
Thinking in SwiftUI is geared toward readers who are familiar with Swift and who have experience building apps in frameworks like UIKit.
I came back to read the updated version of the book. So, the new version is in a far better state when compared with the previous. Not only because of the content, but also the formatting improvements to show the UI states (this is important for a UI framework telling book!).
I think this book takes its own unique states in the world of iOS development. I didn't encounter any other one (Apple docs included!) that focuses on what's going on behind the scenes that much in-depth. I couldn't recommend it enough.
One tip: Buy the e-book format, not the printed version. I have experienced both, and fan of the printed books. However, colorful design provide more enjoyable reading experience for this one.
====== Well, not sure where should I start from; probably famous in-depth explanation of objc.io. As we accustomed to the other books and courses, they deep dive into details what they touched. I always appreciate their attention to details and way of explanation of the things behind the scenes.
Yet, it is not a book you feel to comprehend the SwiftUI 100% after reading. There are a number of missing topics. The book not tells anything about some vital topics like state management, view architecture, bridging between UIKit and SwiftUI and more.
It is a small book, only 150 pages. And, definitely worth to read. However, don't have high expectations.
The title is misleading: "objc Thinking in SwiftUI" --- yet the book makes no reference to Objective-C or any similarities. Coming from Objective-C, I was expecting more explanation of how to animate images frame-by-frame like in old Core Animation or UIKit, how to execute @selectors on delay, how to achieve the same level of graphics customization from Core Graphics and Core Animation, dynamic property animators, UICollectionView layout, UIButton customizations, and other techniques from UIKit that aren't surface-level possible in SwiftUI.
There is no mention of any of this.
The word "Objective-C" doesn't even appear in the text!
Common design patterns such as singletons, Model-View-Controller, Flywheel, and others canonized in the Design Patterns book don't receive clear treatment in terms of implemented examples.
The only useful takeaway was the example building a custom bookmark tassel shape from basic Shapes. This was useful, practical, and most importantly, VISUAL.
Everything else in the book was hand-wavy, abstract, and difficult to visualize. The graphics don't help because they don't translate to the iPhone or MacBook screen. They are more like chalkboard theory you get in a CS algorithms course, rather than hands-on design.
We learn best by *doing*, not by reading. Even if the theory rings true and helps us understand the underpinnings of SwiftUI layout and state, it doesn't stick because it doesn't translate to actual app programming and design. Aside from the custom bookmark shape, I am no more able to create the UI in my mind after reading this book.
Life is too short to read useless words. Avoid like the plague!
Great book to really understand how SwiftUI works under the hood. Almost every single book I've read about the topic goes with the classical "learn by example" approach. However, due to the unstable state of SwiftUI, that didn't seem enough to me. I loved the pseudo-implementations they show to make you understand how does the framework work. There was one topic I was expecting to read about and wasn't in the book: bridging between UIKit & SwiftUI (UIHostingController / UIViewRepresentable / UIViewControllerRepresentable). All considered this is a great book to understand how SwiftUI works and also to be able to work proficiently with it. I wish I would have read this sooner, and not the learn-by-example books.
We enjoyed reading this as a bookclub group spanning a few companies and continents and we had the privilege of having Chris join us for some of our weekly discussions to clarify details for us.
Chris' current focus is SwiftUI-as-specialty and is leading workshops on it at many companies.
If you are leading a team that is ramping up on SwiftUI it seems to me that it would be a huge timesaver / no-brainer to hire him immediately for a few days of coding workshops. Chris is usually in Germany. You can contact him through the form on objc.io
I appreciate how tactful were the writers about the underlying concepts of the SwiftUI. It’s a nice book to grasp more knowledge about SwiftUI in the intermediate to advanced level.
It can have been written in more clear wording, as it was vague and hard to understand while the subject was straightforward in some parts of the book. it’s the main cons I can mention about this book.
Delivers exactly what’s advertised. It helped me get a better underrating of SwiftUI’s layout and animation systems. I would recommend it to anyone who has already had a chance to spend some time with SwiftUI.