News

Microsoft Build 2023 – Takeaways from Offline Sessions and Experience

Share on twitter Share on linkedin Share on reddit At the end of May, I had the tremendous opportunity to attend Microsoft Build 2023, the premiere developer conference from Microsoft. This year it finally returned to a fully hybrid form, and I was lucky enough to be there in person in Seattle. While most of the sessions were aired live so everyone could watch them online, some remained in-person only – and I would love to share a few with you today! Microsoft Build Q&A sessions The most valuable sessions I have attended this year at Build were the Q & A sessions, which were unfortunately in-person only. These were held in small rooms for about 30 attendees each, with the team members behind a featured product answering questions from the audience. I attended four of these in total. Microsoft Store Q&A In the Microsoft Store Q&A session, the developers explained how they strive to make the Store app the best showcase of Windows app development by adding beautiful (but at the same time meaningful) animations and transitions throughout the product and trying to include a wide range of available APIs. It was surprising to hear that the Store itself does

New Release: Media Player Element on Mobile, Web, Linux. WebView2 Support

Share on twitter Share on linkedin Share on reddit Uno Platform 4.9 release continues enhancing cross-platform development experiences and productivity. This release brings two highly anticipated features alongside over 100 other improvements. First and foremost, .NET developers can now get easy access to highly-requested MediaPlayerElement control which can be used across all supported platforms. Whether your target is iOS, Android, Web, Mac, Linux, or Windows itself, this guarantees consistent and seamless media playback experiences across devices. We’re also introducing WebView2 support for iOS, Android, and Mac Catalyst. This addition allows effortless integration of web content into your Uno Platform applications, delivering dynamic and immersive web experiences across multiple platforms. While these two standout features take center stage in Uno Platform 4.9, we cannot overlook the invaluable contributions of our dedicated team and community. Big Shoutout to every individual who played a vital role in shaping this release. Cross-Platform Media Player Element As of today, you can easily create single-codebase solutions for cross-platform applications and reuse the rich and robust Media Player Element from Windows UI. It’s another example of how the existing component ecosystem can be brought forward and significantly improve your developer velocity. The MediaPlayerElement control is already available in Uno

Hosting Native Controls – Moving from Xamarin Forms Renderers to Uno Platform Controls

Share on twitter Share on linkedin Share on reddit In this blog post we will look at a common technique in Xamarin Forms to customise native platform controls and how we can achieve the equivalent result using Uno Platform. You can follow along with the source code for both the Xamarin Forms and Uno Platform projects used in this blog. What are Renderers? First let’s look at what a custom renderer is and why you might use one. Xamarin Forms provides a hierarchy of UI controls which can be created in code or XAML. The framework contains controls for all the common controls on each supported platform even though the functionality varies from iOS, Android, and other operating systems. Therefore, each control contains firstly the cross-platform control code, which defines the dependency properties, methods and events which form the public API for the control. Additionally, there is a renderer required for each native platform. The job of the renderer is to map the native API to the public Xamarin Forms API and handle drawing and appearance so that the control behaves correctly in the Xamarin Forms layout system. The amount of work a renderer must do depends on how closely the native control

Design and Navigation Considerations when Building Multi-Platform Applications

Share on twitter Share on linkedin Share on reddit In today’s world, it is essential for any application to be accessible across multiple platforms to reach a wider audience. However, building a multi-platform application leads to some unique design and navigation considerations. In this blog post, we will discuss the key factors developers should keep in mind while building a multi-platform application. Understanding Design and Navigation for Multi-Platform Applications Before we get into the specific design and navigation considerations, it’s helpful to step back and look at the high-level challenge of building applications that work on any screen size or orientation, in other words, a multi-platform application. The term form factor often refers to the device’s physical characteristics where the application will run. These characteristics might include its size and orientation, whether it’s a phone, tablet or desktop, and whether it’s equipped with a touch screen. While some applications will be built with a single device form factor in mind (for example, a standard tablet that an organization rolls out for a specific line of business application), most applications will have to adapt to the device the application is being run on. As you can imagine, it’s almost impossible to

How To Create A New Solution Using Uno Platform’s App Template From Visual Studio

Share on twitter Share on linkedin Share on reddit We recently announced our 4.8 release and in it, the new startup experience. The release was jam-packed with new features, and we wanted to highlight the new project creation experience in a dedicated blog because it is so crucial to our project.   https://uno-website-assets.s3.amazonaws.com/wp-content/uploads/2023/03/21161532/Template-studi.mp4 Why Make the Change in Visual Studio New Project Creation? If you’ve followed Uno Platform, you’ll have noticed it’s evolved beyond a simple UI framework into a full-fledged productivity platform for .NET developers, which expands beyond UI. In addition to UI capabilities, Uno Platform offers an extensive range of extensions, theming libraries, and add-on tooling for VS Code and Figma. However, with our rapid release cycle of 6-8 times per year, it can be difficult for developers to keep up with new tooling and optimize their workflow. So we wanted to change that. The technology stack we unify and build upon, including .NET, Visual Studio, and WinUI/WinAppSDK, has undergone rapid change, making it challenging for end developers to navigate and assemble all the necessary pieces with the correct versions. In response to feedback from our roadmap survey, we’re thrilled to announce the new Solution Template Wizard for

