1.
Introduction
“SwiftUI is an innovative, exceptionally simple way to build user interfaces across all Apple platforms with the power of Swift.”
— Apple
SwiftUI is a new paradigm in Apple-related development. In 2014, after years of programming apps with Objective-C, Apple surprised the world with a new open-source language: Swift. Since its release, Swift has updated and evolved, eventually becoming one of the most beloved and powerful programming languages today.
SwiftUI’s introduction in 2019 creates another opportunity for a paradigm shift in the industry. After years using UIKit and AppKit to create user interfaces, SwiftUI presents a fresh, new way to create UI for your apps. In many ways, SwiftUI is much simpler and powerful than its predecessors, and even more importantly, it’s cross-platform over the Apple ecosystem.
One of the most important things, though, is SwiftUI’s declarative nature. For years, developers have worked with imperative programming models, dealing with state-management problems and complex code. But now, you have in our hands a declarative, straight-forward way to build amazing user interfaces. And don’t worry; if you loved working with UIKit or AppKit, rest assured that you can integrate those frameworks with your SwiftUI code.
SwiftUI still has room for improvement; just as Swift has had to evolve since v1.0, so will SwiftUI. But just as Swift has become one of the industry standards for progressive, modern programming languages, SwiftUI will surely follow the same path.
Come embark upon the exciting voyage waiting for you inside this book; you’ll learn all the tips and tricks we have to share of this new way of creating user interfaces. You´ll discover what SwiftUI has to offer, how powerful it is, and how quickly and easy it is to start working with it.
About this book
We wrote this book with beginner-to-advanced developers in mind. The only requirements for reading this book are a basic understanding of Swift and iOS development. SwiftUI is new for all of us, so developers of all backgrounds are welcome to discover this great technology with us. As you work through this book, you’ll progress from beginner topics to more advanced concepts in a paced, familiar fashion.
If you’ve worked through our classic beginner books — the Swift Apprentice https://www.raywenderlich.com/books/swift-apprentice and the UIKit Apprentice https://www.raywenderlich.com/books/uikit-apprentice — or have similar development experience, you’re ready to read this book. You’ll also benefit from a working knowledge of design patterns — such as working through Design Patterns by Tutorials https://www.raywenderlich.com/books/design-patterns-by-tutorials — but this isn’t strictly required.