Via The Verge
 
-----
 
 
 
After months of rumors, Microsoft is revealing its plans to get mobile apps on Windows 10 today. While the company has been investigating emulating Android apps,
 it has settled on a different solution, or set of solutions, that will 
allow developers to bring their existing code to Windows 10.
 
iOS and Android developers will be able to port their apps
 and games directly to Windows universal apps, and Microsoft is enabling
 this with two new software development kits. On the Android side, 
Microsoft is enabling developers to use Java and C++ code on Windows 10,
 and for iOS developers they’ll be able to take advantage of their 
existing Objective C code. "We want to enable developers to leverage 
their current code and current skills to start building those Windows 
applications in the Store, and to be able to extend those applications,"
 explained Microsoft’s Terry Myerson during an interview with The Verge this morning.
 
The idea is simple, get apps on Windows 10 without the 
need for developers to rebuild them fully for Windows. While it sounds 
simple, the actual process will be a little more complicated than just 
pushing a few buttons to recompile apps. "Initially it will be analogous
 to what Amazon offers," notes Myerson, referring to the Android work 
Microsoft is doing. "If they’re using some Google API… we have created 
Microsoft replacements for those APIs." Microsoft’s pitch to developers 
is to bring their code across without many changes, and then eventually 
leverage the capabilities of Windows like Cortana, Xbox Live, Holograms,
 Live Tiles, and more. Microsoft has been testing its new tools with 
some key developers like King, the maker of Candy Crush Saga, to get 
games ported across to Windows. Candy Crush Saga as it exists today on 
Windows Phone has been converted from iOS code using Microsoft’s tools 
without many modifications.
 
  
 
During Microsoft’s planning for bringing iOS and Android 
apps to Windows, Myerson admits it wasn’t always an obvious choice to 
have both. "At times we’ve thought, let's just do iOS," Myerson 
explains. "But when we think of Windows we really think of everyone on 
the planet. There’s countries where iOS devices aren’t available." 
Supporting both Android and iOS developers allows Microsoft to capture 
everyone who is developing for mobile platforms right now, even if most 
companies still continue to target iOS first and port their apps to 
Android at the same time or shortly afterward. By supporting iOS 
developers, Microsoft wants to be third in line for these ported apps, 
and that’s a better situation than it faces today.
 
Alongside the iOS and Android SDKs, Microsoft is also 
revealing ways for websites and Windows desktop apps to make their way 
over to Windows universal apps. Microsoft has created a way for websites
 to run inside a Windows universal app, and use system services like 
notifications and in-app purchases. This should allow website owners to 
easily create web apps without much effort, and list those apps in the 
Windows Store. It’s not the best alternative to a native app for a lot 
of scenarios, but for simple websites it offers up a new way to create 
an app without its developers having to learn new code languages. 
Microsoft is also looking toward existing Windows desktop app developers
 with Windows 10. Developers will be able to leverage their .NET and 
Win32 work and bring this to Windows universal apps. "Sixteen million 
.NET and Win32 apps are still being used every month on Windows 7 and 
Windows 8," explains Myerson, so it’s clear Microsoft needs to get these
 into Windows 10.
 
Microsoft is using some of its HyperV work to virtualize 
these existing desktop apps on Windows 10. Adobe is one particular test 
case where Microsoft has been working closely with the firm to package 
its apps ready for Windows 10. Adobe Photoshop Elements is coming to the
 Windows Store as a universal app, using this virtualization technology.
 Performance is key for many desktop apps, so it will be interesting to 
see if Microsoft has managed to maintain a fluid app experience with 
this virtualization.
 
Collectively, Microsoft is referring to these four new 
SDKs as bridges or ramps to get developers interested in Windows 10. 
It’s a key moment for the company to really win back developers and 
prove that Windows is still relevant in a world that continues to be 
dominated by Android and iOS. The aim, as Myerson puts it, is to get 
Windows 10 on 1 billion devices within the next two to three years. 
That’s a big goal, and the company will need the support of developers 
and apps to help it get there.
 
These SDKs will generate questions among Microsoft’s core 
development community, especially those who invested heavily in the 
company’s Metro-style design and the unique features of Windows apps in 
the past. The end result for consumers is, hopefully, more apps, but for
 developers it’s a question of whether to simply port their existing iOS
 and Android work across and leave it at that, or extend those apps to 
use Windows features or even some design elements. "We want to structure
 the platform so it’s not an all or nothing," says Myerson. "If you use 
everything together it’s beautiful, but that’s not required to get 
started."
 
Microsoft still has the tricky mix of ported apps to 
contend with, and that could result in an app store similar to Amazon's,
 or even one where developers still aren't interested in porting. This 
is just the beginning, and Windows universal apps, while promising, 
still face a rocky and uncertain future.