Feeds

Microsoft nails Silverlight's future to Windows Phones

From three screens to one

5 things you didn’t know about cloud backup

PDC 2010 Microsoft is making it easier to write Silverlight apps for Windows Phones.

In the first half of 2011, Microsoft will deliver the Portable Library Project, which lets Silverlight programmers deploy apps for as many different types of devices as possible. It was released as a preview on Thursday.

The idea is to offer a single version of Silverlight than runs the same code across multiple devices – rather than build separate PC, browser, and phone versions of the platform.

On the PC and in the browser, Silverlight has officially given way to HTML5. But it is now Microsoft's official platform for building Windows Phone applications.

The problem is that Silverlight contains APIs that weren't necessarily built for phones, and there's no easy way for coders to work around this. Shawn Burke, a .NET developer director, promised PDC attendees on Thursday that the Portable Library Project "lets you avoid lowest common denominator syndrome, and lets you target a device in a natural way."

Burke was speaking during a session that was originally billed as a Silverlight talk, but at some point, it was re-named "three-screen coding: sharing code between Windows Phone, Silverlight, and .NET."

Before PDC, it was clear there was a political fight inside Microsoft over whether its strategy for web-based rich-media should favor Silverlight or HTML5. Silverlight was the star of last year's PDC. But since then, HTML5 has caught on, thanks in large part to the backing it received from Apple chief executive Steve Jobs.

During his Thursday keynote, Microsoft chief executive Steve Ballmer made it clear: HTML5 is the future strategy. The only mention of Silverlight was as a development environment and a runtime platform for Windows Phone 7.

Speaking later that day, Burke said the inspiration for the Portable Library Project was that people want to run their Silverlight applications on Windows Phone 7 - which uses parts of Silverlight 3 and 4.

But today, if you build a Silverlight app for the browser or the PC, it won't run unchanged on a Windows 7 Phone. That's because Silverlight contains APIs for the PC and the browser that just don't make sense on the phone - such as system.windows.browser and the Windows DOM APIs.

But if you take these APIs out of the Silverlight runtime, you deprecate the player, and fragmentation sets in.

Code portability has a mixed industry track record. You might get portability in JavaScript, for example, but you still need to know which browser you're targeting.

Some developers opt for assembly portability, targeting a small subset of system libraries to share business logic, validation code, file and protocol processors, and serialization. The project generates a common DLL and reference assemblies - sets of metadata used by the Intellisense feature in Visual Studio and during compilation of the app.

To make this happen, Burke's team devised something called a "portable core" that narrows the APIs that show up in Intellisense and uses reference assemblies to show what APIs work across selected the platforms.

The portable core contains a set of APIs that are common for Silverlight on a phone, browser, and PC - like string.compare. In the first release of Portable Library Project, you will get APIs for Basic BCL, Basic HTTP, and System.XML - what Burke called a starting point

Gone are APIs that are device-specific and not needed in the phone. So, there's no system.windows.browser or DOM APIs. Reflection.emit – an advanced feature for the dynamic creation of new types at runtime - has been removed because this doesn't work with the .NET Compact Framework on the phone. Serialization has been removed because Window Phone 7 can't do serialization. There's no file path. And there's no the Windows Communication Foundation, .NET Managed Extensibility Framework, or system.windows UI.

The goal is to add new functionality areas and expand the amount of portable code available in the core – and to let you target different types of devices. ®

Boost IT visibility and business value

More from The Register

next story
The Return of BSOD: Does ANYONE trust Microsoft patches?
Sysadmins, you're either fighting fires or seen as incompetents now
Linux turns 23 and Linus Torvalds celebrates as only he can
No, not with swearing, but by controlling the release cycle
China hopes home-grown OS will oust Microsoft
Doesn't much like Apple or Google, either
Sin COS to tan Windows? Chinese operating system to debut in autumn – report
Development alliance working on desktop, mobe software
Apple promises to lift Curse of the Drained iPhone 5 Battery
Have you tried turning it off and...? Never mind, here's a replacement
Eat up Martha! Microsoft slings handwriting recog into OneNote on Android
Freehand input on non-Windows kit for the first time
Linux kernel devs made to finger their dongles before contributing code
Two-factor auth enabled for Kernel.org repositories
This is how I set about making a fortune with my own startup
Would you leave your well-paid job to chase your dream?
prev story

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Endpoint data privacy in the cloud is easier than you think
Innovations in encryption and storage resolve issues of data privacy and key requirements for companies to look for in a solution.
Scale data protection with your virtual environment
To scale at the rate of virtualization growth, data protection solutions need to adopt new capabilities and simplify current features.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?