Who is this for?
This book is for iOS developers with a basic understanding of Swift, SwiftUI and Core Data, that want to understand the end-to-end process of creating an app. From having an idea to publishing it into the App Store.
- App architecture
- Swift Package Manager
This book will be your guide to turn ideas into robust applications that can scale.
This book is for iOS developers with a basic understanding of Swift, SwiftUI and Core Data, that want to learn how to create apps that follow the best standards.
Level up your skills by learning...more
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.
Section I: Designing Real World Apps
For an app to be successful, it needs to be planned out. This means understanding the requirements, how they translate to code, and how to best structure your code to be flexible but powerful.
This section describes how up-front design helps drive your model and data layers, and how features in Swift and iOS help developers bring the design to life.
Section II: Building App Features
Using layers to logically organize your code is only part of the answer when it comes to structuring your app’s features. The user interface is the main connection between your user and your lower level layers, so it’s important to pick a proper architecture that you can easily keep up to date when you build your features.
In this section, you’ll go over the upper-level architecture for the app, while building out two new features. For this, you’ll use capabilities such as SwiftUI, Combine and async/await.
Section III: Modularizing Your App
Don’t reinvent the wheel. Modules that others have built and provided to the community can save you time. You can also make your own modules to use later in your development or make them available to the community.
Modules (and the features they come from) have some costs though, one of which is navigating between features. In this section, you’ll explore how Xcode can help in not only the creation of, but the use of, modules in your app, and understand how features can be tied together with navigation.
Section IV: Enhancing the User Interface & Experience
A successful user experience can be the difference between a 1-star and 5-star app on the App Store. Lively and responsive user interfaces, interactive controls, customization, localization, and accessibility all contribute to whether a user will re-engage with your app after their first use.
In this section, you’ll enhance the user interface with animations and custom controls. Also, you’ll start to get your app ready for the broad set of users in the world by applying human interface guidelines and accessibility features.
Section V: App Privacy, Maintenance & Deployment
As you approach deployment more and more things come to mind: am I protecting that user’s data and privacy? Do I have any edge cases in my code that I haven’t seen? How do I get beta testers, and why won’t my Code Signing work? All these questions can be summarized into three topics: Privacy, Debugging and App Distribution.
In this section you’ll dive deeper into these topics, getting you ready to send your app to the App Store.