Back in April of 2015, the internet went into a frenzy when it heard rumors of Microsoft's involvement with Android. Some went as far as thinking that Microsoft was planning on adding an Android emulator on Windows, leaving a sour taste in the mouth's of Windows die-hards.
During Build 2015, Microsoft cleared up their message regarding their involvement with Android. To take things a step further, Microsoft explained that Android and iOS developers would have the ability to port their apps and games to the Windows platform. This meant Windows Phone would include an Android subsystem to make this possible.
The Windows team had been quietly at work on developer kits that allowed Android and iOS developers to engage with Windows. When it comes to Android development, developers were told they could continue using Java and C++ code while developing for Windows 10. For iOS developers, they were able to continue using their existing Objective-C code. In other words, Microsoft wanted to make it easier than ever to port Android and iOS apps to the Windows 10 platform, making it easier for developers to have their apps on Microsoft’s ecosystem and to increase the app count in the Windows Store. It felt like a win-win in Microsoft's eyes.
Microsoft's Terry Myerson explained during Build 2015 how this new approach would work. Essentially if Android or iOS are using specific APIs, the Windows team will build out replacements for those API’s. Developers will be free to continue to leverage those familiar APIs in their games and apps while also utilizing Windows specific capabilities like Cortana, HoloLens, Live Tiles, Xbox Live, achievements, etc. Myerson referenced Candy Crush on stage as an existing example of how a “ported” app would function in the Windows environment, specifically on Windows phone. The idea seems simple enough for developers. Developers are encouraged to bring in their code, debug it and then execute the app on Windows.
Project Astoria (codename for the Android/Windows bridge) and Project Islandwood (codename for the iOS/Windows bridge) were now living breathing concepts, both having their own official web pages.
The Windows Bridge for iOS and the Windows Bridge for Android enable you to bring your iOS and Android apps to Windows 10 using your existing code and skills.
If you have an app for iOS, you can use the iOS bridge to build a UWP version of your app with Visual Studio 2015 and your existing Objective-C code. You can extend your code with native Windows capabilities as needed.
If you have an app for Android, you can use the Android bridge to bring your app to Windows 10 Mobile devices using extensions to the Android SDK and several popular Android IDEs. Most apps require few code changes or none at all.
Microsoft began a limited preview where select developers were able to participate in the program to give early feedback to Microsoft engineers. Unfortunately, things didn't go as well as planned behind the scenes.
Fast forward to November 2015, a report suggested that Project Astoria was placed on hold indefinitely. Why? Because the Android app porting was not going as planned. Forums dedicated to the development of Project Astoria have gone silent from both a developer and company perspective. Eager developers in the forums have since stopped asking questions, and Microsoft has likewise stopped answering on the topic.
Another possible death knell for Project Astoria was the removal of the Android subsystem from what was going to be the RTM candidate for Windows 10 Mobile. Previous build releases for Windows 10 Mobile came equipped with an Android subsystem that allowed developers to actively tap into the ‘Bridging’ technology Microsoft demoed during its developer conference. Reports claimed that the Android subsystem may have been responsible for the noticeable system degradation Windows 10 Mobile Insiders users were experiencing over time.
Here's what Microsoft had to say on the matter:
We’re committed to offering developers many options to bring their apps to the Windows Platform, including bridges available now for Web and iOS, and soon Win32. The Astoria bridge is not ready yet, but other tools offer great options for developers. For example, the iOS bridge enables developers to write a native Windows Universal app which calls UWP APIs directly from Objective-C, and to mix and match UWP and iOS concepts such as XAML and UIKit. Developers can write apps that run on all Windows 10 devices and take advantage of native Windows features easily. We’re grateful to the feedback from the development community and look forward to supporting them as they develop apps for Windows 10.”
Based on what the company said, it looks like Project Islandwood appears to be in progress, while Project Astoria has been put on hold. As Project Islandwood requires recompiling rather than emulation, the apps should work much more natively on Windows 10 Mobile.
While it may seem disheartening for some to hear about Microsoft’s struggles with bringing over Android apps, the reality is that even with a majority share of the mobile market, Android development is still considered second class. For many developers, the target is iOS first and Android second, and while Windows 10 Mobile is in no position to be picky, Project Islandwood may prove to be much more important in the long run.
This is the first post in a new series called "What is" where we take a look at a key topic and explain its roots. This post will be updated if new information on the topic surfaces.