Learn WinUI 3.0: Leverage the power of WinUI, the future of native Windows application development
J**S
A Comprehensive Guide to Development on Windows Platforms with WinUI 3.0
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 potential to build fun and fascinating applications in the years to come.John JacobsFounder, Jacobs Data Solutions, Inc.
K**N
Short on MVVM
I truly looked forward to getting this book, and I have read the entire text. The text is well-written, but the content is lacking. This is one of those books that teach you how to do things the wrong way and at the end teaches how to do things the right way, all the while doing an entire project the "wrong" way. In this case, I refer to the MVVM design pattern, which is an industry standard and conceptually similar to MVC. Fortunately, the book early on describes the Windows CommunityToolkit, which is a Microsoft-sponsored library that augments the .NET libraries. This NuGet package set provides many tools for WPF, UWP and WinUI that still are not implemented in the .NET libraries. Perhaps this is similar to the BOOST library for C++, a testbed before final inclusion in the official libraries. I really wanted to give a higher rating to this book, but its brief treatment of MVVM and its overuse of code-behind to me is unforgivable.
M**D
Both editions are great, but second adds some nice touches
In a past life I was a Windows desktop development specialist, loving WPF development. Since then I've not followed the Windows Desktop scene as closely, but Alvin's book brings me back. The second edition of WinUI 3 does a great job of giving an overview of WinUI development by building a sample app and discussing controls, data binding, MVVM, dependency injection, styling, and deployment of said application. It even ventures into unexpected territory with discussions on using UNO to make cross-platform apps using XAML and using WinUI to host Blazor user experiences. Bottom line: I found something useful in every chapter and it made me dream of developing for Windows once more.
M**R
Great book to learn how to build mordern day windows apps
This book covers eveything from setting your IDE to building and packing windows based appThe chapters are well arranged! The chapters have enough code to do hands on learning!
G**Y
An Excellent Book in the 1st Edition Now Even Better in the 2nd Edition
Learn WinUI 3 is an excellent guide for developers targeting Windows applications, and in the 2nd Edition, other platforms as well! The original book has been completely updated, and several brand-new chapters have been added.My favorite new chapter, "Take Your App Cross-Platformwith Uno Platform", shows step-by-step how to build not only Windows apps but also how to use and test mostly the same code for Android and WebAssembly using Uno Platform, a popular open-source platform for cross-platform development.WinUI technology has been maturing, and Learn WinUI 3 2nd Edition does a nice job of reflecting the positive changes in WinUI. Definitely recommended!
J**T
Dated and confusing
The URL links are dated. Many resources are no longer used or not available. Significant differences in VS 2019 and 2033 are major contributors.Updated for current tools might make this a solid source. As it is, it does not make.
R**K
Already out of date
This starts out well, but when you get to chapter 4, following along with the examples starts not working. The book was written based on a pre-release version on Win UI 3 and the release version has just enough changes so that at chapter 4, the examples no longer work. With a lot of searching on the internet, you can generally find how to make things work, but I didn't really find it was worth the effort. The book needs to be revised to reflect the release version of Win UI 3.
R**N
A great for modern UI
This is a great start for the good UI design. This helps to design an interactive UI in WPF. Responsiveness using WinUI 3.0 is very easily achieved. I have an experience in WPF and UWP this book kind of helped me to get into more knowledge on the MVVM. Also this more informative on the debugging technique and crash report analysis which turned out to be useful for the people who are working in Windows applications.
F**T
Une approche claire et progressive
Ce livre offre une approche claire et progressive, c'est le seul pouvant traiter ainsi de WinUI 3. Cette nouvelle version très est bien adaptée WinUI3.This book offers en clear and progressive approach, it is the only one I found for WinUI3. All exercices are now fully applicable to the present version of WinUI3.
A**D
Más problemas que soluciones
Si quieres migrar una app "desktop" Win32 este no es tu libro. Da una visión genérica de WinUI. Los ejemplos se centran en C# y XAML. No aparece C++. No hay ningún tutorial que vaya más allá de una pantalla simple con cuatro datos. Además, lógicamente, usa una beta 0.5. Esperaba sacarle mucho más partido pero va a ser mejor devolverlo.
A**M
Unterirdisches Buch
Das Buch geht überhaupt nicht auf WinUI ein. Jeder "normale" WPF oder UWP Buch hat den gleichen Inhalt. Das Buch ist absolut nicht für Entwickler geeignet die schon mit XAML gearbeitet haben. Ich habe mehr Informationen im Internet über WinUI gesammelt als hier im Buch. Das Geld kann man sich sparen!!!
J**S
Definitely recommended as an introduction
The writer of this book certainly had a few decisions to make when writing this book - writing for a new software product when it is still in development is never an exact science anyway, but here the WinUI 3 platform is designed to sit on either a UWP stack or a .NET 5 stack so there are certainly some differences in implementation to be aware of. It doesn't help that the main Microsoft documentation for WinUI is now heavily polluted for determining which reference code relates to which implementation (mainly UWP), and that the .NET 5 documentation for WinUI 3 at the time of this review is still very under-developed. I think WinUI 3 is something that .NET 5 developers will be interested in because it allows programming for the modern Microsoft UI (love it or hate it) without the restrictions of UWP (e.g. lack of direct access to USB devices).With the advent of Project Reunion and the associated introduction of WinUI3 some introductory material is essential for developers new to the platform, and this book provides a very good place to start. It begins with introducing the reader to the WinUI model and to XAML, which the developer really needs to become comfortable with. A big plus for me was around chapters 3 and 4 which really filled in some important gaps in my knowledge from my few months of self-taught WinUI 2.4 noodlings, in fact these 2 specific chapters were, to me, worth the cost of the book alone. The rest of the book efficiently deals with understanding the various controls that the WinUI platform offers, local data storage, debugging and packaging.The book contains a few features which are certainly nor irrelevant but for my personal choice I would rather have seen the writer spend his time targeting certain other features. For example, there are sections about Blazor and the Map control - these are in no way irrelevant but I think it would have been more useful to have spent that time introducing topics such as Visual State Triggers and by answering a few basic how-to questions that a first time developer is going to have to rummage through the internet to find e.g. how to set a window icon, or changes to the CoreApplicationView. Similarly, there are places where the author has chosen to explain things in the UWP sense (although he does point out where he is doing this) - for example the app lifecycle, where the .NET 5 implementation does not have a Window Closing event. This is despite a UWP implementation of WinUI not planned to be available for the initial launch of the technology, as is also the case for XAML Islands.However, I mention all this because I'm taking the opportunity to provide constructive (I hope) feedback. This book would hopefully form the basis for a second edition whereby the breaking-changes have had time to be resolved (e.g. there were some 11th hour changes even after the final preview) and to go into further details on some topics - I would certainly spend my money for a second time on such a book.A very capable guide through project creation, discussing the various tools, controls and techniques to code a WinUI app, and how to test and package it. Recommended!
C**M
Good introduction
By chapters 6/7 the directions start to fall short and it's necessary just to download the Completed chapter versions. The transition from In memory DataService to SqlDataService isn't well explained and the Complete version maintains a now redundant DataService class which serves to confuse. An option to use SQL Server instead of SQLite would be welcome although this can be achieved quite easily by adding the Microsoft.Data.SQLClient NuGet package instead of the SQLite equivalent and applying some small mods to the SQL syntax. Use of MVVM Toolit would also be welcome.
Trustpilot
2 weeks ago
1 month ago