How do I develop for SharePoint?
This is a common question that I get asked quite a bit from developers who are now starting to use SharePoint.
I am currently involved in informing and advising developers on how to use SharePoint as a development platform. The most common thing I hear from most developers is that SharePoint development is not easy.
I would like to argue otherwise. Whilst I agree in principal that it’s not the best experience in terms of available tools, things are now heading in the right direction.
Let me tell you why you should start using SharePoint as a developer
Besides that SharePoint provides some excellent out of the box features for organisations to start using straight away such as versioning and document collaboration, Search and lists. So as a developer you should look at ways how applications that is being built can be integrated with SharePoint as in most cases where SharePoint is used within the organisation it becomes very compelling to deliver functionality on top of SharePoint.
As Bil Simser points out:
*“The future is here and moving fast. Being a SharePoint expert isn’t just about knowing all the technologies, layers, and tiers that encompasses SharePoint because frankly that’s not realistic. SharePoint is just another layer in the stack, another tool in the toolbox, for us “developers” to work with. Whether we choose to weigh more heavily on the SharePoint API or the ASP.NET one, it’s just a matter of what we’re trying to accomplish. Being a SharePoint expert is about knowing what’s available and making use of it, and getting the guys who really know this stuff inside and out to build it for you (or if you’re that guy, build that part yourself).” *
http://weblogs.asp.net/bsimser/archive/2007/03/12/on-being-a-sharepoint-expert.aspx
So if you are developer thinking of building an application where SharePoint is already deployed in your organisation take some time out and do some research. I know that we are all busy and people demand things “NOW”. But in the long term perspective taking a day to read and understand what SharePoint offers will only provide you with more ammo for your armoury. And maybe some real smart ways for developing applications built on top an already deployed platform that will give your organisation quick business benefits value.
**Resources **
Here are some links to resources that will help developers to fast track your SharePoint development efforts.
Microsoft has an Online Course Catalog that is available here and you will need an msn sign in id to take part in these courses. (They are free)
http://www.microsoft.com/learning/office2007/developer/default.mspx
Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions RTM
**WSS eLearning: **
https://www.microsoftelearning.com/eLearning/courseDetail.aspx?courseId=61917
Learn about architecture and list management, building and extending Windows SharePoint Services sites, and packaging and deploying Windows SharePoint Services solutions. This clinic will help you understand deployment options and incorporate the technology into your solution development.
**MOSS eLearning: **
http://www.microsoft.com/learning/elearning/course/5046.asp
**List of Books **
[http://www.asaris.de/sites/walsh/Lists/WSSv3%20FAQ/V%20Books.aspx](https://www.asaris.de/sites/walsh/Lists/WSSv3 FAQ/V Books.aspx)
There are “plans” to release a dev version of WSS. But there are no confirmed days as such. So the way to develop is to have a VPC (Virtual PC) or run Windows Server 2003 as a development environment machine. Basically once you get past the first hurdles its pretty plain sailing in terms of development.
You can develop using Windows XP or Vista but for deployment you will need a test server running Windows Server 2003.
The main thing is you will be using ASP.Net 2.0 and as such there is not much different from other applications that you develop.
Very useful link from Andrew Connell:
http://www.andrewconnell.com/blog/articles/MossWcmResources.aspx
Pretty much has all the information you need for SharePoint development.
In another post I will discuss about how to set up a local development environment for SharePoint where multiple developers can work on based on a few projects that I am currently involved with.