So for those not following BUILD, here’s the short notes as it relates to JUCE:
There are 3 hardware platforms: x86, x64, ARM
There are 2 main API platforms: Desktop, Metro
Desktop: Includes Win32, the old C based API that has been around for ever. More APIs were added to it.
Metro: Includes WinRT, a completely new C++ based API. Also includes access to a subset of the Win32 API.
x86, x64 can run apps based on both platforms Desktop and Metro
ARM can only run apps based on Metro
x86, x64 can run any application using any API and installed from anywhere (aka Open)
ARM can only run applications using Microsoft approved APIs (Metro) and ONLY be installed from the Windows Store (aka Walled Garden).
The Windows Store has a 70/30 revenue split and is a curated store. Apps have to go through an approval process before they reach the store. Upgrades will likely go through this process as well so it make take days for an update to reach your users like on the iOS/Mac App Store.
So existing JUCE apps will run on Windows 8 x86, x64 without issue. Existing JUCE apps will not run on Windows 8 ARM.
Metro support will need to be added to JUCE. Thankfully, JUCE is somewhat there. The “subset of Win32” includes Direct2D, DirectWrite and WASAPI among other modern APIs. JUCE has partial or full support for these APIs.
There is no MIDI support in Metro. This means there is no MIDI support on the ARM platform.
It is unlikely that ASIO, OpenGL, OpenGL ES will ever become an approved Microsoft API so don’t expect support for such 3rd party APIs to reach ARM.
Windows 8 ARM should support all USB 1 Audio Interfaces out of the box since windows has USB 1 Audio Class Complaint Drivers and they should work via WASAPI.
Windows 8 likely does not support the USB 2 Audio Class as neither Vista or 7 does.
Not sure if hardware vendors are allowed to make ARM USB drivers. Might be a problem for vendors who write non class complaint drivers.
WinRT API - http://msdn.microsoft.com/en-us/library/windows/apps/br211377
Subset of Win32 APIs available in Metro - http://msdn.microsoft.com/en-us/library/windows/apps/br211669
Example Source Code of Metro - http://code.msdn.microsoft.com/windowsapps/