VS2010: Raising the Bar for SharePoint and Office Development
- By Jay Schmelzer
When the Visual Studio Team started developing the latest version of the product, we knew that improving support for Office and SharePoint was paramount. At the time, SharePoint had already established itself as one of the most successful server products in the history of Microsoft, and developers couldn't wait to take advantage of its popularity. Visual Studio, however, had minimal support for building and deploying SharePoint-based solutions.
On the Office side of the fence, Visual Studio 2008 delivered significant improvements for developers building solutions based on the Office clients, but deploying those custom solutions remained difficult. The need to update support for these products was clear.
The SharePoint Imperative
From a SharePoint perspective, we were immediately faced with a difficult design challenge: How do we design the Visual Studio experience to expose all the flexibility of the SharePoint platform, while at the same time easing the transition for developers new to SharePoint?
I distinctly remember an early customer design review, when we were demonstrating a first look of the Visual Studio experience. Most of the customers hated it: They felt we'd abstracted the platform and taken away the development power they needed. We hadn't found the right balance.
The team, including members of both the Visual Studio and SharePoint product teams, got together and revisited our approach. We spent a lot of time talking to individual customers to understand their concerns and working with them on the designs to address their feedback. These reviews continued with customers until we were sure we had it right.
The Microsoft SharePoint Conference in October 2009 was the culmination of these efforts. SharePoint 2010 was unveiled, and along with it the first-class support in Visual Studio 2010 for building SharePoint solutions. Hands down, the biggest applause of the entire week came during the opening keynote demo, when the presenter deployed a custom-built Web Part from within Visual Studio and hit a break point by simply pressing F5. Developers using Visual Studio 2008 to build SharePoint solutions knew we'd taken what were previously 27 individual steps and reduced them down to the simple action of hitting F5.
Visual Studio also received significant improvements to support Office 2010 by delivering an improved deployment experience for solutions built on top of Office client applications, such as Excel, Word and Outlook. Office 2010 includes the Visual Studio Tools for Office runtime components necessary to run Office add-ins built using the Microsoft .NET Framework.
As part of the .NET Framework 4 and Visual Studio 2010, we also introduced the No Primary Interop Assemblies (PIAs) feature, which further simplifies deployment by eliminating the need to deploy the PIAs as part of your Office application. By eliminating the need for PIAs, developers can dramatically reduce the size and complexity of their deployment packages, saving them time and resources.
This is a very exciting year for Visual Studio developers -- especially for those who are building solutions that target Office and SharePoint. And it was all made possible by the passion and dedication of those early customers and the teams across Visual Studio, Office and SharePoint that worked together to deliver a great toolset.
For more information on developing for SharePoint and Office, make sure to visit msdn.microsoft.com.
Jay Schmelzer is a Director of Program Management on the Visual Studio Team at Microsoft. Jay and his team are responsible for the Visual Studio design-time tools and runtime components used to build line of business and cloud applications. That includes the Visual Studio support for building Microsoft Office, Microsoft SharePoint and Windows Azure solutions, Visual Studio LightSwitch, Microsoft's managed languages (VB.NET, C# and F#) as well as the CLR and .NET Framework. Prior to joining Microsoft, Jay was a partner with a leading consulting firm and specialized in the design and development of enterprise applications.