Skip to main content
Software Alchemy

The Art and Science of Software Development

Book Review - Learn WinUI 3.0

Learn WinUI 3.0 by Alvin Ashcraft

If you aren't excited about modern Windows development, you will be after you read this book. Learn WinUI 3.0, by Alvin Ashcraft, is a comprehensive and engaging tour of the latest version of the WinUI framework. As stated in the preface, "WinUI 3.0 is Microsoft's first step toward a unified Windows development platform. WinUI allows developers to quickly build Windows applications with styles that adapt themselves to the platform. As the WinUI platform matures, developers will have the ability to target desktop Windows machines, Xbox, HoloLens, Surface Hub, and More." That about sums it up. As a professional Microsoft .NET developer with extensive prior WPF experience, as soon as I read that introductory paragraph I was engaged, already imagining the apps I'd love to build for HoloLens, tablets, and more.

Ashcraft goes on to provide a solid foundation for any developer (having some knowledge of C# and Microsoft technologies) who is interested in learning Microsoft UI development to hit the ground running and build fully functioning applications. The book is chock-full of sample code, links to other resources, and even review questions at the end of each chapter to aid in learning and knowledge retention. Along with core technical concepts, he also provides detailed explanations of the frameworks and toolkits that are available to aid in WinUI development, and why they are important. Learn WinUI 3.0 is an engaging read that will make you want to take a break from Web development, if that's your current focus, and if you're already doing UI development, it'll take your game to the next level.

The book is broken apart into three main sections:

Section 1: Introduction to WinUI and Windows Applications provides a brief history of Windows UI frameworks and XAML (eXtensible Application Markup Language), which is the primary building block of platform application development on the Microsoft stack. Guidance on configuring the development environment follows, and then Ashcraft introduces basic programming concepts of WinUI 3, along with the time-honored MVVM (Model-View-ViewModel) design pattern.

Section 2: Extending WinUI and Modernizing Applications discusses the Fluent Design System, a set of design technologies and patterns for building sleek, modern applications. After that, he goes into using WinUI in Desktop to build applications on the .NET 5 platform. Next, the discussion turns to the Windows Community Toolkit (WCT), a dynamic and extensive open-source library of controls, helpers, tools, and services that greatly enhance the UI development experience. Finally, the section rounds out with an exploration of XAML Islands, a powerful technology that allows for the use of modern WinUI controls in existing WinForms and WPF applications.

Section 3: Build and Deploy on Windows and Beyond goes into detail about more advanced topics, such as the tools and methodologies that are available to help monitor and debug UI applications, and what options are available to package and deploy WinUI applications. Also in this section, he discusses the Visual Studio App Center, Microsoft's DevOps solution for platform development, and even includes a demonstration of how to host an ASP.NET Core Blazor application inside a WinUI app, cleverly bridging the gap between Web and desktop development.

All in all, I found Learn WinUI 3.0 to be an informative and intriguing read about Microsoft's next-generation platform technology, with the potential to build fun and fascinating applications in the years to come.

John

Purchase Learn WinUI 3.0 at Packt Publishing.

If you want to view or submit comments you must accept the cookie consent.