First look: Microsoft's sharp, new Windows Phone SDK

Windows Phone SDK 8.0 gives developers extensive features, snappier code, lots of help, and the option to code in JavaScript and HTML

1 2 3 Page 2
Page 2 of 3

C# is not the only choice; C++ and Visual Basic are options as well. Native, C++ apps will probably be the first pick for anyone building a game that requires zippy performance. That said, the arrival of the .Net Framework in Windows Phone 8 promises significant improvements in app performance and responsiveness, thanks to a new asynchronous programming model and a more efficient runtime engine. Microsoft claims Windows Phone 8 apps will launch faster too, since they'll be compiled in the Windows Store cloud instead of "just in time" on Windows Phone 7 devices, though I haven't experienced this.

A more interesting option than C#, Visual Basic, or C++ is the rise of JavaScript and HTML. Microsoft's documentation claims HTML isn't a full-fledged "app model," whatever that means, but also points out it's quite possible to plop a version of IE into a box in your app using XAML. Internet Explorer takes over and does the rest. Windows Phone 8 comes with IE10, which means that many of the new features of HTML5 are available.

I think JavaScript and HTML will be the form in which many of the early apps appear. It's quite simple to take an HTML5 app written in the likes of Sencha Touch or jQuery Mobile and port it to an iPhone, Android, and Windows Phone 8 device. The folks at Sencha, for instance, were given early access to the platform; I think Microsoft knows it's an easy way for people to create cross-platform apps. Tools like Apache Cordova are up-to-date and ready to turn the pile of JavaScript and HTML into a Windows Phone 8 app. Anyone who built a basic HTML5 app with Cordova should be able to port it in just a few minutes.

More than a dozen different coding templates come with the free version of Visual Studio you get with the SDK. If you're looking to create something that pulls data and displays it in a list, there's a template that's done much of the work for you. The IDE makes it pretty easy to pick up the SDK and get something running in the simulator. It should be noted that the simulator is much more responsive than many of the Android or BlackBerry devices around, though for some reason it doesn't accept text from my keyboard. It forced me to use the simulated phone's keyboard. Note too that you'll need to run Windows 8 on a SLAT-enabled CPU (such as Intel's Core I series) to make the simulator go.

Beyond the classic apps
Basic data-driven apps are just the first thing you'll see. Microsoft recognized that many smartphones are often more camera than phone today. I'm sure many people use Instagram or the photo-sharing features of Facebook more often than they talk and listen to the voices of their friends who actually ring them on the so-called phone. If you want to develop software that uses the camera on Windows Phone 8 devices, a big corner of the SDK is waiting for you.

Microsoft calls one class of apps a "lens." If you happen to write a lens, it becomes available in the built-in camera application. The user will pop up the camera and swap "lenses." A lens app is more a plug-in for the built-in camera than a stand-alone item.

I think this is a good feature for the user because it cuts down on the clutter. It also simplifies some of the work for the developer, but developers may feel like they're losing their identity in a demotion from full-fledged app to mere lens. The lens creator now has some user interface guidelines to follow. While this may lead to ego deflation, it makes the camera experience simpler and more consistent for the user.

The Windows Phone 8 emulator, which lets you test for devices at three different screen sizes, offers a nice way to test the reaction to acceleration. Note, however, that it runs only on Windows 8 and modern hardware.
The Windows Phone 8 emulator, which lets you test for devices at three screen sizes, offers a nice way to test the reaction to acceleration. Note, however, that it runs only on Windows 8 and modern hardware.
1 2 3 Page 2
Page 2 of 3