This article is more than 1 year old

Metro app meets Windows 10. A Microsoft win? Maybe after a little improvement

Hands on with the preview tools for the UAP

Hands on with the developer tools

Following the release of the preview developer tools, I was quick to install and try coding some simple UAP apps.

Working with the new developer tools can be frustrating. One problem you may encounter is that dragging a control from the Visual Studio toolbox to the design surface breaks the app, by adding an reference to the Windows assembly (a library file) to the project.

The project no longer builds because of a ton of duplicate references. This bug is a clue to how a UAP project works. You are no longer targeting Windows directly, but rather the Universal App Platform, which is defined in an XML file buried in the SDK.

“Consider this is an early preview of the upcoming toolset,” said Microsoft product manager for the developer platform, Cliff Simpkins. “The controls and tooling are definitely not complete, and intended for evaluation, not for writing real code or apps.”

Working mainly with XAML (the layout language for WinRT) and C#, I put some controls on a page and compared the new UAP default look with the same XAML compiled as a Windows 8 Store app.

The differences are not huge, but the new one looks better, with larger text, a more elegant switch button, and an improved DatePicker that lets you click once instead of three times to select a date. You could adapt an old Store app to look the same, but the default appearance is important.

Store app and Universal App side by side

Store app and Universal App side by side

Tastes vary, but it would be hard to describe Microsoft’s UAP as beautiful by default. On Apple’s iOS, for example, you get more elegant controls out of the box (though you can still make ugly apps of course).

Next, I ran the same app on the Windows Phone 10 emulator included in the toolkit. The emulator took an age to start on my Core i5, but the app ran well, though if you squint at the image you will see that the “Click me” button on the phone slightly overlaps the top heading.

This kind of issue is one of the hazards of cross-device UIs, though note that in this case I was using the old StackPanel, not the new RelativePanel. Perhaps that would fix it.

A Universal App on Windows Phone 10

A Universal App on Windows Phone 10

I did try out the RelativePanel, which performs as advertised, as well as the SplitView which is a new way to manage navigation. Using the SplitView, you get a vertical navigation bar on the left, and a frame within which you can display app pages on the right. The SplitView is rather good and likely to be popular with developers in search of a quick and easy way to build a functional business app.

I also tried compiling the same XAML with C++ rather than C#. C# is a .NET language, and all .NET apps are compiled to native code when you do a release build, according to Microsoft. This is a new technology which creates a standalone app, linking all the .NET dependencies into the app itself.

This means that the load time and performance of a C# app should be close to that of C++. However, in practice the XAML/C++ app loads noticeably faster than the C# app. I did not try to test performance of the app once loaded, but this is already a good reason to use C++ if such differences remain.

Note that DirectX 12 is also supported with C++, either with or without XAML, for game development.

Next page: UAP pros and cons

More about

TIP US OFF

Send us news


Other stories you might like