For several years, Microsoft's tools for client application development have been a bit scattered. Visual Studio 2008 brings them all together.
Consider the evolution of offerings as outlined by Jay Roxe, lead product manager in Microsoft's .NET Developer Product Marketing Group, in a chat at last month's DevConnections conference:
- Microsoft Office has served as an application development platform since the days of VBA, he noted.
- Visual Studio .NET 2003 took things a step further by supporting the development of Office applications, albeit through a plug-in.
- Visual Studio 2005 Tools for Office (VSTO) then added a visual designer that supported Office 2003, but it, too, was a plug-in.
- Another plug-in, this one lacking a visual designer, was released to accommodate Windows Vista and Office 2007.
The Visual Studio 2008 and .NET Framework 3.5 release clears two major hurdles.
First, it brings VTSO right into the IDE and supports the development of InfoPath, Visio and PowerPoint applications in addition to Word, Excel and Outlook, which were the three app types previously supported.
"[VSTO] is available to a much broader set of developers than before," Roxe said. "And they can use the same skills they'd use for Windows applications or Web applications to build apps that run against Microsoft Office."
Second, Visual Studio 2008 includes visual designers for use with .NET Framework 3.0 and 3.5 applications. This means WYSIWYG design for Windows Presentation Foundation controls -- which, like WinForms controls, can be integrated with Office 2007 applications -- as well as graphical design capabilities for Windows Workflow Foundation activities (which can now be hosted in SharePoint 2007, by the way) and Windows Communication Foundation calls.
"It's suddenly a lot easier for developers to target that [.NET 3.0] technology," Roxe said.
All this, naturally, fits into a broader Microsoft strategy. In this case, it is Office Business Applications, or OBA, which unites client development, SharePoint integration and workflow in applications centered on particular business processes, line of business integration or vertical markets.