The road to Windows 8 Part 4 – What this means for Windows 8 developers

Welcome to part 4 of my series, The road to Windows 8.

In the first part I talked about the BUILD conference.

In the second part, I talked about what I believe to be the overall vision for Microsoft’s Windows 8.

In the third part, I did a little video post talking about my impressions of the metro interface.

In this part, I’ll be discussing the implications that Windows 8 has for Windows developers.

Let’s recap some of the major changes that we know about in Windows 8.

The first major change introduced in Windows 8 is its dual interfaces. The first, the Metro interface refers to the new sleek UI with the tiles, and the other “Desktop,” looks like the traditional Windows 7 desktop.

windows 8 metro UI

windows 8 metro UI

Windows 8 is designed to run on both Intel/AMD hardware and the newer ARM-based offerings.

Intel tablets coming out in the near term will be comparatively heavy, and the batteries won’t last as long. ARM tablets will likely be lighter, longer-lived, and probably cheaper.

Based on the Windows 8 Developer Preview, it’s very likely that Microsoft will maintain almost 100 percent compatibility with current Windows 7 apps, running on the Windows 8 Desktop with Intel/AMD hardware.

When it comes to the new development environment, here’s what Microsoft have to say:

Windows Runtime and app model
The Windows Runtime (WinRT) is a straightforward set of APIs used to build Metro style apps. WinRT lets you build apps that look great and are intuitive for your customers to use. WinRT APIs are available to developers in multiple languages, including JavaScript, C++, C#, and Visual Basic. The new Windows SDK for Metro style apps also includes a subset of traditional Win32, Component Object Model (COM), and .NET Framework APIs, as well as HTML5 and CSS3 APIs that are accessible to Metro style app developers.

Choose from a broad range of app programming languages
To build fully native and robust apps that make the most of a Windows 8-based PC, you can develop using web programming technologies or familiar Windows programming techniques. Windows Metro style apps using JavaScript leverage the combination of HTML5 and CSS3 to build the user interface, along with JavaScript for app logic. Windows Metro style apps using C++, C#, or Visual Basic use XAML markup for
the user interface, with C++, C#, or Visual Basic for app logic. Game developers can build Metro style games using C++ and DirectX 11.1 to take full advantage of graphics hardware, or build casual games using HTML5 or XAML.

Compatibility with existing frameworks
WinRT APIs are accessible to other Microsoft programming frameworks, like the .NET Framework or Windows C Runtime Library. Desktop apps can access WinRT functionality by including the Using keyword in your code. WinRT features are represented by the Application Binary Interface (ABI), which makes Windows APIs accessible from other programming languages. The ABI is exposed in metadata assemblies (.winmd files), allowing static languages (like C#) and dynamic languages (like JavaScript) to understand the structure of the WinRT API.

Now when developing Windows 8, there will be three major ways to develop for the Metro interface.

  • In C++, writing directly to the Metro Windows Runtime (WinRT) API.
  • In .Net 4.5, using C# or VB.
  • In HTML5 and JavaScript

Now, even though Microsoft promises to make an ARM version of .Net 4.5 available at some point, there’s no guarantee that programs written for .Net 4.5 on the Intel Desktop will work in .Net 4.5 on the ARM Desktop.

There’s actually every indication at this point is that there will be huge differences between the two versions.

When it comes time to distribute your application, all Metro apps will have to come from the Windows Store.

Even though it’s early days yet, it seems like Apps will have to be certified and pass inspection before being allowed into the store. At that point, there will be various licensing models for developers to use to charge for their applications.

So there are a lot of changes coming to developers in this new version of Windows 8 but what does all this mean if you’re a Windows developer?

windows 8 developers

windows 8 developers

My take:

More Options

With all the different development options outlined above, Microsoft have opened up Windows development into more traditional web development paradigms. HTML 5, Javascript and CSS will bring a lot more developers into the game and make Windows 8 a lot more competitive.

In-Application Contracts

Contracts in Windows 8 will be a life saver. Contracts are data clipboards that allow Applications to share information and work together without knowing anything about each other. This functionality will be a HUGE time saver for developers and enterprises as they will make a lot of todays interfaces redundant.
I’m looking forward to seeing this implemented in Windows 8 applications for SAP,Oracle, PeopleSoft and Dynamics.

Licensing Options and Revenue

We don’t know enough about the Windows 8 Appstore at this point but we do know that they will have one and it will allow developers to develop, share and profit from their applications. This will be something that I imagine will be highly attractive to the development community – the ability to sell your apps to a worldwide audience.

Application Portability

One of the stated (by Microsoft) advantages of the Metro platform is the fact that an App coded for one platform (lets say desktop) should be usable on another (tablet) and maybe another (Windows Phone 8) with very little if any modification.

Job Security

This will be a good time to be a Windows developer. Between demand for Phone developers, Server development, Desktop development, Tablet development and pure application development, there will be work for the next five years. Stay tuned to our site for our Windows 8 Jobs section.

Competition with Iphone/Ipad development

This will give Microsoft a chance to have applications developed that are at least as cool and trendy as Iphone apps. If everything goes as planned, Windows 8 development will be as sexy as Iphone development. It just takes the right breakout application.

Microsoft Incentives

Don’t be surprised if Microsoft throw a lot of money and incentives at developers to guarantee that they make the right choices and pick Windows 8 as their development platform of choice. My take is that Microsoft will want to make sure that this platform is launched with a bang. That leads me to my final point.

Full Support

Microsoft will throw everything they have into making sure that developers get allk the support need to build the apps they want to build. It’s a rare and sweet spot to be in for Windows developers. You’ll get the most enthusiastic support from Microsoft that’s possible when you run into problems and questions etc.

Now there’s a lot we don’t know and Microsoft will (hopefully) share more when they release the Windows 8 Beta soon.

From what we do know though, the Windows 8 development tools are well thought through and Windows 8 developers will have a lot of sweet opportunities coming their way very soon.

Stay tuned for the next part of this series where I talk about the benefits to the consumer.

 

Please Leave Your Comments Below...