Is it correct to say that HTML based Windows 8 Metro apps can run on a wider array of devices than apps built with XAML and C++ or C#?


  • "One of the new features of Windows Developer Preview is the ability to base Metro style apps on well-known web technologies, such as HTML, CSS, XML, and JavaScript. One of the advantages of building HTML-based Metro style apps is that they can run on a wider array of devices than apps built with XAML and C++ or C#. "



    If this is the case could an example of where this will be the case be provided?


    Saturday, February 18, 2012 8:54 PM

All replies

  • No. They are equally good. C++ might actually be even better since you get DirectX support there
    Saturday, February 18, 2012 11:34 PM
  • I was surprised to see this in the online documentation and hence the question.

    The C++ point is helpful and will depend on application requirements.


    Sunday, February 19, 2012 12:26 AM
  • HTML5, CSS3, and JS are supported, in some form, on all platforms. .Net, Microsoft's flavors of C++, DirectX and XAML aren't well supported outside of Microsoft platforms.

    It's possible to build an HTML/JS metro app in such a way that in minimizes use of WinJS and WinRT (and when it does use those things it does so through an abstraction layer than can be replaced on other platforms). From there, you could relatively easily port your code in any other HTML5 environment.

    The big trade-off is that HTML5 and CSS3 are still in their draft specs, different runtimes have proprietary draft implementations, there are big differences in performance from platform to platform, and any hooks into native platform APIs are inconsistent.

    You need to figure out what you're going to build and for which platforms before you can pick the right tools to make it happen.

    Senior Dev for Windows Phone Services

    Wednesday, February 22, 2012 10:07 PM
  • I think the point Bryan is making is that if you plan on deploying to non-windows PC's, then porting your app to those are possible with HTML.

    My response was related to you building for a Windows 8 device (whether it's a tablet, desktop, and arm/x86/x64 cpu). If your target is just Win8, then I would say pick the platform that you feel most comfortable in, because it hardly matters (apart from the DirectX thing). Metro apps will run on all of them. If however you plan on also making your app run fully or partially on a website as well (perhaps with a degraded experience), then yes HTML is an obvious choice.

    Thursday, February 23, 2012 4:11 PM
  • I don't know...shoehorning HTML5/WinJS into a "normal website" seems like the same amount of work as shoehorning Xaml/C# into a Silverlight app. And the bonus of the latter is you don't need to redo/add a bunch of CSS3 to make it work on other browsers(e.g. -ms-grid) like you would the former.
    Thursday, February 23, 2012 5:10 PM
  • HTML-based Metro style apps can run on a wider same array of devices as apps built with XAML and C++ or C#.

    Metro apps (of any kind) will run only on Windows 8. While it can be argued that HTML Metro app can be ported more easily to wide range of devices it is not the same as just running it on "wider array of devices". 

    Saturday, February 25, 2012 1:33 AM