Microsoft clearly aims to give developers a head start on building Windows apps.
To understand the goal of the new tools, take a look at the presentation given at Mobile World Congress a few week ago by Kevin Gallo, director of the Windows Developer Platform at Microsoft. Gallo explains how Microsoft, while bringing together all versions of Windows to run with a common core, has also brought the various developer products together and melded them with a single API interface.
This convergence enables one app to run on every Windows device -- on the phone in your pocket, the tablet or laptop in your bag, the PC on your desk, and the Xbox console in your living room... All these Windows devices will now access one Store for app acquisition, distribution, and update. For APIs specific to a given device family (a phone dialer), the universal platform also provides an easy way to light up that functionality within an app without having to resort to using conditional compiler flags.
That's the Holy Grail developers have been seeking. Whether the Windows 10 developer platform will support that level of integration remains to be seen, but if the 'Softies can pull it off, we may see developers actually writing new, worthwhile software for Windows 10 on all devices.
(A note on terminology: What used to be known as Metro apps, then Windows 8 apps, Windows Store, modern, then universal apps, are now simply called Windows apps -- this week anyway. Although you'll find references to all those earlier terms scattered through the documentation. As Paul Thurrott explains on his website, what used to be called Windows programs or Windows apps are now known as Windows desktop apps. Meh.)
Gallo went on to describe five key points in the new SDK:
- Adaptive UX: The ViewStateManager will, in theory, adapt Windows apps to different screen sizes. It will also modify the screen automatically to switch between smaller targets for mousing and larger targets for tapping.
- Natural user inputs: Support for speech, inking, and gestures. "You only need to worry about which inputs are appropriate for your app and we'll determine if they are present and parse the intent for you."
- Cloud-based services: Cortana AI support, OneDrive, and hooks into Azure.
- Cortana integration: Installed apps appear on and can be run from the Cortana search list.
- Action center: Apps can interact with the notification area.
The Adaptive UX initiative is controversial: Many devs are skeptical that Microsoft can produce a UI Veg-o-Matic that adapts a single app intelligently to different screen sizes. It's particularly controversial for experienced mobile developers, who are accustomed, begrudgingly, to hand-tuning UIs for every conceivable screen size. The jury's still out.
A Windows Dev Center post goes into great detail about many of the new APIs, some of which are still experimental. There's strong interaction between custom apps and Windows itself in such areas as drag-and-drop, encryption, power conservation, Wi-Fi and Bluetooth, HTTP live streaming, location tracking, and ink panels. There's even an IsWindows10OrGreater function.
Microsoft product manager Cliff Simpkins talks about highlights in the new SDK in his Building Apps post. Those of you with older Metro apps, er, Windows 8.1 apps might give these a try: