

Personally, for my development work, I only use MacBook and Mac Mini. Following its marketing slogan, "Your next computer is not a computer", the iPad became the first device of choice for light work and content browsing. It's a natural first step to unite all platforms. Mac Catalyst will allow you to run the iPadOS app on Mac. That’s why, two years ago, they introduced the Mac Catalyst. So it's not surprising that when you are thinking about a new application, you will build it for iOS.Īpple realised this too, of course. The number of iPhone users dramatically exceeds the number of macOS device owners. It will ensure that desktop applications aren't a copy of the mobile app, but the macOS environment lacks many great apps available on iOS. But still we have two separate user interfaces to maintain. Business logic can be shared between mobile and desktop if it's separated from platform-specific data. What’s the current situation?Ĭurrently, app developers are responsible for preparing separate UI and between-screen navigation.

The question is where this split will happen and who will be responsible for implementing it. iOS and macOS look different, so they can't use the same component for UI. If you think about it carefully, it's pretty obvious. It was crucial to introduce you to that AppKit and UIKit concept because they differ between iOS and macOS applications. On iOS/iPadOS/tvOS, we have a similar API called Cocoa Touch, but it includes a framework called UIKit instead of AppKit. These UI components are contained in a framework called AppKit. It contains a few frameworks that will provide you with essential data structures (like lists, dictionaries, and sets) and types (numbers, strings), files support, and user interface components ready to use in your application (buttons, windows, labels). It gives developers all tools needed to build applications with Graphic User Interface working on all macOS devices. It is a successor of Carbon, C-oriented API used in 32bit Macintosh machines. It’s an object-oriented API (Application Programming Interface) developed by Apple to make writing desktop apps possible. What exactly is Cocoa? Let’s get technical for a moment. We will go through Mac Catalyst, Apple Silicon and of course SwiftUI. In this blog post I wanted to give you a potted history of macOS development, and tell you a little about the direction in which it’s heading. It's still here, and it doesn't look like it isn’t going anywhere soon. Well, maybe not at the very beginning of time, but at least it was there when I began to learn macOS app development.
