Feeds

Microsoft nails Silverlight's future to Windows Phones

From three screens to one

7 Elements of Radically Simple OS Migration

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. ®

Endpoint data privacy in the cloud is easier than you think

More from The Register

next story
PEAK LANDFILL: Why tablet gloom is good news for Windows users
Sinofsky's hybrid strategy looks dafter than ever
Leaked Windows Phone 8.1 Update specs tease details of Nokia's next mobes
New screen sizes, dual SIMs, voice over LTE, and more
Fiendishly complex password app extension ships for iOS 8
Just slip it in, won't hurt a bit, 1Password makers urge devs
Mozilla keeps its Beard, hopes anti-gay marriage troubles are now over
Plenty on new CEO's todo list – starting with Firefox's slipping grasp
Apple: We'll unleash OS X Yosemite beta on the MASSES on 24 July
Starting today, regular fanbois will be guinea pigs, it tells Reg
Another day, another Firefox: Version 31 is upon us ALREADY
Web devs, Mozilla really wants you to like this one
Secure microkernel that uses maths to be 'bug free' goes open source
Hacker-repelling, drone-protecting code will soon be yours to tweak as you see fit
Cloudy CoreOS Linux distro declares itself production-ready
Lightweight, container-happy Linux gets first Stable release
prev story

Whitepapers

7 Elements of Radically Simple OS Migration
Avoid the typical headaches of OS migration during your next project by learning about 7 elements of radically simple OS migration.
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.
Consolidation: The Foundation for IT Business Transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.
Solving today's distributed Big Data backup challenges
Enable IT efficiency and allow a firm to access and reuse corporate information for competitive advantage, ultimately changing business outcomes.
A new approach to endpoint data protection
What is the best way to ensure comprehensive visibility, management, and control of information on both company-owned and employee-owned devices?