|Windows 10 SDK And Tools - Almost There!|
|Written by Mike James|
|Thursday, 30 July 2015|
If you are a Microsoft programmer the wait for the tools needed to easily create UWAs (Universal Windows 10 Apps) is almost over. Although lower key, the SDK and Tools were launched along with Windows 10.
Unlike the Windows 10 announcement you will probably have to do a search if you want to know anything about developing UWAs, the acronym for the latest genaration of apps that will run under Windows 10 on desktops, tablets and mobiles. For reasons that you can speculate about, Microsoft doesn't seem to be putting any great effort into publicity for this important development. This could be an indication of priorities, or it could just be that the tools aren't quite ready yet.
Just in case you have missed it, UWAs are the WinRT-based apps that should have been launched with Windows 8; not the uncompromisingly different Metro app that insisted that you throw everything out and start again. You can look back on Windows 8 and say that it was a flop for all sort of market-driven reasons, but the real truth is that it was technologically incomplete.
Moving on from Metro/WinRT apps, we first had Universal Apps that pulled the two code bases together so that you could share as much code as possible. You still had to have mobile code and desktop code as separate files, but you could also have common code that was used by both. Now we have UWAs, which are truly universal in the sense that you can write a single code base and expect it to run on anything.
You could say that Microsoft's technology has moved from having an OS and app platform for desktop and one for mobile to having a single app platform for them both. Of course, this has its problems for the programmer in that you can't take it for granted that a facility will be available and you have the form factor to adapt to.
The new UWA approach is to provide you with the tools you need to automatically adjust your app for the platform it finds itself running under - which has to be compared to the old way of doing things, write something special for each platform.
In a sense, UWA takes the Microsoft programmer into the way that the Android programmer is expected to work all the time. Now you have to create UI layouts that work on small screens, big screens and in landscape and portrait. Some of the features were included in the preview, but they weren't well integrated into Visual Studio. The latest release is a lot better in this sense, but it still feels like work in progress.
The new relative layout is now in the Designer's toolbox. There doesn't seem to be any additional support for the VisualState manager and you still have to figure out how to make use of it yourself. The big problem is that the available documentation makes it sound as if the VisualState manager is the solution to all of your layout adjustment problems - it isn't. At best this approach is suitable for small or multiple regular changes to a layout and it isn't, at the moment, interactive.
A much better way to adopt layout to form factor is to use multiple XAML Views. This sort of works in the current release, but there is no documentation for it. Basically you can set up multiple XAML files with a single code behind file. Which XAML file is used for any given device depends on the files name or the folder it is stored in. For example, DeviceFamily-Mobile is a XAML file that is used on a phone and not on, say, a Desktop. The advantage of this scheme is that you can edit everything using the Designer.
Unfortunately at the moment the Designer doesn't make it easy. For example, you can only have a single design form factor selected for all XAML files you are editing. So you can't see a desktop layout on one and a phone layout on another - you have to keep switching.
Multiple XAML files loaded conditionally is very like the Android way of doing things with conditional layouts. If this ever gets implemented fully with Designer support it will be the way to do things.
There is also one final small problem - its slow. The phone emulator is slow and the Designer runs slow. Make sure you have a powerful machine to run VS on if you are planning to work with UWAs.
So the final verdict is - getting there but not there just yet.
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
or email your comment to: email@example.com
|Last Updated ( Thursday, 30 July 2015 )|