There seems to be a bit of confusion about some of the new technology related to Longhorn, so here are a few comments on the various technologies being shown here at PDC 2003:
Avalon/Aero - Avalon is the new technology to render the ui in Longhorn and Aero is the use of Avalon to create the current interface of Windows Longhorn. There is no more separation of 2D and 3D - its now all the same. For the first time, what has traditionally been exposed to gaming developers in the form of DirectX API are exposed through .net classes to gui designers. Windows are drawn top down - information of translucent parts of windows are passed down to the windows below it and rendered together. All of the drawing and alpha blending is handed off to the GPU, so you have an interface as smooth and as fast as what you see today on macs. Longhorn is also going to vector graphics or the ui. This has obvious benefits such as scaling and rendering complexity. One of the demos was a windows form with a movie in the background, slanted text and text boxes, all of it translucent with moving parts in the background. When moving windows around the machine didn't choke at all, in fact it was extremely smooth with only 1% of the processor being used.
WinFX - There is not much talk about "WinFX" and from what I can tell it is simply the name for the Longhorn API. It is broken down in to interface/data/communication layers which are Avalon/WinFS/Indigo respectively. Of course the major feature of the new Longhorn programming architecture is the first deep commitment to a service oriented architecture. I have been to several talks on "Indigo" and the support in WinFX for services (not just "web" services) is awesome. Services from an API point of view are very similar to sockets. You listen on one end, connect to a specific end point, and accept incoming connections. From there "messages" are sent via "channels" to "ports." Messages are SOAP messages but can be transported by any variety of means, which is transparent to the classes that utilize the service.
If anyone has questions on a particular topic, post it in the comments and I'll be happy to get an answer for you and post it in an article here.
|