#Programming

  1. Apple’s use of AppKit, Mac Catalyst and SwiftUI in macOS

    The WWDC 2019 had a major impact on the UI toolkit landscape: while the venerable AppKit APIs remained available, Apple removed the old Carbon APIs and introduced 2 brand new frameworks: Mac Catalyst and SwiftUI. Apple sporadically mentioned some apps built with these new UI toolkits. In this article, I try to bring a better overview of Apple’s use of AppKit, Mac Catalyst and SwiftUI in the different versions of macOS, from macOS Mojave to macOS Ventura.
    [Read More]
  2. Apple’s use of Swift and SwiftUI in iOS 15

    iOS 15 was released a few months ago in September 2021. In this article, I analyze the built-in apps composing iOS 15. How many binaries are in iOS 15? Which programming languages are used to develop these apps? How many apps are written with Swift? Has Apple adopted SwiftUI for some built-in apps?
    [Read More]
  3. SwiftLint for Swift Packages

    SwiftLint is a great tool to enforce Swift style and conventions. Thanks to the Xcode Build Phases, integrating SwiftLint in an Xcode project is simple: a Build Phase automatically triggers swiftlint when compiling your project. Sadly at the moment, you can’t easily integrate SwiftLint with Swift Packages: A Swift Package has no Build Phases and no way to automatically runs scripts. This article explains how to use a post action script in Xcode to automatically trigger SwiftLint afer a successful Swift Package compilation.
    [Read More]
  4. Mac App Store: Embedding a Command Line tool using paths as arguments

    A couple of months ago, I released a new app called Dependencies on the Mac App Store. You can download and try it for free at https://apps.apple.com/app/dependencies/id1538972026. In this article, I explain how I built the command line support and released it in the Mac App Store. Implementing this feature turned out to be tricky, mostly due to the lack of documentation on this specific subject. This post might be of interest if you are planning to add a Command Line tool to your app distributed on the Mac App Store.
    [Read More]
  5. Comparing iPhone OS 1.0 with iOS 14 using tree maps

    If you followed the recent Apple events, you probably saw a picture of the A14 and M1 dies… that got me thinking about what you would see if you could pass iOS under X-Rays… In my previous article about the evolution of the programming languages from iPhone OS 1.0 to iOS 14, I analyzed iOS based on the number of binaries and their programming languages. As I pointed out in this past post, the size of the binaries were not taken in account. In this new article, I look at iPhone OS 1.0 and iOS 14 from a size perspective using tree maps.
    [Read More]
  6. Evolution of the programming languages from iPhone OS 1.0 to iOS 14

    In my previous article about Apple’s use of Swift and SwiftUI in iOS 14, I counted the number of built-in apps in iOS using Swift and SwiftUI. Several readers asked if I could provide a percentage rather than an absolute number. In this new article, I will answer this question by measuring the total number of binaries in iOS. I will go one step further and also count the number of binaries using other programming languages: Objective-C, C++ and C. Finally to be as complete as possible, I ran this analysis on all major iOS releases, from iPhone OS 1.0 to iOS 14. This will provide a detailed overview of the evolution of the different programming languages over more than a decade of iOS development.
    [Read More]
  7. Apple’s use of Swift and SwiftUI in iOS 14

    Swift was introduced a couple of years ago at Apple’s 2014 WWDC. Over the years I analyzed iOS to measure how many built-in applications were using Swift. iOS 9 released in 2015 included a single application written with Swift: Calculator. Since then this number has grown with each iOS release: iOS 10.1, iOS 11.1, iOS 12.0 and finally iOS 13.1. iOS 14 is now available so let’s check how this number evolved since iOS 13. Apple announced SwiftUI during WWDC 2019, a year ago. In this article I will also try to measure which built-in apps are using this new UI framework.
    [Read More]
  8. Introducing Clatters for iOS

    Assiduous readers of this blog might have noticed a significant drop in the number of articles last year. Couldn’t I find any interesting subject? Was I getting lazy? Hell no! Today I am pleased to release Clatters for iOS and iPadOS. Clatters is an app to easily monitor in one place your brand, product or any other keyword on your favorite social networks - Twitter, Reddit, HackerNews and even comments on the iOS App Store.
    [Read More]
  9. Apple’s use of Swift in iOS 13

    Swift was introduced at Apple’s 2014 WWDC and it is interesting to measure Apple’s own use of Swift in iOS over the years. iOS 9 released in 2015 included a single application written with Swift: Calculator. Since then the number of applications using Swift in iOS has grown each year with iOS 10.1, iOS 11.1 and iOS 12.0. Now that iOS 13.1 is available, let’s measure how many applications are using Swift this year.
    [Read More]
  10. Your own VPN server for 3€/month with built-in iOS and macOS support

    Using a VPN is an obvious solution when you are connected to internet on an untrusted network. Instead of paying a subscription to a VPN service, I decided to create my own VPN server. It turns out that this is much simpler than I expected. In this article, I briefly explain what is a VPN and its advantages. I then explain how I built my own VPN server.
    [Read More]