Office 2010 Technical Preview >> Developer Review

Luckily I have been offered the opportunity to evaluate the Technical Preview of Office 2010(read pre-beta). Although there are many new features concerning the user experience and Office servers, I will focus on the development tools and extensibility of the Office 2010 client apps. My idea is to review the extensibility tools for the professional developer (powered by Visual Studio) as well as the tools for the advanced users (powered by macros).
All the Office 2010 client applications support on their installation a component called "Visual Studio Tools for the Office System 4.0 Runtime" which allows you to execute the solutions developed with Visual Studio 2010 Beta 1.

Office solutions are widely used on the enterprise. Visual Studio 2010 besides supporting the same runtime described above, it provides the integrated tools to create managed code solutions that consume the user interface of Microsoft Office. There is no really a difference with the release 3.0 of Visual Studio Tools for Office available on Visual Studio 2008 SP1, since it features the same set of project templates to create solutions from Visual Studio. In this aspect I expected templates for Publisher, OneNote y Access. The only new features announced are related with the deployment of Office solutions more than to its development, you can find more information here.
As regards the extensibility of the Office 2010 clients itself, all except InfoPath 2010 still rely on Visual Basic for Applications 6.5.


InfoPath 2010 does not feature any new features regarding extensibility. It still provides the same Visual Studio Tools for Applications 1.0(based on .NET Framework 2.0) that featured on version 2007.



After describing the little news on extensibility in Office 2010, I realize that there is a huge legacy of code that depends on VBA. I have not developed on Visual Basic 6.0 since year 2000; I am still amazed by the acceptance and extensibility that it had provided to the Office family. Currently, Microsoft does not sells VBA to new customers, besides it does not recommends it to its partners as an extensibility mechanism on desktop applications (http://msdn.microsoft.com/en-us/isv/bb190538.aspx) and at the same time it encourages the adoption of VSTA. At this moment VSTA is on version 2.0 and provides an IDE similar to VS 2008 with support for .NET Framework 3.5.
It is clear that Microsoft is is not eating their own dog food here. I believe that it is the time that Microsoft enables the Office suite with .NET, but .NET as a first class citizen. Office needs to start supporting VSTA and .NET little by little until they become the default extensibility mechanism. What I am trying to express is that Office client apps are very decoupled from .NET and I pretend a coupling level similar to the one that the Windows OS have with .NET. Of course without discontinuing the support for VBA, since there are a bunch of add-ins, templates and macros that need it.