Uno Platform 4.8 – App Template Wizard, OpenGL Acceleration, .NET 8, DSP Import, Resizetizer and more

Share on twitter Share on linkedin Share on reddit We’re excited to announce our second release for 2023, which includes over 200 fixes and product improvements, as well as support for .NET 8 Preview 2. As promised, we’ve been hard at work on the improvements you requested in our 2023 Roadmap survey. One of the top requests was to make the startup experience with Uno Platform as seamless as possible. In response, we’ve introduced a new startup experience designed to make setting up new projects with Uno Platform easier and more flexible than ever before. The App Template Wizard will guide you through setting up your project, allowing you to choose as many or as few pieces of Uno Platform as you desire. So, starting a new Uno Platform project is easier than ever moving forward! As with every release, we significantly improved performance across all supported platforms. In addition to multiple in-memory and runtime performance improvements, we are introducing OpenGL acceleration for Uno Islands, which are typically used in WPF modernization scenarios, showing 12x improvement over software rendering. In addition, TextBlock rendering was improved for all Skia backends, showing 5x improvements in common scenarios. Let’s take a deeper look

Disabling Individual GridView and ListView Items in a XAML Application

Share on twitter Share on linkedin Share on reddit One of the most significant aspects of the XAML-based applications is the concept of lookless controls. This means that controls can be restyled without changing the behaviour. The Windows App SDK and Uno Platform provide out-of-the-box styles for GridView and ListView controls, offering a great starting point for working with these controls. In this post, Nick Randolph digs into  being able to disable individual items. The default style for these controls includes a Disabled state, which is applied to each item when the IsEnabled property on the control is set to true. However, in some scenarios, it may be necessary to disable individual items. Unfortunately, unlike many other aspects of the GridView and ListView controls, there’s no easy way to disable individual items. Let’s dig into this and look at why it’s difficult and a workaround that can be used. For the rest of this post, we will focus on the GridView, but everything we cover can be applied equally to the ListView control. Disabling Items via IsEnabled on GridViewItem The GridView control has several templates that control how the control is styled. A ControlTemplate for the GridView defines things like

I asked ChatGPT to Compare Xamarin.Forms Shell Navigation and Uno Platform Navigation

Share on twitter Share on linkedin Share on reddit We wanted to put ChatGPT to a small test; to compare Xamarin.Forms Navigation and comparable offering from Uno Platform, the recently released Extensions package, which contains Navigation, among other things. So I asked ChatGPT to compare Xamarin.Forms Shell Navigation and Uno Platform Navigation. Check out the results and commentary below. First, let’s see how it did, and after you read the ChatGPT version, look for our commentary on its results. ChatGPT Introduction Mobile application development has been revolutionized with cross-platform development frameworks such as Xamarin and Uno Platform. Xamarin Forms Shell Navigation and Uno Platform Extensions Navigation are two of the most popular navigation frameworks for building cross-platform mobile applications. Both of these frameworks provide powerful navigation features, but there are some key differences between them that make them better suited for different types of applications. In this blog post, we will compare Xamarin Forms Shell Navigation and Uno Platform Extensions Navigation and see how they differ. Xamarin Forms Shell Navigation Xamarin Forms Shell Navigation is a navigation framework introduced in Xamarin Forms 4.0. It provides a new way to structure and navigate your Xamarin Forms applications. Xamarin Forms Shell Navigation

Uno Platform 4.7 – New Project Template, Performance Improvements and more

Our first release of 2023 is ready and brings over 230 new features and bug fixes, most notably introducing a new project template, improving performance across all platforms supported by Uno Platform and Shared Fonts. The New Project Template is especially exciting as it helps us set up a wave of innovation for 2023, where we plan to make you super productive in building with .NET. Sign up for our newsletter to stay informed about exciting new releases coming VERY soon. Especially exciting for us is the share of contributions we had from the community during this release; thank you all for contributing! New Project Template Uno Platform 4.7 brings an updated solution template without using a Shared project. In our 2023 Community Survey, we’ve heard the community feedback about this aspect of our templates being commonly confusing. Thank you for bringing this forward so vocally! Here’s a high-level look at a solution: In this updated solution template, the “Shared Project” is replaced by a regular cross-platform library containing all user code files. This also implies that package references can be included in a single location without the previous need to include those in all project heads. As a bonus,