Corporate Developers' Concerns About Metro
In reality, there are only three ways to write Metro applications:
- In C++, writing directly to the Metro Windows Runtime (WinRT) API. (There's a trick for making a native C++ project accessible to WinRT components, described in this Social MSDN thread.)
- In the pared-down .Net 4.5, using C# or VB. (Your program can't call any of the "disallowed" APIs.)
In spite of appearances and great presentations, writing for Metro isn't as easy as redesigning an app to use a touch interface, then having a .Net guru go at it. There are all sorts of new restrictions.
For example, apps can't get at the data stored on the computer. There's a way around the restriction on accessing databases: You can create a Web service and get to it via a WinRT call. You can store and retrieve data inside the application, but there's no way to get into the computer's local file system. At least until it's hacked, there's no way to crawl outside the data sandbox.
By design, Metro is locked down -- emphasis on "down." It's great for security. It's hell for any but the most straightforward corporate apps.
Creating a Metro app for your users brings up another thorny issue: distribution. In its Primer for current Windows developers, Microsoft makes no bones about the fact that all Metro apps have to come from the Windows Store: "Apps must pass certification so that users download and try apps with confidence in their safety and privacy. Side-loading is available for enterprises and developers." At this point, there are no details about the side-loading.
For months, people in the know at Microsoft have hinted broadly that they're working on adapting the Office suite to the Metro interface. It will be very, very interesting to see how Microsoft can pull that rabbit out of the tiled hat. Certainly, the Metro version of Office won't have access to the PC's data files. Will Metro Office do more than simply bring the Office Web Apps onto the tablet -- a trick Google pulled off with Google Docs, using Chrome and HTML5, just a few weeks ago?
Corporate Developers' Concerns About ARM
There's a reason why you haven't heard any details about "the third box" in Figure 2: Microsoft hasn't released anything resembling the .Net 4.5 Framework for ARM machines.
The .Net Micro Framework, which runs on ARM devices, has been around since 2007. Microsoft released this ".Net for small and resource-constrained devices" to support smart watches, sensors, and industrial automation. .Net Compact Framework was popular with ARM-based Windows Mobile 6 phones, but Windows Phone 7 development has primarily turned to Silverlight, XML, and XNA. Those are the only versions of .Net available for the ARM architecture right now, and they're both miles away from .Net on the Windows 7 desktop.
Although Microsoft promises to make an ARM version of .Net 4.5 available at some point, there's no guarantee that programs written for .Net 4.5 on the Intel Desktop will work in .Net 4.5 on the ARM Desktop. Quite the contrary -- every indication at this point is that the two flavors of .Net 4.5 will be substantially different.
There's absolutely no indication that Microsoft will support any other development environment for ARM architecture, although we're promised that Silverlight will run on the ARM Desktop's version of Internet Explorer 10. Compatibility between IE10 on Intel and ARM is an unknown; thus, Silverlight may not work exactly the same way on both.
That's a tough pill for IT developers to swallow. Think of it this way: If IT has to make two different versions of its Windows 8 tablet apps to run on the Desktop on Intel and ARM processors anyway, why not go with an OS that's well known -- pick your poison, Android or iOS -- and forget about Windows on the tablet entirely?
If you're planning for next year, you can commit your company to just Intel tablets, or you can take the pig-in-a-poke approach and bet on the ARM Desktop. Or you can wait to see what shakes out. But if you, as an IT developer, choose to jump ship right now and go with Android or iOS, you can get your tablet apps up and running a year before Windows 8 is ready.
No matter how you slice it, that's a compelling option.
The Writing on the Wall
When Microsoft presenters start calling Windows 7 applications "legacy apps" and Metro apps "the future," you should take note. The times are changing.
Make no mistake. Whether it's a Windows 7 desktop or an Intel Windows 8 desktop, the Desktop, like Windows XP, will be around forever.
Come to think of it, that's what everyone said about CICS and Cobol.
Two years ago, when Windows 7 was young, the iPad didn't exist, and tablets were like luggable Oldsmobiles, few people would have dreamed we'd come to this point. The same tide that swept PCs into corporations 25 years ago has returned, and it's stronger this time. Windows 8's design simply confirms that observation.
IT can fight the tablet tide tooth and nail. Or corporate developers can run out in front of the parade and pretend they're leading it. The biggest question is whether IT can afford to wait another year before they start waving the banner.
Now that you know the rest of the story, you're in good shape to read Microsoft's overview of Windows 8 development for businesses. Download the Windows Developer Preview Guide and start on Page 35.
This story, "What IT should know about Windows 8," was originally published at InfoWorld.com. Follow the latest developments in Microsoft Windows at InfoWorld.com. For the latest developments in business technology news, follow InfoWorld.com on Twitter.
Read more about microsoft windows in InfoWorld's Microsoft Windows Channel.
This story, "What IT Should Know About Windows 8" was originally published by InfoWorld.