SwiftUI Blog

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

  • Play Youtube Video

    It’s not possible to use AVKit to play YouTube videos directly, so we need to use a different solution: a Web View from WebKit. First, we need to analyze the YouTube URL. For example: “https://www.youtube.com/watch?v=ZJmn2RCtFLQ“ We need to extract the video ID, which is the string after v= — in this case, ZJmn2RCtFLQ. Since we…

  • Play a video

    A nice feature that an iOS application can have is a video player. It’s simple to build. There are two ways to play a video: Video Embedded First of all, we need a video, i downloaded this one bird, renamed it to bird.mp4 and and copied it into the project (not into the assets folder)….

  • Toggle with text

    Do you know the most famous question asked by Italian grandmothers (I miss you, nonne)? “Have you eaten?” Imagine answering this question with a simple Yes/No toggle — let’s turn it into a fun widget with a bit of text! Take a look at the code: We set the active color to green, and the…

  • Camera

    Sometimes, a mobile application needs to take a photo to either send it to a server, modify it locally, or both (like Instagram). In this post, we’ll see how to take a photo. The process is a bit long and may seem complex, but I’ll do my best to explain everything clearly. Here’s how it…

  • Text animation

    In this post, we want to learn how to use the TextRender protocol to create an animation similar to the one used in the onboarding of the Medium mobile application. We can call this animation “progressive revelation,” where characters are displayed one by one. Before looking at the code, we need to understand how TextRender…

  • Customize TextField

    The most commonly used component to insert text is the TextField. We usually use it like this: This is the classic way, and it’s fine. Sometimes we need to change the placeholder text color and size, as well as the color and size of the typed text. Take a look at the code below to…

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