The Windows Calculator on Linux with Uno Platform

Rhys Davies

on 15 October 2020

The good folks in the Uno Platform community have ported the open-source Windows Calculator to Linux. And they’ve done it quicker than Microsoft could bring their browser to Linux.  The calculator is published in the snapstore and can be downloaded right away. If you’re on Ubuntu or you have snapd installed just run: 

snap install uno-calculator

The Uno Platform brought their support to Linux during UnoConf 2020. Uno Plaform allows you to build native mobile, desktop, and WebAssembly apps with C# and XAML from a single code base. 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.

Developing with Uno Platform for Linux

Maintaining separate code bases for multiple platforms requires a lot of time and effort. Committing to support and maintain an application on Windows, iOS, Android, macOS and Linux to make an application truly cross-platform can be daunting. 

With Uno Platform you can build your C# and XAML codebase to make it more portable. Uno Platforms unique approach for achieving pixel-perfect UI, Uno Platform adjusts your application to look and feel the way it should regardless of the operating system. All you need is to maintain one codebase. 

On Linux, Uno Platform projects use the Skia rendering engine to draw graphical elements. Uno Platform applications then integrate into the Ubuntu desktop with a GTK shell. And it’s all open-source, built on the Mono Project.

You can get started by visiting the Uno Platform docs for Linux and WSL. In the coming months, the Uno Platform will also publish detailed documentation on working with snaps and exactly how to build your Uno application as a snap. 

Uno Platform snaps

When you finish your application you have to start thinking about support and maintenance. The users of your apps should be able to trust that you’ll keep them up-to-date and fully patched. On Linux, snaps are the best way to do this. Snaps are a way of packaging your software that bundles your application and its dependencies into an easily updated container. 

Uno and snaps both run on x86 and ARM so developers can target and test IoT applications on Raspberry Pi. The Uno Calculator is one example of an app that, with a little bit of work, could make a neat little IoT device. Imagine a physical Windows calculator, running Ubuntu, on a Raspberry Pi. And as a strictly confined snap, it can easily be made into a production-ready device with Ubuntu Core;  a minimal, containerised version of Ubuntu made up of snaps for security and the same updatability you have in your application.

What now? 

If you’re interested in what else you can do with Ubuntu Core and snaps, or want to build an Uno project for the Raspberry Pi, there are a few places you can go. You can give the Uno Platform a try, read up on building snaps, or get involved with the Ubuntu Appliances initiative. Talk to us about your application and we can help you snap it up, publish it, and find new users.


Internet of Things

From home control to drones, robots and industrial systems, Ubuntu Core and Snaps provide robust security, app stores and reliable updates for all your IoT devices.

Newsletter signup

Select topics you’re
interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Related posts

Popular snaps per distro (2020 edition)

Back in mid-2019, we wrote a blog post detailing and comparing the most popular snaps across multiple distributions – Arch Linux, CentOS, Debian, Fedora,...

The Hunt for Rogue Time – How we investigated and solved the Chromium snap slow startup problem

In October, we shared a blog post detailing significant snap startup time improvements due to the use of a new compression algorithm. In that article, we...

Introducing etrace – a multi-purpose application profiling tool

These days, the internal workings of Linux applications involve many different moving parts. Sometimes, it can be rather difficult to debug them when things...