Channels ▼


What Exactly is Windows 8?

The Developer's Challenge

Existing Windows applications need not be ported to Metro, and you can keep on writing classic Windows applications using the same tools and libraries you're using — the .NET Framework and .NET languages.

Metro applications will require a new type of development, API, and runtime system, but nearly the same languages and programming tools that you already use. You can write them using HTML5 plus a mix of Java­Script and CSS 3. You can also use C++, Visual Basic, and C#. In all cases, XAML remains the language of choice to express the user ­interface.

In terms of functionality, the API for native Metro applications is nearly the same as the API for .NET applications: Some namespaces have been renamed and some classes have been moved around. It's important to note, however, that Metro applications run on top of a new runtime system that wraps up the Windows kernel services in a way similar to Win32. The .NET Framework runs on top of Win32 and must use P/Invoke to call native operating system services. With WinRT — the Metro runtime — access to native services is more direct, and it encapsulates services differently (see Figure1).

Figure 1. The new architecture of Windows applications.

Metro applications follow the logic of mobile applications. They never run indefinitely and are subject to suspension. Likewise, Metro appli­cations are distributed through an ad hoc marketplace, moving the burden of app certification, trial, and antipiracy measures to Microsoft. They're licensed per user and not per machine, with application settings ­automatically roamed via the cloud. Finally, Metro applications must declare the hardware they intend to use.

Overall, writing a Metro application is similar to writing a mobile application such as one for Windows Phone 7. The nature and structure of the application is also different from traditional .NET applications, as most Metro applications tend to be simpler, more interactive, and content focused.

So, is Windows 8 a big change for users and developers? Are Windows 8 and Metro applications something you must look into immediately to avoid putting your company and business at risk? Honestly, on both counts, I don't think so. Windows 8 is about continuity, but it also introduces some new approaches with Metro. As a developer, you just have one more target platform to ­consider, but with plenty of opportunities to leverage your existing skills to code for it.

— Dino Esposito has written several programming books about Microsoft technology. He will begin exploring the various facets of Windows 8 in a series of articles starting in December.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.