This document provides an introduction to SharePoint development for .NET developers. It discusses the SharePoint development environment including using a local virtual machine or cloud VM. It reviews essential SharePoint development tools like the web browser, Office, InfoPath, SharePoint Designer, and Visual Studio. It also gives an overview of SharePoint APIs and resources for further learning.
2. Who am I?
• Kelly D. Jones
– SharePoint Architect for CHS
– 15 years industry experience; 5+ SharePoint
• My blog: http://www.KellyDJones.com
• Twitter: @KellyDJones
3. Agenda
• Reason for this talk
• SharePoint Background Info
• SharePoint Development Environment
• SharePoint Development Tools
• SharePoint Development Options
• Further Learning Resources
4. Reason for this talk
• SharePoint is Microsoft’s fastest growing
server product
– 78% of Fortune 500 use it (April 2011)
– 1 in 5 Information Workers have it
• Last year’s SP Conference had 10k
attendees
• Serious skills shortage in the job market
• “So, what do I need to get started?”
5. First, a little background
2001
SharePoint
Portal Server
SharePoint
Team Sites
(STS)
2003
SharePoint
Portal Server
(SPS)
Windows
SharePoint
Services
(WSS) 2.0
2007
Microsoft
Office
SharePoint
Server
(MOSS)
Windows
SharePoint
Services
(WSS) 3.0
2010
SharePoint
Server
SharePoint
Foundation
2013
SharePoint
Server
SharePoint
Foundation
“Platform”
“Servers”
6. SharePoint Dev Environment
• SharePoint 2007
– Windows Server 2003, x86 or x64
• SharePoint 2010 – x64 only
– Windows 7
– Windows Server
• SharePoint 2013
– Windows Server 2008 R2 SP1 x64
– Windows Server 2012
7. Dev Env: Win7 Workstation
• Pros:
– Minimizes hardware requirements
– User friendly OS (laptop support)
• Cons:
– Not full fidelity – less functional than SP on
server
– Doesn’t match production OS
– Uses workstation resources even when not
needed
– SP2010 only
8. Dev Env: Server in data center
• Pros:
– Typically administered by a server team
– Can fully match SP prod environment
– Typically better hardware/performance
• Cons:
– Typically administered by a server team
– Increased cost (server hardware $$)
– May need to share with other devs
9. Dev Env: Local Virtual Machine
• Pros:
– Dev has complete control
– Take advantage of VM snapshots, backups
– Easily toggle between VM environments (2007, 2010,
2013)
• Cons:
– Dev has complete control (requires admin skills)
– Workstation hardware: CPU, RAM, Disk
– Dev responsible for backups of VMs
– Requires x64 host OS & x64 VM software
(2010/2013)
10. Dev Env: VM in the Cloud
• Pros:
– Can be spun up quickly (CloudShare.com)
• Less admin skills required to get started
– Cost flexibility (pay for what you use)
• Cons:
– Requires internet connectivity and dependent
on hosting company (aka: cloud cons)
– May not integrate with corporate network
(domain, source control, etc.)
11. Dev Env: What’s installed?
• OS – smoother if you match SP wave
• SQL Server
• SharePoint
• Office
• Dev Tools
Tip: match your production environment:
OS, SP, SQL, and patch level (service
packs, CU)
12. SharePoint Dev Tools
• Web Browser
• Office
– Word, Excel, PowerPoint, Visio, Access
• InfoPath
• SharePoint Designer
• Visual Studio
13. SP Dev Tool: Web Browser
• Working with Lists and Libraries
22. SP Dev Tool: Visual Studio
• Create SharePoint artifacts
– lists, workflows, web parts, etc.
• Create event
receivers
23. SP Dev Tool: Visual Studio
• Build process outputs .WSP (pronounced
WISP)
• CAB file
24. SP Dev Tool: Visual Studio
• APIs available:
– Farm Solutions – traditional API
– Sandbox Solutions (new in 2010, deprecated
in 2013)
– Web Services – SOAP, REST
– Client Object Model
• JavaScript
• .NET
25. Misc Dev Tools
• On codeplex.com:
– WSP Builder (more so for 2007)
– SharePoint Log Viewer
– SharePoint Manager
– CKSDev
• PowerShell
26. Resources
• VMs:
– Microsoft Information Worker Demo 2010
– CloudShare.com
• How to build a VM: “SharePoint 2010
development environment build guide”
– Critical Path guide recommended
• MSDN / Technet
This talk assumes the audience has no experience with SharePoint.
SharePoint lists as a data storeOut of the box UI for new/edit/view recordsOut of the box admin type screens -- creating columns, creating views, handling permissions
Out of the box web services for data stored in lists
Need to know SharePoint vocabulary when searching the net for answers/info