JimAll: One Lap Around Longhorn


The Longhorn Pillars

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.


Comments (0)