Windows 10 SDK Now Available
Written by Mike James   
Tuesday, 24 March 2015

In a surprise move Microsoft has made an early version of the Windows 10 SDK available to download and test. Now we really find out what the new "universal apps" are all about.

It was generally supposed that Microsoft would be holding off releasing the Windows 10 SDK until Build in late April, but you can download the SDK now. The fact the Microsoft recently announced that we would have the final version of Windows 10 during the summer of this year might have played a part in not holding onto the SDK until late April. 

This release is a very early preview. You can use it to develop universal apps that run on Windows desktop and tablets. You can also develop for Windows Phone, but you can only run the programs on a Phone simulator. This isn't unreasonable as Windows Phone 10 devices are effectively non-existent. More of a letdown is that you can't develop or test on Xbox - but as this is a very new feature, again it makes sense that it might be left out of an early preview. 

What is exciting about the new SDK?

Well perhaps the first thing to say is that Windows Desktop apps will still work on Windows 10 without any changes. You can even make use of the new Window 10 APIs in a Win32 application and there are improvements in .NET 4.6. Even WPF receives some attention.

What is of key importance is the new universal apps facility which promises that we can write a single program that will run on all devices and form factors. If you think that you already have universal apps for Windows 8 then it is important to realize that this is better. No longer do you need multiple projects within a solution to support each type of device. At the moment Windows 8 universal apps let you share some, mostly non-UI, code between essentially different implementations of the app.

Windows 10 apps really are trying to allow a single code base to serve, not only all devices, but all form factors. 

You can create the new universal apps in C# or VB but at the moment you can't do this for JavaScript apps and there is no word on whether this will be fixed later. It could be that Microsoft has noticed that JavaScript WinRT apps are not that attractive to programmers.

This sounds like magic, but it really is how things should have been from the introduction of WinRT and Windows Phone.

Why it has taken Microsoft so long to realise that having different platforms to target is a bad thing is a mystery, but at least things are heading in the right direction at long last. 

Now when you open Visual Studio 2015 with the tools for Windows 10 Technical Preview you can create a new type of app - a UAP. You can now write you code and deploy to the local machine, a connected table,  a phone simulator and soon to a connected Xbox. 

 

win10sdk1

 

The problem of differing screen sizes is via the improved ViewStateManager. The problem of different input methods is solved by a new set of controls which detect if touch or mouse is being used and modify their presentation accordingly. These two will simplify dealing with the UI, but you cannot avoid the fact that different devices have different capabilities. To deal with this we have API contracts. This is basically feature testing and you simply write and if statement to see if the API is available. Of course, it is still up to you to work out what to do if the API isn't available.

It does seem that we are making progress towards a universal app that runs on the desktop and mobile devices without having to maintain separate code for each. Designing a single UI for a range of device types is never easy - ask any Android developer, but the new facilities certainly make it possible. The adaptive controls are the best solution to different input methods and testing for the presence of API support is about the only way to do the job. 

Currently the preview has many limitations, but it is enough to check out that you can create a universal app with a single code base. There is a lot of missing documentation at the moment, and a lot of the documentation is misleading because it refers back to Windows and Phone 8 rather than forward to 10. Code samples are being posted to a new repository hosted on GitHub.

You need  Visual Studio 2015 CTP6 to run the tools and you need the very latest version of the Windows 10 Technical Preview. It does all work fine in a virtual machine and the simplest way to try it out is using Hyper-V.

It is likely that the ability to create WinRT apps that run in a window on the desktop, in the start screen on a mobile device, and on a Windows Phone will make them more popular.

This could be worth being an early adopter.


windows10

Banner


Conference Times Ahead
29/03/2024

Following a well-established pattern both Google's and Microsoft's Developer Conferences will take place in May while Apple follows on in June. Here are the dates plus what to expect.



Run WebAssembly Components Inside Node.js With Jco
28/03/2024

Jco 1.0 has been just announced by the Bytecode Alliance.It's a native JavaScript WebAssembly toolchain and runtime that runs Wasm components inside Node.js. Why is that useful?


More News

 

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

 

Last Updated ( Wednesday, 25 March 2015 )