Share via


Good "SharePoint Development" = Good .NET Development

Gregory MacBeth provides a nice enumeration of the skills you need to be a “SharePoint developer”.  It’s a good list.  I endorse it.  But examine it closely, and I hope you’ll come to the conclusion that the way to be successful when building Web site solutions (collaborative or otherwise) with WSS and/or portal solutions with SPS is to be a good .NET developer.

What’s on Gregory’s list?  The .NET framework.  C# and/or VB.NET.  Web services.  ADO.NET.  XML/XSLT.  Windows/IIS security appear before we ever get to anything about WSS or SPS.  SQL Server as well (but I’m hoping that you’re spending very little if any time programming directly against SQL Server in WSS/SPS-land).

This is by design.  I’ve been building collaborative or knowledge management-focused apps for a long time, and it’s always been frustrating to have operated with tools and platforms several generations behind that which was available for other kinds of solutions.  In 2003, WSS and SPS made collaboration and infoworker-focused developers full citizens in .NET Nation.  What’s more, it meant that .NET developers could use their skills on collaboration and portal solutions.

What’s truly unique to WSS-based development?  For starters:

  • Site definitions
  • Our object models
  • Our Web services (and WebDAV, and FPRPCs)
  • List definitions and CAML

Other than CAML, we’re not talking about a special set of tools.  We’re just talking about a special set of server facilities.  Web Parts aren’t that different from standard ASP.NET custom (a.k.a. server) controls, and besides, when we all unify around ASP.NET 2.0, they won’t be WSS-specific any longer.

When it comes to SPS, the only thing that’s different is creating search extensions, i.e., protocol handlers and iFilters, which are decidedly non .NET development topics.

Which reminds me:  Attention tool builders and other interested developers — in the next release, protocol handler development and IFilter development will still need to be in C++. Do not wait for the rules to change, because they won’t (at least not before “v4”). If you want to extend our search technology to new content sources and formats, you might as well get started now.   Search gets a lot better in many ways, but the method for developing IFilters/protocol handlers isn’t one of them.

At this stage of the game I can get away with telling you some of the things that aren’t going to change so you don’t dismiss investing in skills/facilities that will still be important for several years to come.  Within the next few months, as soon as we start publicly talking about the next releases of WSS and everything in the Microsoft Office System, I’ll start spilling what we are doing next for developers.  And in the meantime, I’ll push the envelope as much as I can.

Comments

  • Anonymous
    March 15, 2005
    I am interested in learning SPS Development. But the stumbling block is that the set up seems to be so complicated requiring W2K3 server and another workstation. What is the best way for a developer to set up a machine to learn the concepts of SPS. Can you provide some information with regard to the same. I am sure there are other developers out there who would find this information useful too.
  • Anonymous
    March 15, 2005
    In answer to Kris... use Virtual PC. Setup SPS in a Virtual PC and you have it.

  • Anonymous
    April 04, 2005
    Is there a good reference describing a development methodology for SharePoint based solutions, including hardware requirements, software setup, work processes, Word design templates etc.?
  • Anonymous
    April 04, 2005
    The list provided by Gregory MacBeth is missing a reference on CAML
  • Anonymous
    October 12, 2005
    I am a .Net developer, I can write web parts for sharepoint, but I now need to extend sharepoint search to index a EDM package without giving away the farm and exposing everything.

    where is a good protolol handlers / Ifilters reference or class for non C++ programmers (dummies)?

    thanks!
  • Anonymous
    May 11, 2006
    The comment has been removed
  • Anonymous
    February 21, 2009
    PingBack from http://blog.henryong.com/2009/02/21/creating-a-sharepoint-a-team-for-your-organization/