The patterns & practices SharePoint Guidance team have just released a new Guidance for Developing SharePoint Applications. Whether you are a newbie or an intermediate or an experienced SharePoint developer, this guide is going to help you improve your SharePoint development skills. Many people (at least the newbies) fail to get the SharePoint basics right and this guide explores various application and design patterns to help build a good SharePoint application.
From the guide:
This guidance covers the following subjects in the context of SharePoint applications:
- It describes how to use application and design patterns to help solve common development challenges.
- It describes the design and use of the SharePoint Guidance Library, which is a set of reusable components.
- It describes how to design and secure a site topology.
- It describes how to design and implement an application that is scalable, manageable, and configurable.
- It describes how to integrate a SharePoint application with Web services. This includes security options and design tradeoffs.
- It describes how to develop a SharePoint application that can publish and deploy content.
- It describes flexible approaches to navigation and branding, including how to implement custom cross-site collection global navigation and custom site navigation.
- It includes guidance on many of the common decisions that developers encounter, such as choosing between a list and database.
- It includes implementation examples that are demonstrated in the Partner Portal application, the Training Management application, and in the QuickStarts.
- It includes guidance on testing. For example, there are discussions on unit tests, build verification tests, and continuous integration tests.
- It includes a discussion of scale and stress testing that uses the Partner Portal application as an example.
- It describes how to set up different team build and testing environments.
- It describes how to manage the application life cycle through development, test, deployment, and upgrading.
- It describes a team-based application development.
You can download the guide here.
Just for the heads up, the guidance also has the SharePoint Guidance Library logging and tracing component that can be included in your SharePoint applications to log events/error messages.