By Balaji Kithiganahalli, author of Microsoft SharePoint 2010 Development with Visual Studio 2010 Expert Cookbook
You are an experienced .NET programmer with lots of successful projects under your belt. Now you have a client who wants you to develop some custom solutions like workflows, WebParts and others for SharePoint 2010. You feel confident that your experience in .NET programming will easily translate and you will be up and running in no time in a SharePoint environment.
For the most part it is all true. This article helps developers to transit to SharePoint development with ease. Here are some of the tips that help developers to dig deep into SharePoint programming.
- Be a SharePoint user: It is hugely necessary for a developer to understand the User Interface (UI) flow, the terminology, and to get familiarized with the actions. Be a power user of the product before you start developing for it. This helps you in creating applications that blend in with existing out-of-the-box or third party solutions that get deployed. The best tip for any developer is that 'creating a custom solution' should be a last resort. Try to use out-of-the-box functionality and if this does not satisfy business requirements, you may have to think about a custom solution.
- Understand SharePoint Administration: Now I am not saying you need to be an expert in SharePoint administration. Being one is not a bad idea, mind you. But it is very necessary for a developer to understand the common administration tasks of SharePoint. Now this is a little awkward for some developers who are in their little cuckoo nest which they don’t want to come out of. For lots of developers, administration is like an alien job that people who don’t understand development do. But remember, you the developer need to manage and administer your own development environment. There are tools that come with SharePoint that developers and administrators alike will use to perform certain configuration tasks on SharePoint. These tools, STSADM or SharePoint PowerShell, provide command line access to operations to run administration tasks. SharePoint PowerShell comes with hundreds of cmdlets for you to use. You don’t need to be an expert in all of them. But there are quite a lot of cmdlets like deploying a solution or retracting a solution, turning on or off the development dashboard, etc. Understanding these are important for a developer as well.
[Packt note: we just published Microsoft SharePoint 2010 and Windows PowerShell 2.0: Expert Cookbook].
- Development Environment: You are a power user and also understand the administration aspects of the SharePoint environment. You really want to develop your first custom solution for SharePoint. Before you go and install SharePoint foundation or enterprise version, make sure to verify that your computer is capable of running the software. SharePoint 2010 runs only on the 64 bit OS. SharePoint 2010 can run on Windows 7 as well. Even though the SharePoint installation software does a pretty good job of verifying the system requirements before installation, as a developer, you need to make sure to have a pretty good amount of RAM, rather than working with bare minimum specifications. It is recommended to use a separate virtual machine with Windows Server 2008 with SP2. You need SQL Server 2008 with the latest service packs or SQL Server 2008 R2. It also works with SQL Server 2005 with SP3 or later.
- IIS Reset: Many times during development, you will end up resetting the W3WP.exe process. This is usually done by resetting the IIS. Many a times that is not needed, all you need to do is reset your application pool. This is because, resetting IIS takes a long time, and avoiding IIS resets also reduces the downtime of other sites that are running on the server. Resetting the application pool that your site is running on will be faster and only applies to sites that are running in that app pool.
- SharePoint Designer:SharePoint designer is a great tool that can be used for quite a lot of customizations. The main advantage is quick development compared to Visual Studio. But remember, many organizations do not allow SPD to be used for customizations of SharePoint due to lack of proper support to source control integrations. SPD though is good for rapid development but has limitations on deployment from one environment to another. It is always necessary as a developer for you to educate clients on the disadvantages of any tool.
In this article, we learnt about some of the initial tasks that a SharePoint developer, coming from a background of .NET development, need to know. In future articles, I will dig deep into the development world of SharePoint using Visual Studio 2010. In the meantime, get to know your SharePoint environment and provide your own suggestions for the other developers.