You want to build a SwiftUI mobile app, maintain a current SwiftUI app, or transition an existing app to SwiftUI—but you’re not sure where to start or what to keep in mind.
You’re in the right place.
Learning, using, and mastering new iOS APIs is hard work; there’s a steep learning curve. There is a lot that goes into being ready to build your SwiftUI app, so we’ve created a five-point checklist that’ll help.
You’ll be able to focus on creating a beautiful mobile app without having to scour the internet for best practices and need-to-knows. Plus, Fullstory supports SwiftUI, so you can step up your app game even more.
Let’s get into it.
1. Understand what SwiftUI is (and isn’t).
We know you’ve likely heard of SwiftUI, but for posterity, it’s Apple’s newest mobile UI development framework. It's a declarative framework that makes the UI portion of app development, to put it plainly, really fast. In using a declarative framework like SwiftUI, developers can create safer, more understandable, and more scalable code.
With a declarative framework, developers tell SwiftUI how they want the app to look and function, and the framework figures out how to do so as the developer interacts with it.
Essentially, the programmer writes only one function that constructs the entire view tree, and the framework calls it automatically every time anything needs an update. The framework intelligently figures out what has changed each time the view tree is reconstructed. In this new way of doing things, the structure of code directly represents the structure of what’s happening on the phone’s screen.
This is quite different from an imperative framework, which is the more traditional programming type used by UIKit. In an imperative framework, the programmer is responsible for manually creating objects to represent anything that exists on the screen, for linking into a UI tree, and for updating each view when needed. This requires a great deal of code, potentially obscuring how the UI actually works together.
With the rise in demand for declarative frameworks, SwiftUI is becoming more and more popular. According to app developer Paul Hudson, “[SwiftUI is] 100% absolutely going to be the future of app development on Apple’s platforms.”
2. Get your resources right.
SwiftUI, as you now know, is the hot, new framework on the market. If you aren’t using it already, you likely will be soon.
With that, it’s imperative to have a list of resources from which to pull. Luckily, our expert Fullstory developers have done the research for you. Add the below to your bookmarks for some helpful reading material that’ll set you up for great SwiftUI success.
Apple’s official SwiftUI tutorials
Full list of Apple’s SwiftUI documentation
Apple’s “Demystify SwiftUI” video
Apple’s SwiftUI video from the 2022 Worldwide Developers Conference
One of our favorite SwiftUI quick-start guides
SwiftUI lab: A blog dedicated to SwiftUI experimentation
Open Source Apps
3. Join a community to share your insights and grow together.
Resources are important, but so is the collective. You’re only as good as those from whom you learn, and there are a number of online communities dedicated to understanding, learning, developing, and maintaining SwiftUI apps.
These are some great communities you’ll want to be a part of as you embark on your SwiftUI journey:
Reddit - r/SwiftUI subreddit
What it’s good for: asking general questions, hearing others’ opinions on how their builds are progressing, and obtaining a general understanding of how others are developing SwiftUI apps (don’t forget to review the “Community info” for gems of information).
Apple - SwiftUI developer forum
What it’s good for: getting answers for specific coding questions, accessing keyboard shortcuts, addressing roadblocks, and anything else that’s super technical when it comes to developing SwiftUI apps.
Reddit - r/iOSProgramming subreddit
What it’s good for: This is a more general community for all things iOS programming and mobile applications. It’s a great community to review others’ apps, ask questions, vent, and discuss framework comparisons.
Pro tip: Join the new Fullstory Community to connect with other Fullstory for Mobile Apps users, ask questions, and share ideas.
4. Know who is doing SwiftUI apps well and study them.
Aristotle believed that imitation was a born instinct and a necessary good. With that in mind, if you want to create a successful SwiftUI-developed app (or improve an already-existing app with SwiftUI), you must know who’s doing it right and study the why.
We’ve discovered some companies who have beautifully designed SwiftUI apps. Check those out below and learn more about why we love them:
Why we love their app: Carvana offers their customers a step-by-step UX process that is simple to follow–and way easier than dealing with a dealership.
Wayfair
Why we love their app: they just released a 3D room feature, allowing app users to see life-sized versions of products in any space.
Epsy Health
Why we love their app: Their award-winning app provides an elegant and easy-to-use user interface.
OKCupid
Why we love their app: OkCupid uses a similar UI to today’s most popular social media apps, and that’s a win for positive user experience.
On-Running.com
Why we love their app: they have a clean and simple app that is both functional and aesthetically-pleasing.
5. Listen to your app users and keep your app running smoothly.
The success of an app comes from the dedication to optimizing and maintaining its usability.
How do you know your app is working as it should? How are you ensuring your users enjoy their app experience? In what ways are you solving common problems users are experiencing?
These answers might surface anxiety, and don’t worry–we get it. That’s why it’s so important to make sure you’re using a comprehensive mobile analytics tool on your SwiftUI-built mobile app. Not only do you need a tool that will reveal powerful metrics that help you understand what’s happening in your app, but you need a tool that also uncovers the mysteries of why.
Fullstory now supports all apps made with SwiftUI, so you can stay on the pulse of new frameworks without sacrificing critical behavioral data.