Microsoft is supporting cross-platform development like never before, introducing tools to port iOS and Android apps to Windows and allow software to run across multiple form factors, from smart phones to virtual reality headsets.
The goal is to get 1 billion copies of Windows 10 on devices within the next three years, CEO Satya Nadella told a crowd of developers at the opening of the company’s Build 2015 conference. This ambitious cross-platform goal could help the company regain its edge in a world that is rapidly moving beyond personal computers.
The 1 billion number would include all those current computers running Windows 7 and Windows 8 that will get a free upgrade to the new OS, expected about the middle of the year. It would also include a range of other devices, including smartphones, tablets and possibly even Microsoft’s holographic headset, dubbed HoloLens.
For developers, a user base this large would mean that their Windows applications would be exposed to the widest possible audience. Windows 10’s Universal Windows App architecture is designed to ensure that developers can maintain a single code base that runs across all manner of devices. This architecture provides a single set of API (application programming interface) calls that can be supported by every device running Windows 10.
A Microsoft project called Continuum is adding power to the Universal Windows App idea. Continuum, using Windows 10, provides a way for a program to change its interface based on the device that it is running on, with no additional code needed from the developer. Microsoft already demonstrated how applications using Continuum could be moved from a personal computer, which a user interacts with using a mouse and keyboard, to a tablet, where the main form of interface is a touchscreen.
Continuum has now been expanded to include smartphones, a move that could one day further reduce the need for personal computers. Joe Belfiore, a Microsoft corporate vice president in the operating systems group, showed how a smartphone could act as a full-size computer, using Bluetooth, a keyboard and an HDMI connection to a monitor.
Developers can use the Continuum technology to design apps that run on the small screen of a phone as well as a full-size display, changing the interface to suit the abilities of the device. For instance, Microsoft is working on an update to its PowerPoint application that would make use of Continuum. When running on a phone, PowerPoint would offer basic display features, but when the program has access to a larger screen, it can then offer all the toolbars and features of today’s full desktop version.
In effect, Continuum could turn any smartphone into the equivalent of a desktop computer—once smartphones are built to handle chores such as supporting full-size monitors.
Continuum could be appealing for developers in that it would eliminate the need to build two different versions of an application, one for the desktop computers and one for the smartphones.
The company is also trying to reduce the amount of work developers need to do to rewrite applications that were built to run on non-Windows platforms.
Perhaps most notably, Microsoft is providing a way, through its Visual Studio integrated development environment, to easily port applications that were originally written for Android and Apple iOS devices to Windows, noted Terry Myerson, Microsoft’s executive vice president of operating systems.
For Android, Windows devices will now have an Android and Java-based subsystem that can run native Android applications, Myerson said. Developers can also add in specific Windows system calls to take advantage of a device’s native non-Android capabilities as well.
For iOS devices, Visual Studio will be able to compile code written in Objective C, the dominant programming language used for building iOS apps, so that it can also run on Windows. With this capability, Microsoft is eliminating the need for iOS developers to rewrite their applications for Windows. An early user of this feature has been game maker King.com, which developed a version of its Candy Crush Saga game for Windows using the technology.
Developers also can now package their websites as Universal Windows Apps, so they can be downloaded as applications for Windows devices. This will allow site owners to take advantage of Microsoft’s messaging service, which could alert users within their Windows 10 devices to website updates.
It would also provide an easy payment mechanism for sites that sell goods and services. Microsoft is expanding its Windows Store payment system, which now uses credit and debit cards, so it can also accept carrier billing, opening app sales to those people around the world who do not have credit cards but do have smartphones.
Applications written for earlier versions of Windows using the .Net framework and the Win32 native API can also be packaged for the Windows Store, Myerson said