What you need to know
- Uno Platform now supports macOS as a target platform for cross-platform development.
- Uno Platform now allows developers to create apps for Windows, iOS, Android, the web, and macOS using the same code base.
- To show off the technology, Uno Platform ported the Windows Calculator to macOS.
Uno Platform announced today that it now supports macOS as a target platform. This new support means that developers can use a single code base to create apps on Windows, iOS, Android, the web, and macOS. According to Uno Platform, this makes it the first and only cross-platform solution to allow the same codebase to run on all these platforms.
Uno Platform allows developers to use C# and XAML code to create native apps on several platforms. Rather than running through Electron or emulation, apps that utilize Uno Platform can run natively on any supported platform. Uno Platform saw quite a bit of buzz last summer when it ported over the Windows 10 calculator over to Android. Here's my summary of Uno Platform from my review of the calculator:
The Uno Platform allows developers to use C# and XAML code to create native apps on several platforms. Many native UWP apps use C#, so Uno Platform is one way that a developer could use their code from a Windows 10 application and bring it over to Android. But C# and XAML are by no means exclusively used by UWP developers. Developers familiar with these languages could create an app for mobile devices, the web, or PCs. Developers can also use the Uno Platform to deliver an app experience as a progressive web app (PWA) rather than a native application. Android and iOS apps using the Uno Platform rely heavily on the Xamarin Native stack. WebAssembly apps rely directly on the Mono-Wasm runtime.
Matching its trend of porting the Windows Calculator to more platforms, the team at Uno Platform also ported it over to macOS.
"Developer productivity and code reuse is at the heart of Uno Platform mission," Uno Platform's CEO, Francois Tanguay, said in a press release. "We are delighted to add macOS to the list of supported platforms and make developers ever more productive. We will continue to push the limits of new technologies like WinUI and WebAssembly to enable even more scenarios in the near future."
I had a call with Sasha Krsmanovic and Jérôme Laban from Uno Platform earlier this week to speak about macOS support and what it means to developers. According to Krsmanovic and Laban, the addition of macOS support opens new doors for developers. If you want to develop an app for iOS, you can use Visual Studio for Windows and then connect it to a Mac. This isn't the case for macOS development. To develop an app for a Mac, you have to use Visual Studio on a Mac. With Uno Platform adding support for macOS, developers have more options when it comes to using their platform of choice.
I spoke with Krsmanovic and Laban about the limitations of Uno Platform. They state that because it uses Xamarin underneath, there are no technical limitations in terms of what APIs can be used. There are some contracts for WinUI and WinRT that aren't implemented, but Uno Platform is expanding those going forward. If Uno Platform doesn't provide an abstraction for something, you can just use the native platform's tools.
We also discussed how people having to work from home due to the current global health crisis has put more of an emphasis on delivering apps to desktop users. With more people at home, companies need apps to reach people on Windows and macOS. By adding support for macOS, developers can now target two desktop platforms, the web, and the two major mobile platforms with the same code base.