News

Uno Platform Ports Windows Calculator to Linux

Uno Platform has ported the famed Windows Calculator, open sourced last year, to Linux as part of a continuing "proof point" effort to demonstrate the reach of what it describes as the sole UI offering available to target Windows, WebAssembly, iOS, macOS, Android and Linux with single-codebase applications coded in C# and XAML.

Uno Platform undertook that effort after Microsoft open sourced the calculator in March 2019 (find it on GitHub). A few months later, it ported the calculator to the web (via WebAssembly) along with iOS and Android. That was a nontrivial project in that the calculator is largely built with decades-old C++ code that needed to be translated to C#.

Uno Calculator on Linux
[Click on image for larger view.] Uno Calculator on Linux (source: /Canonical/Uno Platform).

"The Windows Calculator is an interesting and not-so-simple piece of software," said Jérôme Laban, CTO of Uno Platform, at the time. "The simple initial UI you see upon launch can be deceiving. Of course, that is a good UX choice Microsoft made as most uses of the calculator are rather simple ones. However, the calculator is complex both in the way it was coded over the years, as well as the advanced functions it has."

Last week, Laban announced that Linux was the latest on the list of Windows Calculator porting targets, a list that also includes macOS.

"Partnering with the Canonical team, we created and published it to the Ubuntu Snap Store so you can easily download and install it. Thanks a lot Ubuntu team for assisting us in this process, as well as blogging about Uno calculator at Ubuntu blogs."

That Oct. 15 blog post by Canonical noted that "You can build Linux applications with Uno Platform using Visual Studio and Ubuntu on WSL. You can snap them up in the snap store and then run your apps on anything from the Linux desktop to a Raspberry Pi."

Along with Canonical's Ubuntu Linux distro, the ported Uno Calculator also runs on:

  • Red Hat Enterprise Linux
  • Linux Mint
  • Debian
  • Fedora
  • openSUSE
  • Manjaro
  • Kubuntu
  • KDE Neon
  • elementary OS
  • CentOS
  • Arch Linux

However, the project isn't complete, as Laban said "The Uno Platform support for Linux comes with the combination of Skia, SkiaSharp, and GtkSharp, which also makes it a target for Windows (7 and 10) and macOS. The development of the Uno Calculator happened primarily on Windows, with additional testing on Linux machines and devices.

"We still have work to do on our Skia backend, and we’re actively working on updates that will come regularly to provide performance improvements and enhanced fidelity, such as dark theme support, full keyboard support, etc."

For its part, Microsoft isn't done with its open source calculator either, as the project's roadmap says that in 2020 the team is focused on:

  • Iterating upon the existing app design based on the latest guidelines for Fluent Design, Windows 10X dual-screen devices, and WinUI 3.0.
  • Unblocking community contributions by identifying and addressing bottlenecks affecting developers, including migrating portions of the codebase to C# (#893) and adding a settings page (#596).
  • Addressing top user pain points, including clearing up confusion around how Standard Calculator behaves (#138) and fixing hidden characters in copied results (#504).
  • Investigating unit converter improvements (#379, #589 and #594)

Of those numbered GitHub issues, only #504 is "closed" as of this writing.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Mastering Blazor Authentication and Authorization

    At the Visual Studio Live! @ Microsoft HQ developer conference set for August, Rockford Lhotka will explain the ins and outs of authentication across Blazor Server, WebAssembly, and .NET MAUI Hybrid apps, and show how to use identity and claims to customize application behavior through fine-grained authorization.

  • Linear Support Vector Regression from Scratch Using C# with Evolutionary Training

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the linear support vector regression (linear SVR) technique, where the goal is to predict a single numeric value. A linear SVR model uses an unusual error/loss function and cannot be trained using standard simple techniques, and so evolutionary optimization training is used.

  • Low-Code Report Says AI Will Enhance, Not Replace DIY Dev Tools

    Along with replacing software developers and possibly killing humanity, advanced AI is seen by many as a death knell for the do-it-yourself, low-code/no-code tooling industry, but a new report belies that notion.

  • Vibe Coding with Latest Visual Studio Preview

    Microsoft's latest Visual Studio preview facilitates "vibe coding," where developers mainly use GitHub Copilot AI to do all the programming in accordance with spoken or typed instructions.

  • Steve Sanderson Previews AI App Dev: Small Models, Agents and a Blazor Voice Assistant

    Blazor creator Steve Sanderson presented a keynote at the recent NDC London 2025 conference where he previewed the future of .NET application development with smaller AI models and autonomous agents, along with showcasing a new Blazor voice assistant project demonstrating cutting-edge functionality.

Subscribe on YouTube