Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm a PHP developer with familiarity with Rails and a focus on MVC development. My company is moving more and more to SharePoint and I feel I need to learn to build application within the SharePoint system.

I have some brief introduction to C# but that's about it. I've used some SharePoint Designer and the web interface but not that heavily (most of my "development" so far for SharePoint has been html/css/javascript page manipulation in SPDesigner).

What, and in what order should I be learning to eventually develop applications for SharePoint? Also, any good resources for each step?

share|improve this question

migrated from Feb 28 '12 at 22:15

This question came from our site for professional and enthusiast programmers.

Should be migrated to Programmers site. – gahooa Feb 28 '12 at 13:06

Maybe ProcessMaker could be a starting point? It is a open source BPM system based on PHP and has some basic SharePoint triggers. You could start playing with those and take a look at the code?

share|improve this answer

SharePoint is so big and complex that you really need to have a specific requirement in mind.

You will find that SharePoint gets in the way a bit if you are used to simple web apps which do only what you write them to do and can be upgraded with a simple file copy. However, there are ways to make it closer to modern web development.

For the last year or so I have been building web parts that look a lot like mvc controllers. The tools I use are on github -

You can do a lot of stuff client side, which is the same regardless of platform. There are even libraries that let you use jquery to read from SharePoint lists, though I generally prefer custom web services myself. I'd stay away from designer for this though - it works well to start with, but eventually becomes Unmaintainable.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.