Windows 8 has a problem with apps, and Microsoft knows it. Windows 8 for mobile, and desktop, for that matter, have a significant app-deficit. Not only is Microsoft missing out on a significant revenue stream, but app availability is often one of the main deciding factors for people when buying a new phone.
But now, it looks like Windows 10 will change this. Microsoft is planning to bring Android and iOS apps to its new OS, via Project Islandwood and Project Astoria.
With Project Islandwood, Microsoft is developing an Objective C toolchain and middleware layer, which provide the operating system APIs that iOS apps usually expect. This will allow iOS developers to build their existing iOS apps for Windows. Presently, there are already a few developers who have taken advantage of the new tool, perhaps the most prominent of which being King’s Candy Crush Saga, an iOS app that has been built for Windows Phone with Project Islandwood.
The prospect that we could see Android apps running on Windows Mobile has been circulating for some time, and with Windows 10 it seems that these rumors are being a reality. Project Astoria will build the bridge between Android and Windows, via a runtime layer that will be built in to Window Mobile, allowing Android apps to run unmodified on Windows devices.
Astoria, unlike Islandwood, which requires developers to recompile their apps for Windows, will only require that the developer list the app in Microsoft’s store. Android APK files can be installed and run on Windows natively, as soon as the developer posts the app; no modifications necessary.
Astoria provides a AOSP feature set, and could also support some of the Google Mobile Services APIs. AOSP is the open source part of Android, which is a mix of GPL and BSD-licensed code, which anyone can modify and use as they wish. On other side of the coin, there is Google Mobile Services (GMS), a closed source API that provides geolocation capabilities and in-app purchasing. However, it is still possible for Microsoft to support apps that use GMS, they just have to create the matching API themselves.
Microsoft confirmed to Ars Technica that the API set would not have 100% coverage of the AOSP and GMS APIs, meaning that certain APIs will not be provided. Apps that utilize these APIs that are not provided will not run on Windows.
However, they also said that Microsoft will offer integration points with Windows, allowing Android apps to interact with Windows features and services, like Cortana, with only minor alterations.