The Windows Calculator on Linux with Uno Platform

Rhys Davies

on 15 October 2020

This article is more than 4 years old.


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

Get the latest Ubuntu news and updates in your inbox.

By submitting this form, I confirm that I have read and agree to Canonical's Privacy Policy.

Related posts

Managing software in complex network environments: the Snap Store Proxy

As enterprises grapple with the evolving landscape of security threats, the need to safeguard internal networks from the broader internet is increasingly...

Improving snap maintenance with automation

Co-written with Sergio Costas Rodríguez. As the number of snaps increases, the need for automation grows. Any automation to help us maintain a group of snaps...

Snapcraft 8.0 and the respectable end of core18

‘E’s not pinin’! ‘E’s passed on! This base is no more! He has ceased to be! ‘E’s expired and gone to meet ‘is maker! ‘E’s a stiff! Bereft of life, ‘e rests in...