Customise Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorised as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyse the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customised advertisements based on the pages you visited previously and to analyse the effectiveness of the ad campaigns.

No cookies to display.

SwiftUI Blog

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

  • Map – episode III: Look Around

    In this episode, we’ll learn how to use the LookAround feature in our applications. To summarize, we will cover: Starting from the end, we aim for this: And by tapping on Look Around: Now you can navigate in 3D. Select a Marker Let’s begin by setting the position (the initial center of the map) in…

  • Map – episode II°

    In this post, we’ll learn how to: Add Markers Let’s see how to add a marker to both Berkeley and Stanford Universities. First, we’ll create a structure for our locations: The struct implements the Identifiable protocol because we need to define an ID for each element. This is especially crucial as we want to use…

  • Map – I

    This post is the first in a series about using Maps in SwiftUI. In this post, we’ll learn how to: Map Creation First, we need to add values in the info.plist for: Now, let’s take a look at the code: To use the map, we need to import MapKit, then define a position such as…

  • Stepper and Slider

    There are two components that are similar; both allow users to choose a value within a range. They are: Both share a definition that uses the same type of parameter. Stepper So, we can adjust the age by increasing or decreasing it using the buttons, with an initial value set to four. We can also…

  • Timer, shape, and player

    Creating a Dynamic Christmas Tree with Decorations and Light Effects In this blog, we’ll learn: Shortly, we’ll create this (tree.mov): Create the triangle First, the triangle implements the Shape protocol and creates a triangular shape by drawing in this way (considering that we pass a rectangle/frame): Remember that the coordinates start from the top of…

  • Custom Component

    SwiftUI is a powerful tool, though one area ripe for improvement is the variety of components available. In this post, we’ll explore how to build a custom component: a search text field. Adding a searchable component in SwiftUI is straightforward—you can easily add a search field to the navigation bar with just one line of…

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