SharePoint as a Development Platform

While preparing to present my 2 sessions at the “Maximize Your SharePoint Investment: Leverage It as a Development Platform!” events that we’re doing for Northeast enterprise customers in Waltham, MA (November 19) and Rochester, NY (December 9) I continue to be amazed at how rich and robust SharePoint is for configuring and developing custom solutions.

I’ve been involved in architecting and developing browser based applications for well over 10 years – both on Microsoft and other technologies. My technical evolution over the years has been consistent with what many others have experienced:

  1. Static sites: HTML & JavaScript using tools like Notepad, FrontPage, DreamWeaver

  2. Dynamic sites : C++, ISAPI extensions on IIS, Java

  3. Wrapper applications: ASP

  4. Frameworks: ASP.NET, AJAX

  5. Platform: SharePoint

As with previous evolutions, using SharePoint as an application platform enables you to get out of the business of writing plumbing functions and focus on building applications that add unique value to your business. For example, why should you spend time writing workflows from scratch or building forms based solutions when SharePoint has out of the box capabilities and tools to automate most of that? Why should you write complex web controls, search, business intelligence and sites when SharePoint has so many out of the box site templates, features and web parts that you can configure and extend?

SharePoint provides a great layer of abstraction, services and functionality on top of ASP.NET This helps you accelerate your development cycles, lower project risk, reduce costs and get to market faster.

I’m very excited about many things that are coming in SharePoint 2010 to further improve the development experience on the SharePoint platform. In future blog posts I’ll dive into these areas deeper. However, if I’m pressed to outline my top 5 items in these areas they would be:

  1. Development on a non server environment. In SharePoint 2010, you can now develop on 64-bit client machines that are running Windows 7 or Vista SP1 (or later).
  2. SharePoint as a first class citizen in Visual Studio 2010. Great improvements here that any ASP.NET developer would love including, integrated debugging, visual designers, project/control templates, WSP deployment/packaging and tracing. There is also rich integrated Application Lifecycle Management through Visual Studio and Team Foundation Server.
  3. Silverlight web parts shipping out of the box to enable you to quickly add rich Silverlight capabilities to your SharePoint site.
  4. Composite applications that include round tripping, packaging and distribution of tasks between business analysts, power users and developers. Significant improvements such as Visio 2010 for designing workflows; SharePoint Designer improvements (including exporting to reusable WSP packages); Access Services; InfoPath Forms Services; Word Services; Visio Services; PerformancePoint Services; and Excel Services.
  5. Business Connectivity Services for creating reusable read/write data connections to external data sources (e.g. Active Directory, ERP, CRM, SQL Server, Oracle, etc.) that can be exposed and used across SharePoint and the Office clients, including off-line usage via SharePoint Workspace.

There is so much more that we’ll get into at the local events and in future blog posts. For now, I encourage you to check out some of the links and resources highlighted in my earlier SharePoint 2010 blog post.