Ultrabook™ Feature Compatibility Matrix for Windows* 8 Development

Download Article

Ultrabook™ Feature Compatibility Matrix for Windows* 8 Development(PDF 789 KB)


If you are an app developer and want to learn about what is required for Windows 8 Desktop and Windows Store apps, this article, “Ultrabook Feature Compatibility Matrix for Windows 8* Development,” will help guide you in the right path.

You will need to understand what programming models are available to you for apps targeted for mobile devices (phones, tablets) and apps targeted for the Ultrabook™ devices. Also, whether you are porting your current app, or writing a new app, you will need to understand what developer tools and programming environments are compatible with Windows 8 development.

This article will help you determine, not only how portable your current apps are, but what development paths to take for new app development.


There are many new features available to Ultrabooks running Windows 8 (specifically those with 3rd generation Intel® Core® processors.) The Windows 8 developer framework now has two new modes of operation for apps. Developers can target their apps to run on the Windows 8 Desktop or they can write Windows Store apps (this is the new UI environment.) While there aren’t a lot of changes for developers writing desktop apps, the Windows Store app development environment has some new requirements. We will explore what it means to develop apps that support these Ultrabook features for both platforms (Desktop and UI) using some of the more popular existing tools and developer environments.

Architecture Support for Windows 8 Application Modes

Developers should be aware that feature availability may differ according to development language or mode of Windows 8. The development environments shown in Figure 1 are those communicated on the Microsoft Developer’s Network. Apps targeting the WinRT APIs are now being referred to as Windows Store apps. It is important to note that in order to write a Windows Store app, the only development environment allowed is MS Visual Studio* 2012, with project templates. Writing apps for the Desktop is much less restrictive, currently.

Figure 1-- High Level Development Environments allowed for Windows 8* apps

You may want to port your current apps to the Windows 8 environment. To do so, you need to know if the tools you are currently using will work and the features you wish to expose are supported. For example, Unity*, a gaming engine very popular amongst app developers, has not been updated to include all the features available in Windows 8.

Taking this further, Figure 1 implies that there is no cross functionality between WinRT and Desktop APIs; this is not entirely the case. The following WinRT APIs are shared with the Windows 8 Desktop environment.

  • Windows.Sensors (Accelerometer, Gyrometer, Ambient Light Sensor, OrientationSensor...)
  • Windows.Networking.Proximity.ProximityDevice (NFC)
  • Windows.Device.Geolocation (GPS)
  • Windows.UI.Notifications.ToastNotification
  • Windows.Globalization
  • Windows.Security.Authentication.OnlineId (including LiveID integration)
  • Windows.Security.CryptographicBuffer (useful binary encoding/decoding functions)
  • Windows.ApplicationModel.DataTransfer.Clipboard (access and monitor Windows 8* Clipboard)

For more information about how to use WinRT APIs in desktop apps, take a look at Xavier Hallade's blog, “Using Windows 8* WinRT API from desktop applications.”

The following matrix lists the features that are available for the most common languages and modes of development. Where possible, links are provided to supply more information for the intended feature.

Windows 8 Desktop Mode AppsWindows Store Apps
Feature/ToolsetC++C#/VBJavaScript*/ HTML5Unity*C++, C#, VB & XAML JavaScript/HTML5Unity
Intel® WiDiYesYesYES (Browser Plugins)NoNoNo
Touch GesturesYesYesYesYesYesYes
Orientation Sensors (accelerometer, inclinometer, gyrometer)YesYesYesNo soonYesYes
Light SensorYesYesYesNo soonYesYes
OpenGL(WebGL)YesYesYes (WebGL)YesNoNo
Intel® Smart ConnectYesYesYesYesYesNo
NFCYesYesYes Yes 
GPSYesYesYes Yes 
Windows StoreNoNoNoNoYesYes

Building Windows Store apps brings the most changes for software developers. This is a whole new interface so you need to take care to ensure that the planned use of tools is supported for this environment. Table 2 provides further detail on what are the requirements for developing Windows Store apps. Visit the Microsoft Dev Center for Getting Started.

Intel® Smart Connect Technology (ISCT) does not have any developer-specific APIs. To take advantage of ISCT, it needs to be enabled in the BIOS (this should be the default) and should be configured in the OEM-provided User Interface. For examples of what applications are best suited for ISCT and further details on how to implement the technology in an application, please see Developing for Intel Smart Connect Technology.

Table 2Options for building Windows* Store apps

