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

  • Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds

    New Vision support with GitHub Copilot in the latest Visual Studio Code Insiders build takes a user-supplied mockup image and creates a web page from it in seconds, handling all the HTML and CSS.

  • Naive Bayes Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the naive Bayes regression technique, where the goal is to predict a single numeric value. Compared to other machine learning regression techniques, naive Bayes regression is usually less accurate, but is simple, easy to implement and customize, works on both large and small datasets, is highly interpretable, and doesn't require tuning any hyperparameters.

  • VS Code Copilot Previews New GPT-4o AI Code Completion Model

    The 4o upgrade includes additional training on more than 275,000 high-quality public repositories in over 30 popular programming languages, said Microsoft-owned GitHub, which created the original "AI pair programmer" years ago.

  • Microsoft's Rust Embrace Continues with Azure SDK Beta

    "Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code."

  • Xcode IDE from Microsoft Archrival Apple Gets Copilot AI

    Just after expanding the reach of its Copilot AI coding assistant to the open-source Eclipse IDE, Microsoft showcased how it's going even further, providing details about a preview version for the Xcode IDE from archrival Apple.

Subscribe on YouTube

Upcoming Training Events