One of the questions/concerns that permeates a discussion about using .NET on a new project is: If it's so weep-enducingly great, why doesn't Microsoft use it in any appreciable way?
Well, as of November 13th, they do... Yes, somewhere, pigs are flying.
The brand-new Microsoft Zune PC application is written largely in .NET. The previous 1.x client was essentially a GUI wrapper around Windows Media Player guts (native... buggy...), but the new app is written from scratch in .NET (managed) code. It looks terrific (refreshingly not "old skool" Win32), and is largely managed code, from the UI down to the SQL DB access.
So feel free to crawl around the Zune PC client DLLs using .NET Reflector or any other of your favorite .NET hackage tools. You'll see all kinds of interesting things. (For your voyeuristic pleasure, an example is the name of the ZuneShell.dll's private key file: "e:\zune\dorado_v2.1_rtm.public.x86fre\internal\strongnamekeys\fake\36MSApp1024.snk" -- I love the fact that the path includes both "fake" in the file path and the original code name for Zune 2, "Dorado")

As others have pointed out, much of the GUI is written with an assembly/API called "Iris" (UIX.dll). It's managed code, and appears to be centered around web-oriented multimedia presentation. Why they're using this instead of WPF is anyone's guess. Looking through UIX in Reflector, it almost feels to me like this was their "pure-.NET" take on the Silverlight concept of "WPF light", since Silverlight 1.1 (and its .NET support) are still in Alpha form.
Does this herald the coming of OS components written in managed code? Probably not, but it does show Microsoft putting their own developers where their evangelism has been for the last two years...
Posted
Nov 29 2007, 10:46 AM
by
mike-henderson