Are WinRT Metro apps cross-compatible (x86/64 and ARM)? - windows-8

The Wikipedia entry about Windows 8 claims in its Metro section that
Metro applications will be cross-compatible with both x86/64 based
systems and Windows on ARM.
but does not have a reference (it is marked with "citation needed").
Technically, would it be possible to run a "native" Metro app which was build using WinRT for x86/64 on ARM?

Yes, Metro apps are specifically stated as the supported method for doing cross platform apps on both Windows 8 and WOA (Windows on ARM). Full details are in this blog post. The post also states that other types of applications that run in Desktop mode in x86 Windows 8 are specifically not supported on WOA (some Microsoft apps being the sole exceptions).

A JS app should work on ARM unmodified. I'm not 100% sure about C#, an app written for "any CPU" should just work on ARM (but I've not confirmed). C++ applications will work, but will need to be recompiled specially for ARM.

Related

Surface SDK only for surface

This might be a stupid question, but I couldn't find the answer anywhere. Does the Microsoft Surface SDK 2.0 only work with Microsoft Surface products, or can I use it with other touchscreens? I really just like the way the SurfaceTextBox control works (popping up a onscreen keyboard when clicked) and was wondering if I could use it in a program I'm making (which uses a Elo touchscreen monitor, not multi-touch).
Edit
Thanks for the responses. I downloaded and installed the SDK 2.0 and tried to run the sample apps that are included. They don't seem to respond to my finger touches but do work if I the included simulator. I'm running this on windows 7. Any reason why it doesn't seem to work on my touch screen?
Yes, you can use it with any touchscreen. It works on WinRT/Windows 8 as well as Windows 7. I have used it for surface, tablet (both WinRT as Win7 tablets) and touch-enabled desktop applications and it works absolutely fine.
The installer requires you to install Visual Studio 2010, but if you import the DLL's manually in the toolbox, you can also use it in both Visual Studio 2012 and 2013 preview. This is an answer on a different question, answered by one of my colleagues on how to use the Surface SDK 2.0 with Visual Studio 2012
It's a great toolkit to support touch-enabled WPF applications and can also be use as a replacement for the WinRT Metro UI, in case you cannot use that toolkit (e.g. when you interface with USB, or need desktop services).
Update:
Since you update your question to how to get the Elo Touchscreen to work with native Windows 7 touch, I suggest you download and install the latest drivers. Your touchscreen will only work with WPF touch / Surface SDK if native Windows touches are supported. Installing the latest drivers should do the job. Don't forget that you might have to enable and configure touch input in the Control Panel (Pen and Touch).
I noticed that in some cases touches are not working when you use a SurfaceWindow. Use a normal WPF Window and all the SurfaceControls should work. Thus if you want to use the sample applications on Windows 8 you need to replace SurfaceWindow with Window and remove the unavailable EventHandlers.
From Microsoft's web page:
http://msdn.microsoft.com/en-us/library/ff727815.aspx
The Microsoft Surface 2.0 SDK provides the managed APIs and the tools you need to develop Surface applications. Applications that are built using the Surface SDK can run on devices made for Surface 2.0, and on Windows 7 computers.
See also:
http://social.msdn.microsoft.com/Forums/en-US/b61c2eda-410e-4c65-9a60-b9e0a8ea11b2/windows-surface-sdk-setup-and-development-on-the-tablet-windows-rt
Surface SDK 2.0 is not dedicated to Windows RT for a Surface Tablet. it
is innitially dedicated on PIxelSense SUR40 unit or if you are bulding
windows 8 application with Pro version.
There has been a lot of confusion since the arrival of the Surface
tablet. The product name Surface before what the name of the Microsoft
Table touch table and the Samsung SUR40 device.
And that SDK was only working on those device. Then MS has release a
version (Surface SDK 2.0) which can be use also fro traditionnal Touch
PC application starting from Win 7.
Finally:
http://www.infoq.com/news/2011/07/Surface-2
With Microsoft Surface SDK 2.0 one can write applications for both
Surface and Windows Touch devices.
Surface 2.0 is not compatible with Surface 1.0 devices, and so far the
only compatible device is Samsung SUR40 [as of July 2011]...
These details have been public for a while, but Microsoft has just
made available Surface SDK 2.0. One of its key features is the ability
to target Windows Touch devices, that is Windows 7 computers with
touch input, so this SDK serves a much larger spectrum of devices. If
there are very few Surface devices out-there, there are lots of
Windows Touch ones, and their number is poised to grow.
Windows Touch applications are very similar to Surface ones, except
that the later supports full HD resolution and a multitude of touch
related inputs, such as finger and blob recognition, tagged objects,
tilted display, rotated display, etc.
At windows 8 you just need do that:
Run Microsoft Surface Input Simulater
Go to Device Manager
In Human Interface Devices, right click over Touchscreen compatible with HID and click activate.
Just that. ;)

How can i Obfuscate a monogame windows8 metro app?

I have a windows 8 metro game (using monogame) that i developed and plan to submit to windows 8 app store and i wish to obfuscate it. How can i do it? Will obfuscation cause runtime errors?
We use Crypto Obfuscator. It has a very decent GUI, a great support team, and most importantly both Visual Studio integration and support for Obfuscating Windows 8 Store apps.
You can try Manco .NET Obfuscator. Version 4.5 supports obfuscating of the .NET Windows 8 Store applications.
Check the babel obfuscator.
The obfuscator usually "just" makes your code unreadable, alone it won't cause any runtime exceptions but if some occurs (due to an app problem) you probably won't be able to track the error (because everything is obfuscated).
PS: Google is our friend

