Microsoft .NET Conf: Focus on AI

MMS Founder
MMS Arthur Casals

Last month, the latest edition of the .NET Conf: Focus series for 2024 took place, featuring AI development topics. The event targeted developers of all levels, with both informative and hands-on sessions showcasing how to use artificial intelligence within the .NET ecosystem. This was one of the most technical events ever in the Focus series, with many high-quality, deep-dive sessions.

The focus series is a branch of the original .NET Conf, an annual event organized by the .NET community and Microsoft that showcases the latest developments for the .NET platform. Each focus event targets a specific .NET-related technology, providing a series of in-depth, hands-on sessions aimed at .NET developers. The focus conferences are free, one-day live-streamed events featuring speakers from the community and .NET product teams.

.NET Conf: Focus on AI was a singular event within the Focus series, since it aimed at exploring the intersection of the latest advances in AI and the .NET ecosystem. As a result, this event had sessions ranging from introduction to AI-related topics (such as Retrieval-Augmented Generation) to deeply technical sessions on using AI tools and techniques when developing .NET applications.

The conference started with a keynote from Microsoft’s Scott Hanselman, Vice-President of Developer Community, and Maria Naggaga, Senior Program Manager on the Visual Studio and .NET team. While emphasizing that AI is a core component of the future .NET applications, they set the tone for the rest of the conference, addressing the evolution of current applications into truly intelligent applications.

The presenters discussed many current AI topics and techniques, such as Ethics and RAG (Retrieval-Augmented Generation) – the latter being extremely interesting, especially to .NET developers not too familiar with the AI landscape. Naggaga explained the basics of RAG, illustrating how it could be particularly effective in customer support scenarios that combine the use of AI with real-time retrieval data. Together with Hanselman’s demonstration of how GitHub Copilot could be used as an intelligent pair programmer, the keynote revolved around using contextual, domain-specific data with intelligent (AI) applications.

The second session in the agenda was presented by Stephen Toub, one of Microsoft’s Distinguished Engineers on the .NET team. This session focused on how to get started with incorporating AI into existing .NET applications. For this purpose, Toub live-coded a console application, ultimately showing how Semantic Kernel can be used to abstract the use of AI services from the application logic layer.

Daniel Roth, Program Manager on the ASP.NET team at Microsoft, followed with a hands-on session on building interactive AI-powered web apps with Blazor and .NET. This was a particularly useful demonstration of using existing AI components for .NET development to provide better user experiences. Another very interesting session was presented by Bruno Capuano, AI and .NET Advocate at Microsoft. He showed how to integrate AI models within .NET application using a practical scenario involving the use of local and remote small language models – which was well-received by the audience due to the complementary use of local and remote instances of Microsoft’s Phi-3 for text and vision.

The remainder of the sessions were short (approx. 30 minutes), covering or extending topics mentioned in the keynote. While the majority of the sessions explored the use of cloud-based services (Azure), all of them provided great practical insights for developing AI-powered ,NET applications. Other interesting sessions in the event included: using AI agents to automate business workflows, building a personalized AI assistant with the Teams AI library, and using vector embeddings in .NET environments to power recommenders and RAG applications.

A relevant key takeaway for the conference is related to the audience’s reaction to the sessions – more specifically, the overall concerns related to adopting AI in the new generation of applications. The primary concern of the audience was related to privacy: during the event, there was consistent concern related to the use of confidential organizational information with RAG, since the concept is based on contextual, domain-specific-data. While there was not a dedicated session to address this concern, the engineers answering the live questions considered publishing a technical article addressing this point (yet to be published).

Following privacy, the second greatest concern was related to costs: since most of the practical solutions presented at the event involved Azure services, the audience was clearly worried about the costs of using them – a lesson learned from past cloud projects. Also, there was a recurrent question about the possibility of ML.NET being abandoned by Microsoft – which certainly poses an interesting discussion, especially considering the increasing mention of other tools and integrations in the latest posts on AI by Microsoft.

The complete agenda for the event can be found here, and the complete recording of this event is available on YouTube. Also, the repository containing all session slides and the primary demo used in the hands-on sessions can be found on GitHub.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.

Uno Platform 5.3 Released, Including JetBrains Rider Official Support

MMS Founder
MMS Arthur Casals

A few weeks ago, Uno released version 5.3 of their multi-platform UI framework for .NET developers. The highlight of the new release is the official support for JetBrains Rider. Other relevant features include an improved Hot Reload experience, two new UI controls, new font options, and support for SkiaSharp 3 Previews.

The Uno Platform acts as a bridge for WinUI and UWP apps to run natively on iOS, macOS, Android, Linux, and WebAssembly. It is built over different technologies (Xamarin Native Stack, Mono-WASM, and Skia, depending on the target platform), allowing the creation of single-source C# and XAML applications with responsive design and pixel-perfect control and using a single codebase.

