Microsoft explains developer goals for Project Islandwood iOS porting tool

Reading time icon 2 min. read


Readers help support MSpoweruser. We may get a commission if you buy through our links. Tooltip Icon

Read our disclosure page to find out how can you help MSPoweruser sustain the editorial team Read more

islandwood

While we have all been very excited with Project Astoria, which lets us run Android apps on Windows Mobile, Microsoft’s other porting tool, Project Islandwood, has not been getting much attention.

Project Islandwood is a tool for helping iOS developers port their code to Windows 10, and unlike Astoria it requires a lot more work from developers, but potentially with more reward, and of course Microsoft is also working hard at trying to make the task as easy as possible for developers.

In a blog post Microsoft explained their guiding principles for the tool, noting they wanted the resulting apps to have:

  1. Full Windows API access: Making it easy to use Windows APIs within Objective-C code
  2. iOS compatibility: Empower developers to reuse as much existing iOS code as reasonably possible
  3. No sandboxing: iOS and Windows APIs should be able to work together

This is in contrast to project Astoria, where Android apps run in a sandbox and the apps only have access to the APIs which Microsoft support.

Not being sandboxed means when Microsoft’s porting tool does not support an iOS API developers can call the Windows API directly, and Microsoft has gone further, providing what they call Projections, which allows developers to call Windows APIs using Objective-C language.

Microsoft has open sourced Project Islandwood, meaning if developers run into issues they can fix it themselves, or benefit from other developers who have fixed the issues before them, without having to wait for Microsoft to do so.

The idea of course seem sound, but does depend on iOS developers being eager to reach the Windows Phone and Windows 10 installed base, which is yet to be proven. The tools at present only support x86, but will add support for ARM/Mobile in the next few weeks.

Developers can read much more detail at Microsoft here.