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

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube