"A majority of applications are just going to flat-out work right," said Bill Steele, a developer evangelist with the Microsoft Developers Network (MSDN). Those that do not work, he continued, can be run through Microsoft's Application Compatibility Toolkit, which will identify what, exactly, needs to be updated.
Steele and Anand Iyer, also an MSDN developer evangelist, are two of the developers crisscrossing the United States as part of Microsoft's Vista launch campaign, known as the Ready for a New Day: Launch Tour 2007. Both men recently talked to SearchVB.com about the Windows Vista release and its implications for .NET developers. (A short version of this interview is available as an audio podcast entitled .NET Development and Windows Vista.)
For Steele, the biggest advantage of the new operating system is the notion that, with Vista, "We have a really strong platform for application developers to build their apps on top of."
What that means, he continued, is that Vista is meant to take care of "plumbing" like storage, security, workflow and collaboration. "We're trying to get to a point when a company only has to write business logic and design user experience," Steele said.
Another big, and noticeable, change is the UI in Office 2007. The traditional menus and toolbars have been replaced with "The Ribbon," which is designed to display the functionality that an end user is most likely to use.
Developers can create a new ribbon simply by adding the Ribbon Support partial class to an add-in and then uncommenting the sample code provided, Steele said. Applications built in Office 2003 can be updated to support the new UI -- and this will not disrupt the application's business logic or workflow, he added.
Also getting an upgrade in Office 2007 is SharePoint, which now offers a content management server, a data catalog that connects to back-end systems, and other enhancements. In addition, SharePoint 2007 is built on top of ASP.NET 2.0, uses the same workflow engine as .NET 3.0 and can be customized through the use of Visual Studio plug-ins.
"With SharePoint, [we can] build some robust applications, with business or human logic, without having to write any code," Steele said, adding, "It isn't something that you have to go and learn. We've built simple projects for you."
Vista offers some very good news for Visual Basic 6 developers -- the VB 6 runtime is supported.
"There is a huge install base of Visual Basic 6 applications out there. We couldn't just let them fall off the landscape," Steele said. "There's businesses out there that really need to use their existing applications."
Moreover, Steele said, VB.NET applications running in Vista can reference VB 6 code. To do this, the .NET code should include a reference to the VB code and call it, just as it would if the code was running locally or had just been written in .NET. "[Visual Basic code] can be used in .NET quite transparently," Steele noted.
Finally, there is what Steele called a "Jedi mind trick" that involves the Registry.
As part of the effort to improve security, Windows Vista does not allow applications to write to certain parts of the Registry any more. If this is the case with an older application, Steele said, "We do what I call the Jedi mind trick. We tell [the app] it's OK, but we re-map to a user-directory part of the registry. The older app is unaware that its rewrite attempts were redirected."
And now, a few words of caution
Amid the pageantry of Vista, there a few compatibility issues of which developers should be aware.
For starters, Visual Studio 2005 is the only current version of VS that is supported for developing on Vista. The rationale is simple, Steele said: "Previous versions [VS 2002 and VS 2003] don't understand that there is a .NET 2.0 available."
When the next version of Visual Studio, code-named Orcas, is released in late 2007 or early 2008, Vista developers will probably want to upgrade. Again, the rationale is simple, Steele said -- tools only available as a VS 2005 plug-in, from Windows SharePoint Extensions to .NET 3.0, are built into Orcas.
Finally, Vista does not support 16-bit applications. If an enterprise needs to run such an application, then Steele suggested running it inside Virtual PC 2007.