Uno News

Uno Platform 3.8 – New WinUI Calendar, Grid controls, 2x performance, new Linux scenario and more

The new 3.8 release ports additional WinUI controls and layouts, such as the often-requested CalendarDatePicker and CalendarView controls, to all Uno-supported platforms getting us one huge step closer to the #WinUIEverywhere vision. Also, the new release brings up to 2x performance improvements in some scenarios, realized from the new Grid implementation as well as DependencyObject and UI Elements creation improvements. We also introduced new AOT and features for WebAssembly, built on top of recently released Microsoft work on .NET. On the Linux front we enabled new scenarios so you can target embedded systems using the FrameBuffer as well. In addition to new UI and Performance features and improvements, the team has closed 100+ issues. Closing issues timely is crucial in further fueling large projects enabling customers like Kahua to port a massive line of business applications from desktop to Web. We are particularly proud of the fact that with every release we close more issues than have been opened in the previous period; it shows a healthy open-source project. A huge THANK YOU goes to all our contributors. Now, let us unpack the 3.8 release in more detail. CalendarDatePicker and CalendarView Shout out to @carldebilly, @dr1rrb, @agneszitte-nventive, @kazo0, @sakshi173 The

An Introduction to UI Testing for Uno Platform Applications

Introduction This step-by-step tutorial will take you through setting up your first unit test with Visual Studio and Uno Platform. If you are new to Uno Platform, it allows for creation of pixel-perfect, single-source C# and XAML apps which run natively on Windows, iOS, Android, macOS, Linux and Web via WebAssembly. Uno Platform is free and Open Source (Apache 2.0) and available on GitHub. Why Unit Test? Performing unit tests is a good practice for developers. Running unit tests is important for good quality and maintainable code. A unit test helps find errors in your code in a very easy manner. Unit testing helps reduce the cost of bug fixes. Prerequisites Visual Studio with Uno Platform Create a New Uno Project Open Visual Studio and click on Create new project. Search for the Uno templates, select the Cross-Platform App (Uno Platform) then click Next. Name your app. You probably want your project and solution to use the same name as your app. Put it on your preferred location for projects and click “Create”. Uno.UITest for Uno Platform The testing is available through: Selenium for WebAssembly apps, using Chrome Xamarin.UITest and AppCenter for iOS and Android apps. Note: The following target

New Uno Platform Docs Launched

Today we rolled out our new documentation site – https://docs.platform.uno – with improved readability, full-text search, and a tutorial section with a number of additional how-to articles. This has been consistently a key issue in feedback from the Uno community and with these steps we are starting to deliver improvements to our docs.   No documentation site is ever finished. We will continue to improve our documentation and invite you to be a part of this process. Every page is editable, and you can make your contribution by clicking “Improve this Doc” button. If there are pages, you’d like us to add, and which you can populate with your i.e. “how-to” articles, just file a Documentation Request on our GitHub. Or if you need help in beginning to contribute, feel free to reach out to us at info@platform.uno

Uno Check
Announcing: uno-check – a health check for your Uno Platform dev environment

We try to make getting into Uno Platform as easy as possible, but it can be challenging to get set up for multi-platform development. Nobody wants to be fighting with their environment when they could be coding instead. For that reason, we’ve just released the uno-check dotnet command-line tool. When you run uno-check on your machine, it checks your system to make sure you have all the prerequisites for Uno Platform development installed and up to date. If it finds problems, it either offers to fix them for you, or provides instructions to fix them yourself. Once uno-check gives you the green light, you’re all ready to go. It’s similar to the ‘flutter doctor’ tool for Flutter, or maui-check for .NET MAUI. In fact, the underlying implementation of uno-check is forked from maui-check’s implementation. Shout out to Jonathan Dick aka ‘Redth’ for developing the initial maui-check solution! Here’s how it looks in action: How to run uno-check Make sure you have the dotnet SDK installed. Open a command-line prompt. If you’re on Windows, you can run Windows Terminal if you have it installed, or else Command Prompt or Windows Powershell from the Start menu. If you’re on Mac, you can

GUI Innovations Controls Helper for Uno Platform

One of Uno Platform fans and Microsoft MVPs, Pete Vickers, has created a way of generating the XAML to create controls in your code. This add-in will allow you to create Uno Platform Controls in your XAML file. Simply right-click in your XAML file and choose your control. Once generated, you can further tune them to your requirements. Released as an add-in to Visual Studio, Uno Controls Helper will allow you to choose from a pre-set of properties for a control, and will generate the XAML and insert it into your XAML code. Currently these are the supported controls: • Grid • Button • TextBlock • TextBox • PasswordBox • Date/Time Picker • Radio Buttons • Check Box • ComboBox • ListView • Image You can see step-by-step instructions on how to use this utility either on Pete’s site GUI Innovations – Uno Controls Helper (gui-innovations.com) or in this short YouTube video.

