I got an email today regarding a blog post by Jeffrey Palermo on the shortcomings of SharePoint as a development platform.
Now I have to say, SharePoint is not without fault (particularly in the area of feature packaging and deployment), but Jeffrey's perceived issues with SharePoint really show either the lack of personal development experience with SharePoint or a lack of creativity on the part of the team he's working with.
Let's get one thing clear first, okay? SharePoint is meant as an enterprise collaboration and document storage platform, first and foremost. One must always bear this in mind with regards to any discussion on SharePoint. Why is it so big? Why is it clunky in some places? Why does it have to be installed on a server OS (okay, I admit, this one is probably more about licensing and $$ than anything technical)?
It seems that Jeffrey's major beef, that it must be installed on a server OS, kills any benefits of SharePoint as a development platform immediately. So let's tackle this one first.
First, a disclaimer: I'm not a SharePoint guru. I don't have 5 years of experience with SharePoint. I'm only going on what I've learned in working with SharePoint, day in and day out, for the last year.
In our development group of 5 or so people, we've managed to develop against SharePoint quite well, despite the fact that we all run XP as our primary development environment. How? Virtual machines. Of course, some would view this as a hassle, as another stumbling block or quite clumsy. I view it otherwise as there are numerous benefits in developing against a VM server environment:
Look, the suggestion of developing with SharePoint in a "native" environment in a team is just plain stupid; it's a matter of working harder, not smarter and it shows a lack of creativity in terms of development management. (One disclaimer: some Visual Studio tools from Microsoft for SharePoint cannot be installed on XP...this is a shortcoming, for sure, but it hasn't really affected our development. If absolutely necessary, you can install a stripped down copy of Visual Studio on the VM).
Now let's address each of the other 7 points that Jeffrey brings up:
From personal experience, I've found SharePoint a very compelling application development platform (again, that's not to say that it doesn't have shortcomings) because it's nothing more than ASP.NET but with the added bonus of a document management/storage API, profiling, permissions, and it acts as an integration platform for a variety of applications.
You can make it as hard or as easy as you want it to be with regards to developing applications for SharePoint. It's only a matter of how much time you are willing to put into flipping through the API and understanding the fundamentals of working with SharePoint. A big part of successfully and painlessly developing against SharePoint is creativity in terms of setting up your development environment and automation (batch scripts, pre/post-build scripts).
The points that Jeffrey, didn't bring up -- the true pain points -- are really "fringe" features so far as I'm concerned. Namely, this centers around SharePoint hosted and integrated workflows and InfoPath (because no one likes and no one actually uses the otherwise useless and purposeless InfoPath). You're not required to use InfoPath or SharePoint hosted workflow; in FirstPoint, absent the early documentation and tools required to be productive on this front, we made an early decision to host workflow in our own environment. Sure, we miss out on some of the native features of SharePoint like workflow state visibility and integrated forms via Forms Services, but I don't see it as something we can't overcome as documentation and tool support becomes better on this front.
Remember Me
newtelligence dasBlog 1.8.5223.0
This site is a combo blog/portfolio for me, Charles Chen.
Sign In