Language SupportGetting StartedAdvantages/Comments
JavaScript* and HTMLBuild apps using JavaScriptTakes advantage of powerful advancements in standards-based web technology. Native Windows apps can be built with HTML markup, JavaScript, and CSS3. Visual Studio* Express 2012 for Windows 8 also provides access to a library of application templates to streamline and accelerate app development.
C# or Visual Basic* and XAMLBuild apps using C# and VBWinRT APIs are available in all supported languages, including JavaScript, C++, C#, and Visual Basic. WinRT APIs are accessible to other Microsoft programming frameworks, like the .NET Framework or Windows C Runtime Library. Traditional Windows desktop apps can also access a subset of the new Windows Runtime functionality, in addition to the proven Win32* and .NET APIs.
C++ and XAMLBuild apps using C++The new Windows 8 controls have been fully implemented in XAML. Native C++ developers can take advantage of XAML to build highly interactive UIs.
C++ and DirectX*Build apps using DirectXProvides greater flexibility and greater access to system resources, especially graphic devices.

You can find more information for developing apps for Windows 8 in the Windows 8 Product Guide for Developers. You can also download WindowsStore App Sample Code available for C++, C#, JavaScript, and VB.Net to help you get started.

Now let’s dive deeper and look further into compatibility among some of the more common developer tools/interfaces.

Windows 8 Store Apps Considerations

  • Win32 APIs: Most Win32 APIs are not exposed to Windows 8 UI and many existing tools/libs have dependencies
  • WinRT APIs: New API is not comprehended by existing PC apps and Intel Tools
  • Graphics and Media: Supports only a subset of technologies (DX11.1, HMFT, and DXVA)
  • Application Model: New threading model is not comprehended by Intel Tools
  • Windows 8 Store: Cert prevents Windows 8 UI apps from accessing APIs/libs across barrier.
  • Windows Store app development is supported only on Windows 8. (No support for Windows 7 or Windows Server 2012.)

Table 3Common Developer Tool Compatibility Matrix

 Windows 8* Desktop Mode AppsWindows Store apps
Programmable GFX- OpenGL*YesNo
Programmable GFX – OpenCL*YesNo
Programmable GFX-OCL, CMYesNo
DirectX*Utilize Win32* DX11 Gfx support exposed in Win8 UIUtilize Win32 DX11 Gfx support (Games and Media)
Microsoft CompilersFull Win32 supportFull WinRT support: XAML/C++, XAML/VB+C#, HTML/JavaScript*
AmplifierFull tool functionality supportPartial feature support in WinRT apps. No thread model support. No Hotspot/Locks/Concurrent analysis for WinRT apps WinRT API support WIP
Intel® Graphics Performance Analyzers (Intel GPA)Full tool functionality Except: IE10, WinRT app analysis and DX10 in Frame Analyzer (with 15.28 driver + new OpenCL SDK)No (WinRT does not support Instrumentation)
MS xPerf/xRayFull tool functionalityFull system wide support with some limitations (ETW data collection command line only. Viewer Desktop UI only)
Intel® Performance Bottleneck Analyzer (PBA aka xIF)Works. Supports Desktop app analysis. Viewer works in Desktop.Partial feature set works with WinRT. (Not available: Thread Models, WinRT data, JIT support)
Dev Environments (VS, Eclypse*)YesPartial
HTML 5 HW AccelerationYesYes
DirectX 11.1 SupportYES (with C++)Yes
In-App PurchaseNoYES (customer must have purchased full version of app.)


Relevant Intel Blogs

About the Author

Gael is a Software Engineer in the Developer Relations Division at Intel working with Business Client Technologies. Gael holds a BS in Math and an MBA, both from the University of New Mexico. Gael enjoys hiking, biking, and photography.



Intel, the Intel logo, Core, and Ultrabook are trademarks of Intel Corporation in the US and/or other countries.

Copyright © 2012 Intel Corporation. All rights reserved.

*Other names and brands may be claimed as the property of others.

OpenCL and the OpenCL logo are trademarks of Apple Inc and are used by permission by Khronos.

OpenGL is a registered trademark of Silicon Graphics, Inc. in the United States and/or other countries worldwide.

Performance Notice

For more complete information about performance and benchmark results, visit www.intel.com/benchmarks

For more complete information about compiler optimizations, see our Optimization Notice.

1 comment

Bob Duffy's picture

Great job Gael, nice to see all this info in a snapshot like this.

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.