Uno Platform now lets you develop for macOS, Windows, and more using the same code

MacBook Pro
MacBook Pro (Image credit: Windows Central)

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.

Sean Endicott
News Writer and apps editor

Sean Endicott brings nearly a decade of experience covering Microsoft and Windows news to Windows Central. He joined our team in 2017 as an app reviewer and now heads up our day-to-day news coverage. If you have a news tip or an app to review, hit him up at (opens in new tab).

  • so, just one single virus could infect both OS, very nice. I'm sure hackers are happy as well.
  • Your comment betrays your lack of knowledge of both cross-platform development technologies and viruses.
  • Lol yeah that was a clueless post 🤣
  • To be fair....
    If I made a cross-platform program named "virus"....
  • Uno seems pretty cool. Does anybody have any thoughts on why Uno would be selected over Xamarin.Forms?
  • I could be wrong, but from experience, I know that Xamarin.Forms uses XAML, but it uses all of its own controls. Uno seems to be willing to use Windows' XAML standards, which is nice. Personally, I prefer Uno's method - it's nice to have as few standards as possible when establishing a cross-platform system, I think. I'd love to see this ported to Linux, and then in conjunction with Mono and Wine, allow users to run a full gamut of Windows software! Of course, that would be in a future where Windows is open-source, which is unlikely for some time.
  • I would like to see something else using UNO besides this calculator. This app is fairly trivial, not to mention that it looks very MyFirstApp-ish. As a demo app its fine. But seriously, its time to show what else UNO can do.
  • Shows (show’s? 🙄) you are clueless. Again. I use it on Windows 10 and iPads. But it is still just a calculator. If you had any dev background, you would realize just how simple an app this is. What’s next? A tic-tac-toe app? Still looking for another UNO app. All I have ever seen is this boring calculator.
  • UNO calculator performance is awful.
  • ... if it uses Xamarin... what's the point? Xamarin is already cross platform and supports win10 macOS iOS Android Tizen and others
  • Xamarin uses xamarin form xaml that cannot be customizable than windows xaml
  • If I am not wrong... Uno uses UWP xaml... More efficient in development ... However.. Once u go deeper... U will realize gaps that require u to seek help from UNO consultation... Unless u are very good to know how to address those gaps as described in the article... UNO compile to WEB... Not yet for Xamarin Form.... That was 6 months ago...
  • This is pretty damn sweet, hypothetically this effectively removes any excuses for developers not to target a platform. As after all why would you want to artificially reduce your audience / user base therefore reducing growth and monetisation opportunities? In reality, people make all sorts of lame excuses lol... I sure hope this takes off.
  • The trade-offs required to use this will force you to create mediocre apps, just like all the other similar tools. If it is worth developing for a platform, then you develop for it.
  • This is what UWP should've evolved into once Windows 10 Mobile was killed
  • So if I build a UWP Windows app with Uno, will it perform as well as if I wrote it in pure UWP API? I doubt.
    In other words, it will be a mediocre cross platform app. I think I'll just stick with targeting Windows 10 only. I billion Windows 10 PCs is large enough market for me.
  • I've starting using it and I'm pretty impressed. There are no tradeoffs for UWP as you are primarily building a UWP app that UNO recreates for you on the other platforms.
  • I really hope they don't screw this up. It could be really cool