6
votes

As far as I understand the Metro part of the runtime is not x86 processor architecture and native code dependant and will work without any change to the code on say an x86 tablet or ARM tablet. Is this correct?

Also how easy would it be to port apps from Windows Phone metro to Windows 8 metro? Can we hope that no change to code at all is a possibility?

Similarly, what about XBOX? Is there any chance Windows 8/Windows Phone metro apps can be easily ported to the new XBOX metro environment?

2
The Xbox metro environment is not open for third-party apps (..yet?) As for the ARM to x86 changes, there's probably virtually none - the only potential pitfall would be specific low level architecture / graphics related to hardware. Unless you're relying on a specific processor hook, you should be fine. The entire purpose of the metro apps / interface is portability. Given the fact that Microsoft states that the regular 'desktop' apps won't work by default, seems to say on the same token, that metro apps will work across hardware (in general.) - William Melani

2 Answers

6
votes

Windows 8 has something of a split personality, with the architecture shown below:

enter image description here

The left hand side is the newer metro-style / WinRT architecture, whilst the right-hand side is the older Win32 / .NET architecture. It has been widely reported that ARM tablets will only support the Metro / WinRT architecture. There has been no indication that ARM devices will require different code, and this seems quite unlikely based on the fact that it will have the same architecture.

Also how easy would it be to port apps from Windows Phone metro to Windows 8 metro? Can we hope that no change to code at all is a possibility?

It is slightly easier to port WP7 apps to Win8 due to the similarities in their architecture, i.e. a similar application lifecycle and a similar restricted set of APIs. However, there certainly are code changes required, see this article which presents a simple cross-platform Win8-WinRT / Silverlight application. The XAML UI elements are in different namespaces, which has an impact on all of your UI code, the XAML namespace mapping syntax is different, so you cannot share XAML. It is a bit of a mess really.

There are rumours that WP8 will use the same WinRT architecture, which would make code sharing possible. However, I think this is highly unlikely, Microsoft already introduced significant architectural changes from WP6.5 to WP7, doing it again would alienate developers.

0
votes

ARM will not be able to host the "Windows 7" mode because of its underlying processor architecture and would just have Metro mode. So, if you have windows app, it effectively wont run. It needs to be re-compiled/re-created as a metro style app and published to marketplace.