Do Windows 8 Store Apps (Metro) run in Windows 7 or XP?

I want to know whether Metro Applications developed using Visual Studio 11 Developer Preview and .Net FrameWork 4.5 can run in Windows 7 or XP.
Not the normal Windows Form or WPF, I want to know about the all new Metro Apps.
What new things needed to run Metro Apps in Windows XP or Windows 7
What new things needed to run Metro Apps in Windows XP or Windows 7
A virtual machine of Windows 8. Metro apps currently don't run on Windows 7, and definitely don't on Windows XP. According to this thread, it's difficult but might happen eventually:
Keep your eyes out on future Channel 9 videos and on the BCL/CLR blog
for more information around the challeges of enabling the Portable
Library story, however, I will give a quick summary with regards to
ViewModels:
While the ViewModels themselves are defined by the
application, they often take dependencies on types (ie
INotifyXXXChanged interfaces, ICommand, etc) that live inside the
framework. Currently if you look across our multiple .NET platforms
(Silverlight, Phone, .NET and now Metro style apps), these all live in
different assemblies, and with Metro apps, a different
namespace/technology (WinRT). This makes it challeging to give the
user a surface area that can compile against and still have it run on
all these other platforms. We've got some ideas on how we're going to
enable this, however, it requires some work and doesn't come for free.
In saying that, however, we completely see the value and
really, really want to do this.David
But it's not currently possible. At best, you could just make a desktop app version of the same thing.
I tried it on Window 7 and answer is definitely no, you can not even develop Metro style App in Windows 7, for developing also you need Windows 8 and Visual Studio 11.
I'd be astonished if Win8 Metro-Style apps would ever work on Win7 - there is a huge amount of OS level infrastructure necessary to get those apps to work on Win8 that simply isn't available on Win7.
Having said that, people have figured out to write applications that can be made to work on both *nix and Windows with a recompile, so I imagine eventually it might be possible to write an app that could be recompiled to produce a metro-style version and a WPF/Silverlight version. But that technology simply doesn't exist at the moment.
Id say no, based on the fact that Metro requires WinRT which is not available on Windows 7 or XP
This depends on what you might want to do.
For example, if you're developing a game and want it to run on Metro/Modern UI but also on other Windows versions, MonoGame is a great option!
It will allow you to develop for and run on:
All Windows desktops
Windows 8 Metro/Modern UI
Mac OS X
Linux
XBOX 360
iOS
Android
Windows Phone
And possibly more platforms on the future.
In my honest opinion having such a wealth of target platforms warrants any learning curve you might have to develop for MonoGame. And not to mention that you can develop in the comfort of Visual Studio, so IMHO it's something to be considered even if your app is not strictly a game (who said you can't develop a non-game with a game framework...?).
Update: Here's a tutorial, and by the way, you may want to also consider HTML5 for games or non-games. Cut the Rope (very fun game) uses this, and it seems to be doing pretty well (I didn't even notice it was HTML5!).
I am developing an app for the apptivate.ms contest right now. So I can definitely tell you that the Metro apps won't work on Windows 7 or XP.
What is more, the Visual Studio Express version needed for developing the Metro Apps won't even install on Windows 7.
Also, just remember this sentence - "All Windows apps are not Windows 8 apps!"

Is it possible to use the Microsoft Kinect SDK with Metro Style applications?

I was wondering if it is possible to use the Kinect SDK with Metro Style applications and if smartphone and tablets will have support for Kinect.
I think it is possible and someone has done it. But not directly on Metro UI as far as I known (April 4, 2012)
Microsoft released Kinect for Windows 7 SDK in June, 2011. So, we know that Microsoft is targeting to utilize Kinect for PC controlling. Since Windows 8 is more touch driven than any other previous release of Windows, it should be in their target to introduce Kinect as one of the Windows 8 control device.
In addition, Metro UI has already been introduced on XBOX. We can see that Kinect works really well with XBOX Metro UI. Given that Kinect works well with Windows 7 and Metro UI on XBOX, it is not hard to imagine Kinect to work with Windows 8. Especially we know that most of the .Net 4.5 applications should still be working on the traditional desktop interface of Windows 8. (A video on youtube also demonstrated how they used Kinect on Windows 8 traditional desktop interface and Metro Application by using a service)
We've developed a project called "KinectMetroApp" that helps to use kinect to control Metro UI on Windows 8.
Plz find below the post that describes the project.
http://wiseteamtn.wordpress.com/2012/03/27/kinect-your-metro-style-app/
Also, a recent article on channel 9 speaks about this Topic.
http://channel9.msdn.com/coding4fun/kinect/Kinect-your-Metro

Is there an SDK out for Windows Run Time (WinRT)?

Is there some kind of SDK out for WinRT.? Can we develop applications for it now?
Is VS2010 usable for developing or will some other IDE be shipped? Also, is C++ necessary to develop performance-oriented apps in WinRT, or will the C# applications give equivalent performance? Can development be done on Win7?
I am curious about this because I missed out when WPF was released and I don't want to miss out on this.
Take a look at the Windows Dev Center where you can download a copy of Windows 8, complete with all the new tools for developing for it.
Visual Studio 11 Developer Preview is also available on Subscriber Downloads if you do have a subscription, and it includes the WinRT SDK and runs on Windows 7 and other operating systems. So you can build it and debug it, but you still have to run your code on a Windows 8 machine.
Performance-wise, WinRT doesn't change the guidance for whether to use native code. The APIs will behave near identically regardless of what language you choose, so make the decision between C++ and C# just as you would today.