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.