I have looked at the Longhorn SDK at longhorn.msdn.microsoft.com and examined the new namespaces. I copied only a small fraction of the namespaces listed below, but I wanted you to get an idea of the magnitude of the changes.
The number of namespaces just for Avalon (shown below) is approximately the same as the number in the .NET Framework, but I believe Avalon has far more classes. "MSAvalon" will be changed to "System" in the future. You can see that scope of Avalon is far more than that of WinForms; it's essentially all is the control support of USER, the graphic support of GDI, and the application framework support of MFC. It includes a compound file implementation, input (via ink, mouse, keyboard), document level support ( common dialogs, commands, undo, design-time editing of text, shapes, and controls ).
|
MSAvalon.ComponentModel MSAvalon.IO.CompoundFile MSAvalon.Security.RightsManagement MSAvalon.Threading MSAvalon.Windows MSAvalon.Windows.Annotations MSAvalon.Windows.Annotations.Component MSAvalon.Windows.Annotations.Storage MSAvalon.Windows.Automation MSAvalon.Windows.Automation.InteropProvider MSAvalon.Windows.Automation.Provider MSAvalon.Windows.Commands MSAvalon.Windows.Controls MSAvalon.Windows.Controls.Atoms MSAvalon.Windows.Controls.Interop MSAvalon.Windows.Controls.Isolation |
MSAvalon.Windows.Controls.Primitives MSAvalon.Windows.Data MSAvalon.Windows.Design MSAvalon.Windows.Documents MSAvalon.Windows.Events MSAvalon.Windows.Explorer.Enhancements MSAvalon.Windows.Forms.Integration MSAvalon.Windows.Input MSAvalon.Windows.Interop MSAvalon.Windows.Media {.Animation, .TextFormatting } MSAvalon.Windows.Navigation MSAvalon.Windows.Resources MSAvalon.Windows.Serialization MSAvalon.Windows.Shapes MSAvalon.Windows.TrustManagement {.Configuration } |
Just to give you another sense of the magnitude and versatility of this library, the textbox control is a superset of the HTML and RichText control that WIN32 provide. The textbox is essentially Word, with advanced features like page layout, footnotes, columns, wrapping around objects, background spelling. The beauty is that you can customize the textbox control at a much lower level with WIN32 controls; you can actually add custom properties to text ranges and modify the rendering behavior of text. The level of control and customization is unprecedented; writing a wordprocessor was never this easy.
The Shell exposes a number of namespaces and classes, seeming to promise to make shell extensions as trivial as implementing a derived class, and making application interoperability with the explorer much more intimate.
|
System.Windows.Explorer System.Windows.Explorer.Assistance System.Windows.Explorer.Controls System.Windows.Explorer.Dialogs System.Windows.Explorer.Enhancements System.Windows.Explorer.Enhancements.Filters System.Windows.Explorer.Games |
System.Windows.Explorer.Interop System.Windows.Explorer.PhotoVideoEmailWizard System.Windows.Explorer.Pivots System.Windows.Explorer.Search System.Windows.Explorer.View System.Windows.Explorer.View.Preview System.Windows.Explorer.View.Preview.VideoFolder |
WINFS has a number of namespaces. Each inner namespace, defines large set of a standard system objects related to a subject like contacts, which WINFS can store read and write directly into the filesystem. Of course, you can write you own objects.
|
System.Storage System.Storage.Annotation System.Storage.Audio System.Storage.Contact System.Storage.Core System.Storage.Explorer System.Storage.Fax System.Storage.Files System.Storage.GameLibrary System.Storage.Help System.Storage.Image System.Storage.Interop System.Storage.Location System.Storage.Mail |
System.Storage.Media System.Storage.Meta System.Storage.NaturalUI System.Storage.Notes System.Storage.Notification System.Storage.Principal System.Storage.Programs System.Storage.Service System.Storage.ShellTask System.Storage.Synchronization System.Storage.UserTask System.Storage.Video System.Storage.Watcher |
The Indigo namespace is quite substantial itself.
|
System.MessageBus System.MessageBus.Configuration System.MessageBus.Installer System.MessageBus.Management { .Performance } System.MessageBus.Policy System.MessageBus.Remoting |
System.MessageBus.Routing System.MessageBus.Security System.MessageBus.Services { .Description } System.MessageBus.Tools System.MessageBus.Transports |
A few other interesting namespaces are the following, which gives an indication that we may finally have standard API support for artificial intelligence.
|
System.Help System.NaturalLanguageServices System.NaturalLanguageServices.DocumentUnderstanding System.Search.* System.Speech.* |
Disclaimer: I don't work for Microsoft; these are my opinions, and they may not represent Microsoft's actual plans. Longhorn is currently in development and features may be dropped.
This is really great for *developers* but the problem I see in this is that users will be totally at the mercy of developers in being able to customize their environment to their own needs.
In Windows XP and before, Microsoft (or third parties) provided ways that allowed end users to tweak the overall look and feel of of the OS to match particular tastes and usages.
But with Longhorn and its "managed code" concept, Microsoft seems to be saying "Hey developers, now you can really change the way your app looks and we'll make it easy too!" but users then are at their mercy.
Posted by: Brad Wardell | October 27, 2003 at 09:06 PM
"This is really great for *developers* but the problem I see in this is that users will be totally at the mercy of developers in being able to customize their environment to their own needs."
- duh, its always been that way.
"In Windows XP and before, Microsoft (or third parties) provided ways that allowed end users to tweak the overall look and feel of of the OS to match particular tastes and usages."
- yep, nothings changed.
"But with Longhorn and its "managed code" concept, Microsoft seems to be saying "Hey developers, now you can really change the way your app looks and we'll make it easy too!" but users then are at their mercy."
- ...... like always
Posted by: Smarty McKnowitall | October 31, 2003 at 02:02 PM
Hi
Could you please provide more details about the System.NaturalLanguageServices namespace
regards
Sudarshan
Posted by: Sudarshan Gaikaiwari | November 05, 2003 at 03:01 PM
What are the implications of all this for developers who are supporting earlier platforms (Windows 2000, Windows XP)? Is there any prospect that an updated .NET Framework redistributable will made available for them that incorporates at least some of the changes outlined above? Microsoft has a strong incentive to differentiate Longhorn at this level, but many of us have limited resources for supporting platform-specific designs and feature sets.
Posted by: Chris Weed | November 11, 2003 at 02:16 PM