Microsoft is providing its most detailed glimpse to date of features in “Avalon,” the media-presentation technology component of its next-generation Longhorn operating system.
The new information arrives as Microsoft prepares to roll out an updated beta release next week of its “Whidbey” Visual Studio 2005 toolset, which will serve as the development environment for creating Avalon and Longhorn-based applications.
Microsoft first previewed its plans for Avalon last fall at its Professional Developers Conference in Los Angeles. As a container for Longhorn’s media technologies, Avalon is positioned as a new graphics subsystem that serves as a foundation for Longhorn’s shell. Avalon will also come with a full set of the user interface components for Longhorn.
The latest peek inside Avalon was released in an article, “Recommendations for Windows Forms and
Longhorn,” written by Microsoft developer Karsten Januszewski.
Perhaps the most significant new feature is XAML
declarative markup language aimed at Web services that will appear in Avalon.
According to Januszewski, programmers will be able to use
XAML to design the user interfaces for their applications. “XAML provides a high-level syntax that can invoke the .NET Framework and also enables designers to create the front end of an application,” he wrote. “Developers can then use a procedural .NET
Januszewski continued: “Because XAML is a generic mechanism for
describing managed objects, it can be used to describe an Avalon
application user interface, a Windows Forms application UI, or a page that mixes both Avalon and Windows Forms controls. This means that, on Longhorn, you will be
able to build Windows Forms and Avalon applications using XAML.”
Two other key features–involving navigation and
“composability”–come into play in Avalon, according to Microsoft.
For navigation, Avalon uses an application model that has built-in
navigational capabilities allowing developers to easily move between
pages within an application. “This navigational framework is central to the Avalon application model, which combines the power of the client with the familiar metaphors of browsing that are common to the Internet,” Januszewski wrote.
The second feature, called composability, means that new Windows
Forms
can be constructed by combining old ones. “One of the key differences
between the Avalon and Windows Forms programming models is the notion
of
composability that exists solely in Avalon,” Januszewski explained.
“Both Windows Forms and Avalon allow you to build controls out of other
controls.
However, there are limits on the number of controls that can be used at
one time in Windows Forms. In addition, there are limits in Windows Forms
on the
depth of the control tree.
“Avalon overcomes these limitations and makes
creating new controls simpler through the composition of existing
controls.
Consequently, applications that require a high degree of customized
controls
will find the Avalon programming model compelling and efficient for
development.”
Microsoft is also folding some Avalon-friendly features into
Whidbey, the next-generation version of the Visual Studio development environment
rolling out in an updated beta-preview version next week. (As first reported by internetnews.com, Whidbey will be equipped with a vastly improved implementation of the .NET Compact Framework — Microsoft’s tool for building apps that run on smart devices such as Pocket PCs and Smartphones.)
According to Januszewski’s article: “The next version of Microsoft
Visual
Studio, code-named Whidbey, contains a number of improvements that
apply to
both Windows Forms and to Avalon. These include new configuration APIs
better ways of deploying applications, [and] an improved security
model.”
The new Whidbey APIs extend the configuration model in Windows Forms
to
allow programmers to set their configurations in a nested, hierarchical
manner similar to the way it’s done in ASP.NET. To deploy apps,
Whidbey will use a “click once” feature.
In terms of improved security, both Whidbey and Longhorn will use
the notion of “restricted permission” to limit where an app can run. This
is intended to enforce what Microsoft calls “code security.” Longhorn
itself will use what Microsoft calls a Secure Execution Environment, or SEE.
“The
SEE is a natural progression of the work begun in the .Net Framework
1.0 to
advance trustworthy computing,” Januszewski wrote. “In Longhorn, users
will
be able to run applications on their local machine knowing that they
have
limited access to sensitive local resources.”
Along with the technical article, Microsoft is making available
downloadable code samples to demonstrate how to program Avalon. The
snippets
include a demo of how to create a Window Forms user interface using
XML.
A Microsoft spokesman told internetnews.com that a first beta of Longhorn will ship in the second half of 2004. “The final release will ship when we’ve incorporated customer and partner feedback from the beta process,
and the code meets the quality standards our customers require,” he
said.
Within the industry, it’s widely assumed that the first production
release of the operating system won’t be ready until 2006 at the earliest.
The Microsoft spokesman said Avalon is on the same release schedule as Longhorn.