With the new release, the Uno Platform introduces official support for JetBrains Rider through a new extension on the JetBrains marketplace. According to the company, this addresses a request from the community, bringing productivity advantages to developers using Rider:

Rider support has been a top request in our recent developer surveys […]. Starting this release, the development experience Rider developers have is on par with that of Visual Studio and VS Code developers. What this means in practice is that you can enjoy the full set of developer productivity enhancers such as C# and XAML Hot Reload for Uno Platform apps and debugging.

A full list of supported scenarios for developers using the new extension can be found here.

Another relevant feature of this release is the improved Hot Reload experience. “Hot Reload” refers to the ability to instantly see the effects of any code changes in a project. With the new release, a new visual indicator displays new information every time Hot Reload is triggered, helping the developer to monitor any changes in the code. The new feature is available on all IDEs for all targets that Uno Platform supports, except for WinAppSDK (since it has its own Hot Reload indicators).

The new release also introduces the support for a new default font for all platforms, using Open Sans. This is a relevant change since the default font on WinUI is Segoe UI, which is not supported on macOS, Linux, or browsers running in either these systems. Also, as a result of this feature, Uno now supports the use of Variable Fonts through the use of a font manifest. Using a font manifest allows specifying where a single variable font file can be used (the Web) and where multiple files may be used (Skia Desktop).

Other features in this release include two new UI controls: ItemsView (available for desktop applications) and SelectorBar (available for Skia Desktop targets). It also includes support for SkiaSharp 3 Previews.

Uno Platform is open source (Apache 2.0) and available on GitHub. The list of supported platforms includes Windows, iOS, macOS, Android, and Linux. It can be used with Visual Studio Code, Visual Studio 2022 for Windows (17.8 or later), and JetBrains Rider (2024.2 or later). The new release supports .NET 8 and later (up to .NET 9 Preview 6). At this point, Uno itself is built using .NET 9, which is part of the team’s effort to be ready to support .NET 9 on day 0 of its official release.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.

Uno Platform 5.3 Released, Including JetBrains Rider Official Support

MMS Founder
MMS Arthur Casals

A few weeks ago, Uno released version 5.3 of their multi-platform UI framework for .NET developers. The highlight of the new release is the official support for JetBrains Rider. Other relevant features include an improved Hot Reload experience, two new UI controls, new font options, and support for SkiaSharp 3 Previews.

The Uno Platform acts as a bridge for WinUI and UWP apps to run natively on iOS, macOS, Android, Linux, and WebAssembly. It is built over different technologies (Xamarin Native Stack, Mono-WASM, and Skia, depending on the target platform), allowing the creation of single-source C# and XAML applications with responsive design and pixel-perfect control and using a single codebase.

With the new release, the Uno Platform introduces official support for JetBrains Rider through a new extension on the JetBrains marketplace. According to the company, this addresses a request from the community, bringing productivity advantages to developers using Rider:

Rider support has been a top request in our recent developer surveys […]. Starting this release, the development experience Rider developers have is on par with that of Visual Studio and VS Code developers. What this means in practice is that you can enjoy the full set of developer productivity enhancers such as C# and XAML Hot Reload for Uno Platform apps and debugging.

A full list of supported scenarios for developers using the new extension can be found here.

Another relevant feature of this release is the improved Hot Reload experience. “Hot Reload” refers to the ability to instantly see the effects of any code changes in a project. With the new release, a new visual indicator displays new information every time Hot Reload is triggered, helping the developer to monitor any changes in the code. The new feature is available on all IDEs for all targets that Uno Platform supports, except for WinAppSDK (since it has its own Hot Reload indicators).

The new release also introduces the support for a new default font for all platforms, using Open Sans. This is a relevant change since the default font on WinUI is Segoe UI, which is not supported on macOS, Linux, or browsers running in either these systems. Also, as a result of this feature, Uno now supports the use of Variable Fonts through the use of a font manifest. Using a font manifest allows specifying where a single variable font file can be used (the Web) and where multiple files may be used (Skia Desktop).

Other features in this release include two new UI controls: ItemsView (available for desktop applications) and SelectorBar (available for Skia Desktop targets). It also includes support for SkiaSharp 3 Previews.

Uno Platform is open source (Apache 2.0) and available on GitHub. The list of supported platforms includes Windows, iOS, macOS, Android, and Linux. It can be used with Visual Studio Code, Visual Studio 2022 for Windows (17.8 or later), and JetBrains Rider (2024.2 or later). The new release supports .NET 8 and later (up to .NET 9 Preview 6). At this point, Uno itself is built using .NET 9, which is part of the team’s effort to be ready to support .NET 9 on day 0 of its official release.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.