The Windows Calculator on Linux with Uno Platform

by 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.


Newsletter Signup

Related posts

How to make snaps and configuration management tools work together

In environments with large numbers of client machines, configuration management tools are often used to simplify and standardize the target state of each host in a seamless, automated and consistent manner. Software like CFEngine, Chef, Ansible, and others offer a high degree of granular control over software packaging and system configur […]

Stepping Down Gracefully

The Snap Store has been designed to enable upstream developers and enthusiastic community contributors to publish snaps. As with most Linux packaging solutions, the wider community are often responsible for starting and maintaining software packages. This is a double-edged sword, especially for humans with limited life spans and other shi […]

The Expandables – snapcraft extensions and the secret code

If you’re a snap developer, you know that snap development is terribly easy. Or rather complex and difficult. Depending on your application code and requirements, it can take a lot of effort putting together the snapcraft.yaml file from which you will build your snap. One of our goals is to make snap development practically easier […]