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, the execution is a little more complex
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.
"At times we’ve thought, lets just do iOS."
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.
A set of bridges to Windows 10
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.
Related Posts: