The goal of this book is to teach the skills necessary to build iOS 13 applications using SwiftUI, Xcode 11 and the Swift 5 programming language.Beginning with the basics, this book provides an outline of the steps necessary to set up an iOS development environment together with an introduction to the use of Swift Playgrounds to learn and experiment with Swift. The book also includes in depth chapters introducing the Swift 5 programming language including data types, control flow, functions, object-oriented programming, property wrappers and error handling. An introduction to the key concepts of SwiftUI and project architecture is followed by a guided tour of Xcode in SwiftUI development mode. The book also covers the creation of custom SwiftUI views and explains how these views are combined to create user interface layouts including the use of stacks, frames and forms. Other topics covered include data handling using state properties and both observable and environment objects, as are key user interface design concepts such as modifiers, lists, tabbed views, content menus and user interface navigation. The book also includes chapters covering graphics drawing, user interface animation, view transitions and gesture handling. Chapters are also provided explaining how to integrate SwiftUI views into existing UIKit-based projects and explains the integration of UIKit code into SwiftUI. Finally, the book explains how to package up a completed app and upload it to the App Store for publication. Along the way, the topics covered in the book are put into practice through detailed tutorials, the source code for which is also available for download. The aim of this book, therefore, is to teach you the skills necessary to build your own apps for iOS 13 using SwiftUI.
This book has two broad parts; one on Swift the language and one on SwiftUI the GUI framework. At first I was a bit put off by the inclusion of such a large section on the Swift language as I bought this book to learn more about SwiftUI not Swift which I already know. Still, I read through the sections on Swift and I came to find that it is a very good introduction to Swift. While I did not need that introduction, I do respect that it was well written. I found myself wishing I had found the first part of this book when I first learned Swift; alias it did not exist at that time. The parts of this book on SwiftUI were just as good and well done as the part on Swift and I feel like I understand SwiftUI far better now then I did before I read this book. There were also smaller parts on things like how to submit an app to the AppStore which were very direct and to the point. Again, not what I needed out of a book on SwiftUI, but well done. I think it was well worth it and gave it five stars.