The Microsoft patterns & practices (p&p) team has released Developing Applications for SharePoint 2010 - a deep technical insight into the key concepts and issues for SharePoint 2010 solution developers. It contains guidance documentation, detailed examples, and a reusable class library. These resources are designed to help solution developers and architects make the right decisions and follow proven practices when designing and developing applications for SharePoint 2010.

This guidance will help customers understand the decision points, tradeoffs, and performance implications that the new functionality introduces; it also helps customers learn how to take best advantage of the new capabilities that SharePoint 2010 provides.

The guidance documentation is divided into four core sections:

  • Application Foundations for SharePoint 2010 describes approaches you can use to address the challenges of testability, flexibility, configuration, logging and exception handling, and maintainability; it also explains how to use the SharePoint Guidance Library components in these areas.
  • Execution Models in SharePoint 2010 provides deep technical insights into the mechanics of the full-trust execution environment, the sandbox execution environment, and various hybrid approaches to executing code in SharePoint applications.
  • Data Models in SharePoint 2010 explains new list and external data functionality and data access techniques, key design decision points that can help you to choose between standard SharePoint lists and external lists, and techniques and patterns to address large lists and list aggregation.
  • Client Models in SharePoint 2010 provides guidance on how to best use the new client-side functionality to access data and build richer client experiences with Silverlight and Ajax.

The best way to get started with Developing Applications for SharePoint 2010 is by reading the documentation. The documentation will lead you through the key concepts and then direct you to the reference implementations that demonstrate these concepts.