This post originated from an RSS feed registered with .NET Buzz
by Tim Sneath.
Original Post: JimAll: One Lap Around Longhorn
Feed Title: Tim Sneath's Blog
Feed URL: /msdnerror.htm?aspxerrorpath=/tims/Rss.aspx
Feed Description: Random mumblings on Microsoft, .NET, and other topics.
Four pillars of Longhorn from a developer perspective:
Avalon: new display subsystem (composition)
Indigo: communication and web services
WinFS: structured, schema-based storage
Fundamentals: getting the basics better (deployment, reliability, performance,
security).
WinFX is the new API (MS-DOS -> Win16 -> Win32 -> WinFX). It is written using
the .NET Framework and enables you to write Longhorn applications using managed code.
Fundamentals
Easy deployment for new applications with ClickOnce.
New services for migration from one machine to another. Aim is to reduce the work
necessary to rebuild a machine or copy settings from one place to another.
Fast rebooting via non-volatile memory
Adding a lot of code to improve pre-fetching of code - called "SuperFetch".
Security: no-execute flag for pages in memory (requires hardware support).
Presentation
Today there is a dichotomy between web- and Windows-based applications. Both have
strengths and weaknesses (deployment, graphics, connection etc.)
Avalon provides a unified presentation model for Windows, web and media applications.
It provides a vector-based composition engine (replacing the current 2D/3D model).
Full HighDPI support - can describe dimensions in inches, pixels or points.
Most importantly, we have moved to a "declarative programming model". XAML is a markup
language that enables you to separate code from content. With XAML, you build up the
UI design as an XML file, with code-behind partial classes implementing the underlying
functionality. The XAML gets compiled into a partial class too, and together they
make up an executable.
XAML allows you to add flow-layout as well as absolute layout. You can dynamically
add transform decorations too (scale, rotation, alpha blending etc.)
MSBuild provides an XML-based build system that enabled command-line or IDE-based
compilation.
The bits that PDC attendees receive contain a development theme called "Slate"; this
isn't the final theme. The final theme is codenamed "Aero" and was demonstrated in
the BillG keynote: very "glassy" with lots of transparency.
Storage
WinFS provides a schema-based structure that allows for metadata to be created and
searched in an arbitrary order. No longer are you limited to a hierarchical file system
structure - you can drill down according to dynamically-chosen properties. Longhorn
will include some standard schemas (for example, people, calendars and documents);
you can extend these schemas or build your own.
As well as the schema, WinFS is of course a store. You can physically store object
data in the engine and perform rich queries on that data.
It's important to note that WinFS understands the relationships between different
objects (so for example, a person and their documents can be related). WinFS itself
is stored in NTFS as streams.
Communication
Indigo will provide a message-based communication model based on web services (it's
in the new System.MessageBus namespace).
It also offers support for collaboration (including a new unified API). There will
be a single namespace for contacts that includes presence information.
Ports are the means via which messages enter and leave an AppDomain. Channels are
I/O devices that are used to get messages in and out of a port.