2. Microsoft SharePoint Provides an extensible solution platform for the professional Microsoft .NET developer Offers a wide array of built-in features and application hosting using well-known .NET development tools and technologies You, the professional .NET developer, can use your knowledge of .NET technologies to develop on the SharePoint platform to create a new set of Web solutions
3. Get the Names Right! Windows SharePoint Services 3.0 (FREE) Microsoft Office SharePoint Server 2007 (MOSS) SharePoint Foundation 2010 (FREE) SharePoint Server 2010
4. Benefits to .NET Developers A familiar development environment for .NET developers Built-in features that developers can extend The best integrated server for Office applications The foundation for a wide variety of Intranet or Internet applications
5. SharePoint for Developers First Class SharePoint Developer Tools Faster Solution Debugging & Tuning Choice of Development Workstation Developer Productivity Comprehensive Data Access Line of Business Integration Workflow Advances Rich Platform Services Application Lifecycle Management Standardized Solution Packaging Deploy with Agility and Stability Flexible Deployment
7. SharePoint Application Landscape Business Collaboration Applications SharePoint Core Portal for LOB Application Data Single Web Part Solutions .NET | ASP.NET Customized SharePoint Server 2010 Workloads
8. Development Environment On the metal Vista or Windows 7 (SP2010) Windows Server 2008 R2 Virtualization Windows Server 2008 R2 Hyper-V role Boot to VHD Windows 7 boot to VHD Windows Server 2008 R2 boot to VHD
9. Development on Windows 7or Windows Vista SP1 (SP2010) Just for Developers Requires Following Install Guide in SDK Either SharePoint Foundation or SharePoint Server Requires x64 OS Not Supported for Production Only for Stand Alone Installation Can be Disabled through Group Policy
12. SharePoint Development Terminologies http://bit.ly/sp-devel-terminologies Features Event Receivers List Forms Web Parts Field Controls Workflows Site Definitions & Site Templates Modules Master Pages Page Layouts Solution Packages (wsp)
18. SharePoint Server Capabilities Pages and User Interface Connected Client APIs Server APIs Web UI Framework Content Search Compositions Insights Sites Communities ASP.NET forms File System Lists External Lists Query Content Types Workflow Web Services Library Features Silverlight XSLT Views Web Parts LINQ REST Client OM Event Model Solutions Features Templates Application Lifecycle Application Model (Sites) Content Management Data Model Lists Improved New
19. Overview of Data Technologies http://bit.ly/sp-videos REST APIs Strongly-typed lists http://bit.ly/sp-virtual-labs ClientOM Weakly-typed lists Client-side Data Platform Farm Site List Data External Lists ServerOM Server-side Weakly-typed lists SPLinq Strongly-typed lists New in SP2010 Improved
22. Development Best Practices http://spg.codeplex.com/ Don’t alter the SharePoint schema, assume it will change. Use facilities that already exist, such as ULS logs, instead of building your own. Limit amount of work performed in an event receiver. Don’t evaluate List.Items in a loop expression. Dispose of types correctly.
23. Iterating Lists – the WRONG way SPList myList = SPContext.Current.List; for(inti=0; i < myList.Items.Count; i++) { SPListItem listItem = myList.Items[i]; htmlWriter.Write(listItem["Title"]); }
24. Iterating Lists – the RIGHT way SPListItemCollection items = SPContext.Current.List.Items; for(inti=0; i < items.Count; i++) { SPListItem listItem = items[i]; htmlWriter.Write(listItem["Title"]); }
25. Disposing of objects http://bit.ly/best-practices-disposable-objects General rule: If you create an object using “new”, dispose of it. SPSite site = new SPSite(“http://moss”); SPWeb web = site.OpenWeb() General rule: If you access from context, DO NOT dispose of it SPSite site = SPContext.Current.Site; Use SPDisposeCheck - http://bit.ly/spdisposecheck
26. Conclusion The professional NET developer can take advantage of SharePoint Products and Technologies to build components and enterprise solutions Uses ASP.NET 2.0 framework Provides its own complete set of features Developers experienced with the .NET Framework can take advantage of the built-in features and capabilities offered
27. Summary Microsoft SharePoint Platform Development Tools Solution Package Deployment Data Technologies Development Best Practices Links to many resources….