Hosting Uno Platform WebAssembly apps on Azure Static Web Apps

This article covers : Creating a GitHub repository and cloning it using Visual Studio. How to create an Azure Static Web App and configure it to pull from your GitHub repository. Creating an Uno Platform WebAssembly application and committing it to your repository. Note: A shorter Version of this article for those with more experience with Azure is available here in Uno Platform’s documentation. Suppose you have an idea for an Uno Platform WebAssembly application and you’re also thinking about how you could host it. In the past you may have used CDNs (Content Delivery Networks) for things like JavaScript libraries because the network distributes the files around the world. Being distributed around the world, the files are physically closer to your users which speeds up a browser’s request for the file compared to if the file was served from a single server on the other side of the world for example. Because an Uno Platform WebAssembly application is all client-side (all the work happens in the browser), what you have is a static web app. While you could host your static web application with a traditional hosting service, that would limit its potential. That’s because one of the main

Kahua uses Uno Platform, WinUI and Azure to deliver a multi-platform app four times faster than anticipated

Kahua provides project management and collaboration software focused on real estate, engineering, construction, and operations industries. Kahua’s solution helps manage project and program costs, documents, and processes from inception through implementation to improve efficiency and reduce risk. Recently Kahua has been selected by US General Services Administration (GSA) Public Building Service for its new management information system to manage 8600+ assets, with 370 million square feet of workspace for 1.1 million federal employees and preserve 500+ historic properties. By using Uno Platform, Kahua were able to go to market four times faster than anticipated. “By combining Microsoft WinUI 3 and Uno Platform we are able to provide our customers with features, functionality and security that is simply unachievable with any other solution” – said Colin Whitlatch, CTO of Kahua.     The Challenge & Technical Requirements Kahua needed a future-proof solution which builds on its legacy desktop application, while using C#, XAML and Azure skillsets of its developers. Kahua had a short timeline and a recurring imperative to bring new features to market quickly, on different devices – from desktop to web and mobile. In addition, Kahua’s developers wanted to reduce the time to market by maintaining a single codebase

Uno Platform 3.7 – More WinUI, Project Reunion and Linux Support, Wasm Performance Boost

Uno Platform 3.7 expands our support for the newest WinUI, Project Reunion and Linux, all while continuing performance improvements for WebAssembly head. Extending WinUI Support We are continuing the #WinUIEverywhere path by adding support for XAML behaviors for the newly-released WinUI 3. XAML Behaviors is an easy-to-use means of adding common and reusable interactivity to your Windows applications with minimal code. With Uno Platform, you can take it to any mobile, web or desktop platform. Previously, we provided support for XAML Behaviors for Windows UWP applications, and we have now been upgraded it to support Windows WinUI and Uno Platform applications as well. We also contributed the Prism Library support for Uno Platform and Project Reunion – WinUI 3. This was merged very recently in the preview bits and will be available as part of the next release. Big thanks to Dan Siegel and Brian Lagunas for their support to get this massive PR merged (200+ files changed!). New WinUI Control ported – SwipeControl The SwipeControl is part of the WinUI 2 library, and is used a lot on touch devices. We ported this control to Uno Platform to enhance the user experience of your apps: GTK/Linux TextBox support By

Launch 2021– community contest for best WinUI, UWP and Uno Platform applications

The Launch Competition brings together Windows developer community in friendly competition and serves as a platform for launching and updating their Windows applications. This annual event is hosted by the community behind UWP Community Discord. We are proud to sponsor the prizes for this year’s competition and help Launch evolve further. This year’s event promises to be bigger than ever and it has just (re) opened its doors for submissions! Categories: In launch 2021 you will be able to enter two categories: Windows Category: New and refreshed Windows applications built by UWP and WinUI. Multi-platform Category: New and refreshed applications built for Windows AND also extended to at least one more additional platform by using Uno Platform. Any additional platform Uno supports is welcome -Web, macOS, Linux, iOS or Android. Prizes: In each of the categories you will be able to win: 3rd prize – Raspberry Pi 4 Starter PRO Kit 2nd prize – Bose Noise Cancelling Headphones 1st prize – DJI Drone with 4K Camera Additionally, every participant in multi-platform category will receive Uno Platform t-shirt Timeline: May 24th – Registration Ends Aug 23rd – Coding ends / Application entries finalized. Aug 23 – August 30th – Judging period