Volume 32 Number 12
By Michael Desmond | December 2017
When the Windows XAML team at Microsoft developed the new NavigationView control as part of the Windows 10 Fall Creators Update, it addressed an important gap in the Universal Windows Platform (UWP) UI. As Jerry Nixon writes in his feature this month, “A Developer’s Guide to the New Hamburger Menu in Windows 10,” internal Microsoft development teams were looking for ways to improve visual alignment and consistency across their portfolio of apps—something that proved difficult to do with the existing SplitView control.
“The internal teams were creating their own hamburger implementations, but they needed to ensure consistent user experience across modalities like pen, ink and touch,” Nixon explains. “They also had very specific requirements around accessibility that were difficult to achieve.”
The NavigationView control helped resolve those challenges, enabling the teams to fine-tune app UXes to meet specific requirements, while providing all the benefits of an in-box control. As Nixon notes, Microsoft-built controls meet “stringent performance, design, localization, support and accessibility requirements that most third-party and open source projects do not.”
Even as Microsoft improves the state of the art in its UWP XAML controls, the company continues work to unify XAML dialects like UWP XAML and Xamarin.Forms around a single target. The XAML Standard specification defines a common XAML vocabulary that enables supporting frameworks to share XAML-based UI definitions. It’s a tricky business that requires balancing the interests of incumbent Windows Presentation Foundation (WPF) and Silverlight developers while winning over UWP and Xamarin programmers. The payoff for those last two audiences, Nixon says, could be big.
“Xamarin is proposing that with XAML Standard they can transpile a UI design into many different platforms, including UWP. This means a developer can write once and get many out of it, but the resulting app for UWP is still UWP XAML transpiled from XAML Standard,” Nixon explains. “When a developer wants to enhance an app on Android or Windows, it takes those specific skills to be successful. So, it does not eclipse UWP as much as it accelerates it.”
Nixon also singles out useful new capabilities like Conditional XAML, which, starting with the Windows 10 Fall Creators Update, allows developers to set properties and instantiate objects at run time based on the presence of a detected API. Conditional XAML lets developers fully optimize the UX while preserving backward compatibility.
As Nixon concludes near the end of his feature article, “No control meets the needs of every developer. No API meets the needs of every design.” That’s certainly true of XAML, which remains a platform in progress with a diverse constituency spanning multiple frameworks and device families. But with its continuing investments, both in tooling and controls and in the larger-scope XAML unification effort, Microsoft seems determined to expand the utility and appeal of XAML.
And it all begins with a hamburger.
Michael Desmond is the Editor-in-Chief of MSDN Magazine.