In this episode of our Meet the Author podcast series, Mike Woodring sits down with Rob Windsor to discuss his course SharePoint 2010 Web Part Development. In the interview Rob explains how web part development is a key skill for SharePoint developers and the differences between SharePoint web parts and ASP.NET web parts. He also covers the concept of connected web parts as well as how the material in the course relates to the upcoming SharePoint 2013.
Listen to the Audio (MP3)
[Mike] Hi this is Mike Woodring and I’m speaking with Rob Windsor about his course SharePoint 2010 Web Part Development. Rob has over 17 years of experience developing rich client and Web applications using a variety of programming languages and technologies. He is a Microsoft SharePoint MVP, widely travelled conference speaker, co-author of Professional Visual Basic 2010 and .NET4 and currently at work on the highly anticipated next edition. Hello Rob, thank you for being here today.
[Rob] Hi, Mike, how you doing?
[Mike] Very good. So to begin with I know that there is just an enormous amount of surface area to SharePoint with numerous development and administrative facets. But it’s clear from both the title and table of contents for this course that you zero right in on one specific aspect of SharePoint which is Web Part Development. Please give us an overview of what’s covered and, perhaps, not covered in the course. And talk about who this course is intended for.
[Rob] So this course is intended for basically any SharePoint developer whether they’re new to SharePoint development or they’ve been doing SharePoint development for a while. We cover Web Parts right from the foundation. So what are Web Parts and how do they work in both ASP.Net and SharePoint to the actual process of developing custom Web Parts with Visual Studio. So we go through the basics with a sort of the Hello World example, talk about things like Web Part properties so how to add properties that allow you to configure the behavior and the look and feel of your Web Parts. We talk about Web Part connections and then building Web Part page templates and adding Web Parts to those templates.
[Mike] Thanks and so why did you write a course devoted to SharePoint Web Part development?
[Rob] Well basically if you’re doing SharePoint development at all you’re doing Web Part development. It’s you know, it’s really, you know, Web Parts are the key elements for building user interfaces within SharePoint so it would be pretty rare that you would find any SharePoint developers working for any length of time who hasn’t built Web Parts. So I thought it would be, you know, this topic would cover a very broad audience.
[Mike] Good, okay, that makes a lot of sense. So now this next question is perhaps more for my clarification than anything else but I have to ask how do SharePoint Web Parts relate to ASP.Net Web Parts or are they one in the same or something different?
[Rob] So both actually. In SharePoint 2003 that’s where the real Web Part framework was added and at that point in time the Web Parts were SharePoint specific Web Parts. So the types that implemented Web Parts were in the SharePoint assemblies and the infrastructure was provided by SharePoint but as SharePoint 2007 was being developed so was ASP.NET 2.0 and the Web Part framework was pushed down into ASP.NET. So now today we have the option of using the SharePoint specific Web Parts or ASP.NET Web Parts and really the support for the SharePoint specific Web Parts is just for backwards compatibility. Pretty much any Web Parts you’d build today you’d use the ASP.NET Web Part framework. There are a couple of very specific scenarios where the SharePoint Web Parts provide some additional functionality that ASP.NET doesn’t. But the vast majority of cases you’re going to be using the ASP.NET Web Parts.
[Mike] Okay, thanks for that clarification. Now before watching this course I somewhat naively thought of Web Parts as self-contained and isolated chunks of functionality that could be dropped onto a Web page in order to surface some data to a user or provide a way for a particular piece of data to be updated. So the module in this course on Web Part connections really grabbed my attention. What do you discuss there?
[Rob] So we talk about the way that we can pass information from one Web Part to another. This becomes really important in things like dashboards where you want to have a set of Web Parts that show information in a broad spectrum or using things like the filter Web Parts where you can say I want to filter this to a specific audience or to a specific set of information that’s configurable by users. And that one filter Web Part then passes the filter information off to the other Web Parts so they can basically tailor their display. So we talk about the process we use to allow one Web Part to talk to another. Now obviously we don’t want to enforce a behavior on users where say, you know, if this Web Part appears on the page this other Web Part also has to appear on the page. So there’s a very loose coupled connection that’s really managed by the Web Part Manager and the Web Part infrastructure that’s in and around the Web Parts themselves.
[Mike] Excellent, now I’ve heard you have plans to actually add more modules to this course sometime soon. What can you tell us about that?
[Rob] Yep, so the plans are to add two additional modules. The first one is on out-of-the box Web Parts where I mentioned filter Web Parts which are, you know, part of the whole building a dashboard process we’ll cover those. We’ll cover other out-of-the box Web Parts like the data view Web Part and Web Parts people would commonly use that come with SharePoint because obviously, you know, if there’s a Web Part in SharePoint you can use you don’t want to invest time and effort into building something custom, right. If it’s there out-of-the box we might as well use that. And then there’s going to be another module which is sort of a potpourri I guess of miscellaneous stuff which is really important topics that didn’t fit into any of the modules that are currently out there. Things like rendering the Web Part asynchronously so that when we — basically when we render a page the time to load the page is the sum of all the Web Parts plus the page load time itself but if we render the Web Parts asynchronously then it’s the maximum Web Part render time plus the page render time. So we can significantly decrease page load times if there’s a lot of Web Parts on the pages. So there will be several things in there that, again, really didn’t fit into any existing modules but are important for Web Part developers to know.
[Mike] Good, so now I know that the beta for SharePoint 2013 was recently released. Will this course apply to developers building Web Parts for SharePoint 2013?
[Mike] Great, well thank you very much Rob. We’re excited to have this course out there for everyone to see.
[Rob] I’m excited too. It was a long time in coming and I’m really glad it’s been published and I’m looking forward to adding the couple of modules in that we just talked about.
[Mike] This is Rob Windsor’s new course SharePoint 2010 Web Part Development. Thanks again, Rob.
[Rob] Thank you.