The macOS market share is much smaller than the iOS one. There are many, many more iPhones out there, they dominate Apple’s revenues so that’s where most of their attention goes. The iOS development, thus, is in higher demand, it has superior tools, and is more cost-effective. There had been situations when developers had to give up on creating an extra Mac version of their iOS app or weren’t happy enough with the results when they did pursue the idea.
The situation is about to change. The Mac made an epic comeback last year equipped with the newest M1 chips, making up with record sales for the years of getting neglected in favor of its iPhone cousin. What’s important to know though is that the introduction of new ARM-based processors, now common for both mobile and desktop devices, means that you can now run iOS apps on Macs natively, making these apps truly universal.
You can now run your iPhone and iPad apps on Mac with Apple M1 & macOS Big Sur!#AppleEvent #MacBook #Macs #ARMMacs pic.twitter.com/aoVzYXYYSb
— Ishan Agarwal (@ishanagarwal24) November 10, 2020
There’s a massive buzz on the net about the new Mac’s performance and speed, but let’s look at this subject from a different perspective. Why and how can this tech revolution be beneficial for app developers and business owners?
Some (more) background
First, let’s see what all the fuss is about.
Last November, Apple resealed the lineup of their newest Macs that supported CPUs of their own making based on a totally different architecture called ARM or Apple Silicon as opposed to Intel’s x86 processors that you can find in the earlier models of Mac devices. This shift to greater self-sustainment was a historic event that they’ve been preparing for during the last several years. In essence, they took the ARM technology used in iPhones and iPads, improved it, and introduced it to the Mac making a huge step towards the unification of their platforms. It took years of preparation because the migration from Intel to ARM is a long and costly process involving many steps and restrictions. Currently, consumers (and developers) spend their first months using brand-new Macbooks. The new chips are 5-6 times faster than the old Intel ones while costing the same. They are also much more energy-efficient, for example, the new MacBook Air doesn’t even have fans because it hardly ever heats.
Multiple reports both from the experts and ordinary users suggest that Apple really made it this time. The lineup of M1 iMacs is coming next rumored to be released in spring or in the early summer of 2021.
Yet, the introduction of the new processor architecture meant that countless Mac apps, written for old Intel chips, would not work on devices with new ARM ones. To quickly repopulate them with existing apps, Apple created the Rosetta 2 emulator — a temporary solution that lets unmodified native Mac apps launch on new M1 Macs. What’s more, apps that previously ran natively only on mobile devices, are now available by default in the Mac App Store unless their developers choose to opt-out from participating in the process, whether for the time being or altogether. If they don’t, however, they have some lucrative opportunities ahead of them, potentially getting away from the separate (long) process of macOS development while taking their share of the Mac apps market which may be smaller than the iOS apps one but still quite rewarding.
How the new chips are beneficial for macOS development and business
Up till now, if you wanted to be present both on your customers’ iPhones and Macs, you’d had to pay for the development of two separate applications (add to that support and maintenance costs). So for many business owners whose main products are iOS apps, developing an additional application for Macs is either out of their budget altogether or (in case their need for having a presence in the Mac App Store is compulsory) very definite in terms of costs and very vague in terms of profits.
One of the ways to economize in this situation is to create a web app instead of a native one that would be able to run on Macs. Some companies choose this option, Youtube and Instagram are among the examples. PWA is actually a technology like any other, with its advantages and drawbacks (we made an article where we discuss its use cases). Often, though, web versions of apps technically can’t compete with native applications on their functionality, however hard developers try to make the best of them. It all depends on the features of a particular app.
With the introduction of Apple Silicon on Macs, now all you have to do is to let Apple run your iOS natively on new M1 Macs which means a huge increase in the number of apps available in the MacApp Store and improved experience of macOS users. They will not look as customized for the Mac interface but make the best of new functionality.
Apple Silicon Macs running iOS apps natively is truly game-changing.
macOS will become the most complete app platform ever: from complex workflows with Xcode, Final Cut Pro or MATLAB to ordering with Deliveroo, browsing IMDb or watching Netflix… there will be an app for that! pic.twitter.com/CiCTOROaNR
— Pedro José Pereira Vieito (@pvieito) November 16, 2020
It also presents some excellent opportunities for app developers and business owners.
macOS development is now much simpler
Building the new and updating the existing apps to work across various Apple’s devices became simple in comparison with how it was before. The latest version of the Xcode development environment makes older Mac apps available to Apple Silicon requiring very little extra work. Unmodified iPhone and iPad apps run on Apple Silicon by default and there is no porting process involved. Applications use the same frameworks and infrastructure that Mac Catalyst apps do (more on it later) but without the need to recompile them for the Mac platform.
macOS development is now much faster
The simplicity of the transferring process makes it remarkably fast. Along with new Macs the new macOS has been released — Big Sur, which, according to the Apple software chief Craig Federighi, is optimized for and “incredible on M1”. A new Xcode 12 was introduced with Big Sur where all you have to do to make your iOS app run on Macs natively is to check a box, do some testing and maybe make some minor tweaks to remove a few possible bugs, and the job’s done.
macOS development is now much cheaper
As the cost of development stems from the time it takes, faster also means cheaper.
Developing for Mac is very expensive by itself because. As we stated earlier, the much greater popularity of Apple’s mobile devices was the reason that the iOS development turned out to be far more robust and advanced than the macOS one. The iPhone App Store is much more developed than the Mac App Store with more apps that usually are more functional, more beautiful, and with better animation. Though apps in the Mac Store can cost more, the market is considerably smaller.
Mac development doesn’t get as much investment. The libraries used for Mac development are more complex, not as developed as libraries for iPhones and iPads, macOS APIs are vintage. Because of that, to develop a Mac app you have to have more qualified, experienced, and therefore expensive developers on your team. It also takes more time than even developing for iOS from scratch. For example, a macOS developer has to create classes for everything that in iOS you can do just by marking a checkbox or selecting an option. Development for iPhones and iPads is much faster thanks to the number of tools and libraries — both native and others. That’s why app development for Mac takes more time and yields less profit.
So the ability to quickly get an app for Mac that would run natively looks like an amazing opportunity.
Still can’t believe that iOS apps run so smoothly and natively on Mac.
Right: GitHub iOS app pic.twitter.com/3kUW8NTr1Z
— EGÖlST (@_egoistlily) January 17, 2021
When it’s better not to publish your iOS app in the Mac App Store
Of course, apps and business goals are different, that’s why a simple solution might not be the best in some cases. iOS apps can be opt-out of running on macOS if:
- Mac version is already created for macOS
If you already have an app created specifically for macOS, having taken into account the specificities of the interface and using special tools like AppKit, and it’s functional enough, then it’s better to update this version. Then again, if a Mac app has a minimum functionality because of the lack of funds during the development or for any other reason, it might be a good idea to create a universal app from a superior iPhone one if it’s richer in functionality.
- The app relies heavily on iOS hardware and software that is unavailable on Mac
Examples of such hardware include various accelerometers, gyroscopes, magnetometers, depth-sensing cameras, GPS sensors, etc. In other words, an app might happen to be tied too hard to iPhone or iPad hardware. If it’s a mobile car racing game, for example, that requires the use of an accelerometer, and it’s the whole point, then it doesn’t “make sense on Mac”. You can always make changes to the gameplay, of course, but it will cost more.
Examples of specific software include the Core Location framework that you can make use of only developing for iOS.
- Your app communicates with custom hardware using the External Accessory framework
Take devices with barcode scanners, for example. If the functionality of your app depends on connection to such a device (it might be technologically superior to iPhone’s own features) and uses the External Accessory framework for that, then it can’t be done on Mac.
- App interactions require custom, multi-touch input
This point includes examples like pinch-to-zoom and other complex gestures available on mobile devices.
A couple of words about Mac Catalyst
Catalyst is another tool made by Apple to c the development of Mac apps with the help of which you can create Mac versions of your iPad apps and customize them for the native Mac interface. You take the iOS code from the iPad and compile it for the iMac. The distinction is that the resulting apps would not be universal. Mac Catalyst also supports deployment on both Apple Silicon and Intel-based Mac computers. So why not use the Mac Catalyst instead?
- A need to recompile apps for the Mac platform.
- Only available for iPad applications.
- A more complex and time-consuming process of porting and fixing bugs.
In the end, it’s up to the developer and the owner of the app to decide on the best course of action.
In their press release on the Mac transition to Apple Silicon, Apple said that “This will also create a common architecture across all Apple products, making it far easier for developers to write and optimize software for the entire Apple ecosystem”.
For Apple, the potential benefits of this paradigm shift are enormous. It looks like in the future, Apple will continue to unify macOS and iOS with even greater progress like ensuring that these universal apps are optimized for Mac and iPhone interfaces.
Obviously, seeing that the new lineup is only a few months old, it’s doubtful that the ARM-based Macs would make up the majority of Apple desktop devices any time soon. At the same time, it’s never been a better time to be a part of the Apple ecosystem. If you have any questions about the development of your iOS and macOS projects, write us a line, and we’ll be happy to help you at any time.
Written by Sergey Popov and Kate Shokurova