Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.
Today I notice a blog thread initiated by a post from MVP Jeffrey Palermo on the merits of SharePoint as a development platform
Jeffrey lists a few facets of what makes a great development platform, most of which I agree with.
I'm the first to moan and rant about the pain of SharePoint but this is mostly based on ignorance and impatience. I'm learning fast and am starting to appreciate the benefits of using SharePoint as a development platform.
But back to the original question: Is SharePoint a Great Development Platform? Using Jeffry's list above lets see.
Easy to install : There's only a few options in the installer and once you understand what each means and why you would chose each option, then yes, I think it's very easy to install.
Easy to configure : For out of the box operation of WSS or MOSS it's not too bad. If you want some enterprise features then there is quite a bit of configuration to wade through. So, maybe yes, maybe no - it depends.
Integrates well with simple tools : Not totally sure what Jeffrey means here but I think he's talking about development tools. On that basis, you would have to say yes. Visual Studio 2005 and the SharePoint extensions make it very easy to create and deploy features. Visual Studio 2008 support is coming for VSeWSS but it does a better job with SharePoint sites already. There is also a huge number of tools and samples for SharePoint from the community and vendors.
Easily extended to make simple tools : Not sure this really applies to SharePoint. It can certainly be extended - very easily in fact - but for simple tools? Simple is not a word I associate with SharePoint.
Easy to debug : Definitely yes - from within Visual Studio. However, diagnostically it can be tricky so I'd say that's a maybe.
Easy to create test automation : It's no harder than any other server platform. We have created unit tests for MS CRM - if you can test that you can test anything!
All configuration stores easily in source control : Source control of web.config is a pain for most web sites, more so with SharePoint. If your doing SharePoint development properly then you may have less configuration that normal web sites.
Other Stuff : SharePoint provides so much base functionality out of the box. Any pain you experience must be weighed against the benefits and time savings that are delivered by this.
To fail SharePoint for development on the basis that you have to use a server OS ?? Sorry, but this is ridiculous. I can't imagine any serious developer using XP or Vista as a development OS. Why?
Of course, if you only create single user desktop widgets then you can probably use XP or Vista quite happily.
SharePoint is a large complex beast. It's not another .Net API or some little platform you can learn in 20 minutes. It's designed to solve complex human problems and manage data in many different formats. I can't say for sure if it's a great development platform or not, but I KNOW for a FACT that Microsoft are working very, very hard to make it so.