Build fluid and engaging declarative UI for your apps — using less code — with SwiftUI!
SwiftUI by Tutorials is designed to help you learn how to transition from the “old way” of building your app UI with UIKit, to the “new way” of building responsive UI with modern declarative syntax with SwiftUI.
This book is for readers who are comfortable building Swift apps, and want to make the exciting leap into building their app UI with modern, declarative code.
What is SwiftUI?
SwiftUI lets you build better apps, faster, and with less code. It’s a developer’s dream come true!
With SwiftUI, you can design your user interfaces in a declarative way; instead of developing app interfaces in an imperative way, by coding all of the application state logic before time, you can instead define what your app’s UI should do in a particular state and let the underlying OS figure out how to do it.
What’s more is that SwiftUI lets you build modern, responsive UI and animations for all Apple devices — not just iOS. So whether you’re building apps for iOS, watchOS, tvOS or any other Apple platform, you can use the same concise, natural language to describe your UI and have it look stunning — no matter where your code runs.
In addition, SwiftUI’s built-in automatic support for things such as dark mode, localization and accessibility, along with Xcode 11 support for drag-and-drop design and instant preview makes it easier to build apps than ever before.
Before You Begin
This section tells you a few things you need to know before you get started, such as what you’ll need for hardware and software, where to find the project files for this book, and more.
Get started with SwiftUI! Learn about the basic terminology, and discover the power of building your interface directly in the preview canvas. Check how SwiftUI makes declarative development easy and straightforward, and how you can drag and drop as you used to do with storyboards.
SwiftUI's declarative style makes it easy to implement eye-catching designs. You can create reusable modifiers to unify your design. In this chapter, you'll implement a neumorphic Figma design for RGBullsEye.
Learn how to add and configure different SwiftUI controls within your apps. Discover modifiers in a practical way and how they can be shared across controls or used individually. Get an introduction to container views and how to use them with SwiftUI.
Learn the powerful capabilities of vertical and horizontal stacks. See how easy it is to apply them to your app layout and to nest them to generate almost any possible combination. Stacks are back stronger than before and will for sure become a game-changer in SwiftUI.
Section III: State & Data Flow
Learn how your user interface reacts to data flow and state changes.
In this chapter, you will expand your knowledge by learning more advanced input controls like calendar and color pickers. You will also get to know how to persist the information with an overview of App Storage.
Learn how to trigger updates on the interface, including how to easily test a SwiftUI interface, how to manage the flow of screens throughout a complex app, and how to deal with gestures, including the development of a custom gesture.
Learn how to navigate your app with VoiceOver on an iOS device and use the SwiftUI Accessibility API attributes to improve your app's accessible UI. You'll add labels that provide context for UI elements and improve VoiceOver information by reordering, combining or ignoring child elements.
Section IV: Navigation & Data Display
Move through your app screens with SwiftUI and discover how to display data in them.
Sometimes you might need to show (or not) a view depending on certain conditions. Think of an alert message, for example. You can use them to focus the users' attention and request immediate feedback from them.
Section V: UI Extensions
Push forward your SwiftUI knowledge with complex interfaces implementing animations and custom graphics.
In this chapter, you will learn how to develop more complex interfaces. Get out of your comfort zone and dive into more advanced concepts that will allow you to generate almost any UI you can imagine. You’ll learn the limitations you may find while developing advanced SwiftUI interfaces.
Section VI: SwiftUI for macOS
Learn how to implement all you know of SwiftUI in macOS desktop applications.
Pablo is Delivery Manager at at one of the biggest Banks in the world, and was also founder and CTO of a Technology Development...
Who is this book for
This book is for intermediate iOS developers who already know the basics of iOS, and who wish to know everything
there is to know about SwiftUI.
It starts with a basic introduction of the toolkit and its features,
with later chapters teaching you more complex concepts like testing and animations.
Concepts covered in this book
Getting started with Swift UI
Diving Deeper into SwiftUI
Controls & User Input
State and Data Flow
Drawing Custom Graphics & Using Animations
Testing & Debugging
Third Edition · iOS 14, Swift 5.3, Xcode 12
v3.0 · Mar 17 2021 · Bill Morefield, Sarah Reichelt, Audrey Tam & Antonio Bello
By Bill Morefield, Sarah Reichelt, Audrey Tam and Antonio Bello
Build fluid and engaging declarative UI for your apps with way less coding with SwiftUI!
SwiftUI by Tutorials, the complete guide to building fluid and engaging declarative UI for your apps — using less code — with SwiftUI, is now fully updated!