SwiftUI Blog

Mastering SwiftUI: Your Guide to Building Beautiful, Intuitive Apps.

  • List Search

    SwiftUI includes a SearchBar component starting from iOS 15. Start with this code to display a list of vehicles: To implement the search we have to do: Note that the ForEach now iterates over the searchResult, which contains all the vehicles if the searchText is empty, or the search results based on the vehicle’s name…

  • List Actions

    In the previous post, we saw how to create a List. In this one, we’ll learn how to perform actions on the list, primarily deletion. Before that, we need to introduce a new magic word: ForEach.Take a look at the code below: To have: As you can see, in this case, we only have a…

  • List

    A fundamental element of mobile applications is the list. If you think about it, almost every app includes some form of a list. Declaring a list is very simple: To have: In this way, we have a scrollable list with fixed elements. However, we can also create the list dynamically using a data set: To…

  • AnyLayout

    Sometimes it can be beneficial to change the layout depending on the device’s portrait or landscape orientation. To do this, we can use AnyLayout, which allows us to make the choice at runtime. Let’s look at the code: The Environment is a property wrapper that reads values from a view’s environment. In this case, we…

  • Layout in SwiftUI

    When we create a SwiftUI project in Xcode, we see something like this Everything is centered in the middle of the screen by default. Let’s see how to move the elements to other positions. Vertical Stack The purpose of this stack is to organize items in a vertical flow. It’s possible to align the elements…

  • State And Binding

    Two fundamental concepts in SwiftUI are State and Binding. Following the official documentation, we can say:• State is a property wrapper type that can read and write a value managed by SwiftUI.• Binding is a property wrapper type that can read and write a value owned by another view. Let’s explain with an example. Imagine…

This is how it all started…

I started coding in the ’80s when I was a teenager with a Commodore Amiga 500 (which I bought 50% with my brother after a summer of work in the fields). My first programming language was AmigaBasic, but I soon moved on to C. At university, I discovered Linux, and it was love at first sight (1996). In the meantime, I became interested in the OpenSource world and the Qt framework (which has played an important role in my professional life). Along the way, I also worked with other technologies, but my background is in embedded engineering, so I transitioned to system programming and mobile development.

Mobile development is a key focus of this blog. I contributed to the Maemo, MeeGo, Mer, and SailfishOS projects. After that, I moved on to Android and later iOS. Since 2017, I’ve been a mentor at the local university for the Apple Foundation Program, a four-week full-immersion course where students learn how to create simple(?) mobile applications for iOS (as well as for Apple Watch and Apple TV). After writing nearly a hundred posts about SwiftUI, I decided to collect them all in one place, here, where I’ll create a path to develop iOS applications, following more or less what I teach my students, along with other insights.

Nicola De Filippo

Software Engineer & Mentor