Getting Started With Swift UI

The Basics & Advantages Of Swift UI
Mar 9
Working on an Apple platform gives you quite some options to work with when building apps and UI's. There's Flutter, React Native, Xamarin, Swift etc. This article will introduce Swift UI, which is a wrapper of Swift that is used to build UI across all Apple platforms.
To understand Swift UI better, it is important to understand what Swift is first.
Swift is an object oriented programming language, introduced by Apple to simplify development in IOS. It's an open source project and is used to develop applications for all Apple devices.
Now, Swift UI is introduced to make IOS development easier and better over Swift. It is an attempt to try and make development for IOS more developer friendly.
But how does Swift UI achieve that?
Here's a comprehensive guide on getting started with Swift UI.


The following are some features of Swift UI that give us more than enough reasons to go for it:

1. Declarative Syntax: It simply means that you get to describe what a UI component should be like, but you don't have to write all the code for it. For example, if I want to create a Navigation View in Swift UI then I already get a component called NavigationView that is available. So, my code will look like this:

struct ContentView : View {
    var body: some View {
            NavigationView {
                VStack {
                   Text("text 1")
                    Text("text 2")
                }.navigationBarTitle(Text("Navigation Title"))
2. Live Preview: By using the live preview feature of Swift UI, we can just run our code in canvas (and in live mode as well) and don't need any other device or simulators for testing.

3. Design tools: The design tools are something that I think are the coolest things about Swift UI.
  • In the top-right corner of Swift, You will find a "+" button. If you click on this, you get a list of components and voila... you can just drag any one of these items and drop it in your code at any line. Easy, right?

  • In live preview, you can just command + click on a component and you get a list of options to modify that component.

4. Simplified Animations: Animations in Swift UI are way easier than one could think. Here is a block of code to see how it works:
Button(action: {
      withAnimation(.easeInOut(duration: 3)) {
                   self.buttonText = "I am Changed"
            else {
                 self.buttonText = "I am Changed again"
        }}) {

Why Use Native Development?

In real-time applications, the differences in app size, build time, reload time etc. between Native Apps & Hybrid apps are pretty significant. To demonstrate those, I picked up a performance report from Code Magic which compares Swift UI & Flutter to clarify things better:


We get a lot of points in favour of Native Development on the Internet. Some of them are:
  • Smooth performance and better speed.
  • Flexibility.
  • Overall User Experience.
  • Swift UI also provides mechanisms for reactive programming with BindableObject, ObjectBinding, and the whole Combine framework.


The flaws of Native Development, you ask? Here is what I could experience in the short time that I used Swift UI:
  • Development Cost and Time.
  • Maintenance.
  • Right out of the bat, it supports only iOS 13 and Xcode 11.
  • The community is fairly new which makes problem resolution online a task.
So, these are the basics of Swift UI. It is really easy to begin with so go out there and build something fancy, with minimum effort and you will have fun too.
Thank you so much for reading this article.