SharePoint is not just a web application, it is a web platform. Being a SharePoint developer is not easy. If you have ever done any SharePoint development, you’re probably aware of some of the challenges. Here are some points that I think will make SharePoint development experience better.
1. Use OOTB tools before jumping into custom development –Developers that are new to SharePoint don’t usually hesitate to jump into creating custom solutions to solve their business and technical challenges, but this is usually not a right approach in SharePoint environment. As I mentioned previously, SharePoint is not just a web application, it is a web platform and a gigantic one. I have been in SharePoint business for last 5 years and there is not a week that goes by, that I don’t learn something new. The point is that make sure to investigate OOTB features before developing one yourself. SharePoint has everything from web publishing to collaboration to wiki. I am sure that 80% of your business challenges will be solved or partially solved by one of the standard features of SharePoint without doing any custom development.
2. Use .NET 3.5 with SharePoint – SharePoint 2007 (MOSS and WSS) was built on .NET 2.0 framework, but that doesn’t mean that you have to stick to it. Not only .NET 3.5 is supported by SharePoint, it also makes SharePoint better and fun to code in. Some improvements that .NET 3.5 provides to SharePoint environment include Language Integrated Query (LINQ) support, Integrated ASP.NET Ajax support and new ASP.NET 3.5 controls.
3. Use SPDisposeCheck tool to avoid memory leaks – This tool is not yet released by Microsoft, but it is something to keep an eye out for. Disposing SharePoint objects is not a very straight forward task. There are strange and inconsistent rules to call dispose method on SharePoint objects and in addition the MSDN documentation around this is not very clear and accurate either. Hopefully, this tool will solve all these dispose problems and make SharePoint development a bit easier for many of us.
4. Use Silverlight 2 to enhance User Experience – Silveright 1 was based on JavaScript language but Silverlight 2 also supports C# 3.0 and a big subset of standard .NET API library. The UI experience that Silverlight provides is rich and far better than standard HTML. Silverligh2 integration with .NET platform makes it very easy to integrate Silverlight with SharePoint environment.
5. Use standard .NET best practices – After all, SharePoint is built on top of .NET platform. Therefore, all the best practices that apply to .NET also apply to SharePoint. If you are not following standard .NET best practices in your SharePoint development then it is the time to start. I highly suggest reading Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries to look more into it.
Happy New Year!
Talha