Uno Platform Update Highlights New Linux Support
Uno Platform, an open source project that enables coding single-codebase, multi-platform web, mobile and desktop apps with .NET-centric technologies like C# and XAML, highlighted preview support for the development of Linux applications in a new version 3.1 update.
Linux support was previewed in a previous v3.0 update just a couple months ago, when the company said, "You'll be able to create a template that includes Skia support for Linux using dotnet new templates, using Uno 3.1 latest pre-release nuget packages."
The company on Oct. 23 announced those v3.1 packages weren't pre-release anymore. "Originally announced at UnoConf 3.0, the first preview release of the Linux and Windows 7 support using a new Skia rendering backend is here," the company said.
Documentation for targeting Linux is available here.
Uno Platform also showed off its new Linux chops in an example project that ported the old, C++ based Windows Linux calculator to Linux last month, as shown in the figure above.
Along with preview Linux support, the v3.1 update includes more than 70 new features and closed more than 140 code and documentation issues.
On the new feature front are TabView and TreeView controls for WinUI applications, provided with the help of community contributors to the open source Uno Platform. For now the WinUI 2.x TabView comes in Skia and WASM implementation, with support for other platforms in the works.
Also new is a WinUI color picker for iOS and Android mobile apps, along with templates for the new release of Prism 8.0, a framework for building loosely coupled, maintainable and testable XAML applications in WPF, Xamarin Forms, Uno Platform and WinUI. Documentation for using the templates is provided here.
Other features and fixes include:
- Improvements to the VSIX/dotnet new updates, such as new item templates in the VS, .vsconfig support to suggest VS missing features to install, and Skia/Linux templates
- The support for StorageFile.GetFileFromApplicationUriAsync, to use large assets packaged with the application, something particularly useful in the WebAssembly context.
- ScrollViewer XAML ScrollBars for WebAssembly and Skia
- WebAssembly support for Canvas.ZIndex
- Support for x:Bind plain C# objects bindings, as well as Bindings.Update()
- Windows.Globalization.Calendar updates, paving the way for Date and Time pickers
- FolderPicker support for macOS (Thanks @MartinZikmund)
- BadgeNotifications for Android and iOS (Thanks @MartinZikmund)
- Page supports background brushes
- Fixes for NavigationView navigation items binding
- Voice over support for WebAssembly
A getting started tutorial for a single page app is available to newbies interested in the project that is developed on GitHub.
David Ramel is an editor and writer for Converge360.