SlideShare a Scribd company logo
Custom Development for
SharePoint
What are My Options Now?
Talbott Crowell
SharePoint Saturday Rhode Island
November 9th, 2013
About Me
• http://about.me/talbott
• Solutions Architect at ThirdM
• A Founder of SharePoint Saturday Boston
• Microsoft MVP
• Blogger and Author

• @talbott
About this Talk
• For Developers
• Who want to build Custom Solutions on SharePoint
• For Architects
• Who want to understand options and architecture considerations of
the different options for building applications on SharePoint
• For Anyone
• Who wants to learn more about SharePoint 2013 and previous
versions and what is possible for customization of this great
platform
App Development History
• SharePoint 2003 – Web Parts
• SharePoint 2007 – Farm Solutions & SPD
• WSP (A CAB file with deployment assets and
instructions) which may include:
• Server Code (.NET Assemblies for GAC or BIN)
• Client Code (JavaScript Files, CSS, HTML)
• ASP.NET (ASPX, ASCX, Master Pages), Images,

Site templates, List definitions, Content Types
(CAML), Layouts, various other types of content
• SPD (SharePoint Designer)
• Create custom solutions with Workflows, JavaScript,
HTML, jQuery, Master Pages, Layouts stored in
Content Database

• SharePoint 2010
• Sandbox Solutions

• SharePoint 2013
• Apps for SharePoint
What are My Options Today
• For SharePoint 2007

and SharePoint 2010

• OOTB Configuration
• CSS, JavaScript, Web Parts
• SharePoint Designer (with designer view)
• Master Pages, Page Layouts, Power Editing
• Visual Studio WSP
• SharePoint Solutions
• Can contain: CAML declarative XML
• Compiled .NET Code (.NET Assemblies)
• Features (Scoped at Farm, Web Application, Site Collection, or Site)

• For SharePoint 2010 only
• Sandbox Solutions
• WSP with Compiled .NET Code and CAML declarative XML
What are My Options Today
• For

SharePoint 2013

• OOTB Configuration
• CSS, JavaScript, Web Parts
• SharePoint Designer (without designer view)
• Master Pages, Page Layouts, Power Editing
• Visual Studio WSP
• SharePoint Solutions
• Can contain: CAML declarative XML
• Compiled .NET Code (.NET Assemblies)
• Features (Scoped at Farm, Web Application, Site Collection, or Site)

• Sandbox Solutions
• WSP without Compiled .NET Code
• (although .NET Code is still supported for backward compatibility)

• Can contain only CAML declarative XML

• Apps for SharePoint
What are My Options Today
• For

Office 365 (aka SharePoint Online)

• OOTB Configuration
• CSS, JavaScript, Web Parts

• SharePoint Designer (without designer view)
• Master Pages, Page Layouts, Power Editing

• Sandbox Solutions
• WSP without Compiled .NET Code
• Can contain only CAML declarative XML

• Apps for SharePoint
Factors in Choosing
• Size of Development Team
• Just you or a group of people?
• Skillset
• Leverage existing skills: JavaScript, C#, etc…
• Development Environment
• Depending on what you choose, the cost for development
workstations can vary immensely
• Requirements
• Of course this should be #1, what are you trying to accomplish?
• This can be the most important factor on choosing between the
many different API’s and customization options
• Maintainability/Upgradeability
Choose the right API set in SharePoint 2013

http://bit.ly/sp2013api
Is the SharePoint Server API Dead?
Server Object Model
• The largest set of APIs is in the server object model of

managed classes
• Workflow, Alerts, Web Parts, Search, BCS
• Many more classes are added in SharePoint 2013 for
• Enterprise Content Management (ECM)
• User profiles
• Taxonomy
• Advanced search
Client Object Models
• Microsoft Options
• .NET client object model
• Silverlight Client Object Model
• SilverlightWebPart class

• Mobile object model
• REST/OData endpoints

• WCF Data Services Framework

• http://bit.ly/sp2013api
• SPServices
REST/OData endpoints
• For non-JavaScript clients
• C#, Java, etc…
• CRUD Operations on SharePoint lists
• Target the client.svc web service
• Accepts a RESTful HTTP Request
• Responds with either Atom or JSON
• Example:
• http://server/site/_api/web/lists(‘guid’)/items?$filter=City eq
‘Nashua’
Deprecated API sets
Two API sets are still supported in the SharePoint 2013
framework for backward compatibility, but we recommend
that you not use them for new projects
1. ASP.NET (asmx) web services
2. Direct Remote Procedure Calls (RPC) calls to the

owssvr.dll file
SPServices
• Compatible with SharePoint 2007, 2010, 2013
• Based on asmx web services
• Created and maintained by Marc Anderson
• Great client side JavaScript library
• http://spservices.codeplex.com/
Apps?
Apps for SharePoint Hosting Options
• Provider Hosted Apps
• SharePoint 2013 on-premise
or Office 365
• Unlimited scaling
• Autohosted Apps
• Typically Azure Web Sites
written in .NET
• Runs only in Office 365 (no
on-premise option)
• Uses the consumers Office
365 Azure resources
• SharePoint Hosted Apps
• Client side only
(JavaScript, jQuery, HTML, CS
S)
• Uses CSOM to manipulate
SharePoint object
• http://bit.ly/spapphosting
What is a Provider Hosted App
• SharePoint 2013 Compatible Application
• Hosted outside of SharePoint
• Azure
• Amazon Web Services (AWS)
• Rackspace
• Your Datacenter
• An on-premise server in your customer’s Datacenter (you provide
the Application, Hardware, and/or VM)
• Written in any language on any platform
• Java, F#, Ruby, Linux, Unix
Provider Hosted Apps
Office 365 Data Center
or On-Premise SharePoint 2013 Farm

Application Runtime and Backend
(Can be anywhere: On-Premise or Cloud)

Provider
Hosted
app

SharePoint
2013

Provider
Service

Provider Data

Customer

Provider
SharePoint App Development
System Requirements
• Visual Studio 2012
• On Premise Development Environment
• http://bit.ly/spappdevenv
• Office Developer Tools for Visual Studio 2012
• http://bit.ly/spapptools
Developing Apps?
Development Environment Decisions
• Office 365 or On-Premise?
• If Office 365, Visual Studio 2012
• If On-Premise then build your SharePoint 2013 Dev
Server
• Windows Server 2012 or Windows Server 2008 R2 SP1
• http://msdn.microsoft.com/en-us/library/fp161179.aspx
• http://msdn.microsoft.com/en-us/library/fp179923.aspx

• Andrew Connell’s Critical Path Training
• SharePoint 2013 Setup Guide for Developers
• http://bit.ly/cp2013setup
Development Environment Options
• CloudShare
• http://cloudshare.com/
• Windows Azure
• if you have MSDN
• Stand up a Server with HyperV
• MSDN licenses
• Buy a powerful workstation or laptop with adequate RAM,

etc..
• If you are doing OOTB
• just a Browser

• If you are doing SharePoint Designer
• No need for powerful workstation
How much RAM do you need?
• dfs

http://bit.ly/6gbsp2013
Azure Demo by Peter Barrera
Session Review
• Many choices in customization
• OOTB, SharePoint Designer, C#, jQuery, Sandbox Solutions, Full
Trust Farm Solutions, Apps for SharePoint
• Factors on Choosing
• Requirements, Maintainability, Upgradability, Development Team
Skillset, Budget, etc…

• Where to Go to Learn more…
Resources
• My Blog for Slides, Questions, and Follow up information
• http://bit.ly/tcrowell
• Pluralsight Videos by Andrew Connell
• Over 12 hours of Video
• http://bit.ly/acplural
• Microsoft MSDN Documentation on Apps for SharePoint
• http://bit.ly/spappmsdn
• CloudShare for developer and test hosting
• http://www.cloudshare.com/
More Resources
• Jeremy Thake’s SharePoint Apps Playbook Series
• http://bit.ly/appsplaybook
• Choose the Right API Set in SharePoint 2013
• http://bit.ly/sp2013api
• SPServices for SharePoint 2007, 2010, and 2013
• http://spservices.codeplex.com/
• CloudShare
• http://cloudshare.com/
• SharePoint 2016 Dev with only 6 GB of RAM
• http://bit.ly/6gbsp2013
Custom SharePoint Development in
SharePoint – What are My Options Now?
Presented by Talbott Crowell
@talbott

Thank You
Questions?
Thanks to our sponsors!
And you!
Custom Development for SharePoint

More Related Content

What's hot (20)

PPTX
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
European Collaboration Summit
 
PPTX
My First SharePoint Online PowerApp
Becky Bertram
 
PDF
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
European Collaboration Summit
 
PPTX
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
European Collaboration Summit
 
PPTX
ECS19 - Robi Voncina - Upgrade to SharePoint 2019
European Collaboration Summit
 
PPTX
Modern SharePoint, the Good, the Bad, and the Ugly
Bob German
 
PDF
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
European Collaboration Summit
 
PPTX
[Jansen] Transforming your classic team sites into modern group connected tea...
European Collaboration Summit
 
PPTX
SharePoint Framework, React and Office UI SPS Paris 2016 - d01
Sonja Madsen
 
PDF
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
European Collaboration Summit
 
PPTX
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
European Collaboration Summit
 
PPTX
ECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
European Collaboration Summit
 
PPTX
Going with the Flow: Rationalizing the workflow options in SharePoint Online
Bob German
 
PPTX
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
European Collaboration Summit
 
PPTX
Share point development 101
Becky Bertram
 
PPTX
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien
 
PPTX
ECS19 Bert Jansen - Modernizing your existing sites
European Collaboration Summit
 
PPTX
So you’re building an intranet
Becky Bertram
 
PPTX
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence
European Collaboration Summit
 
PPTX
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
European Collaboration Summit
 
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
European Collaboration Summit
 
My First SharePoint Online PowerApp
Becky Bertram
 
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
European Collaboration Summit
 
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
European Collaboration Summit
 
ECS19 - Robi Voncina - Upgrade to SharePoint 2019
European Collaboration Summit
 
Modern SharePoint, the Good, the Bad, and the Ugly
Bob German
 
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
European Collaboration Summit
 
[Jansen] Transforming your classic team sites into modern group connected tea...
European Collaboration Summit
 
SharePoint Framework, React and Office UI SPS Paris 2016 - d01
Sonja Madsen
 
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
European Collaboration Summit
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
European Collaboration Summit
 
ECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
European Collaboration Summit
 
Going with the Flow: Rationalizing the workflow options in SharePoint Online
Bob German
 
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
European Collaboration Summit
 
Share point development 101
Becky Bertram
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien
 
ECS19 Bert Jansen - Modernizing your existing sites
European Collaboration Summit
 
So you’re building an intranet
Becky Bertram
 
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence
European Collaboration Summit
 
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
European Collaboration Summit
 

Similar to Custom Development for SharePoint (20)

PDF
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
PPTX
Intro to SharePoint for Developers
Rob Wilson
 
PDF
Lifecycle Management with SharePoint Apps and Solutions
SPC Adriatics
 
PPTX
So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015
Ryan Schouten
 
PPTX
SharePoint 2010 Application Development
mattbremer
 
PPTX
What’s New for Devs
MicrosoftFeed
 
PPTX
SharePoint 2013 APIs demystified
SPC Adriatics
 
PPTX
SharePoint Development
Malin De Silva
 
PPTX
SharePoint Design & Development
Jonathan Schultz
 
PPTX
Introduction to SharePoint Developer
Kelly Jones
 
PPTX
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Bram de Jager
 
PPTX
Getting started with SharePoint 2013 online development
Jeremy Thake
 
PPTX
2014 SharePoint Saturday Melbourne Apps or not to Apps
Gilles Pommier
 
PPTX
Uncovering the Latest in SharePoint Development
Eric Overfield
 
PPTX
So You Want to Be a SharePoint Developer - SPS Utah 2015
Ryan Schouten
 
PPTX
Yes, You Can Develop for SharePoint
Elizabeth Szabo
 
PPTX
New SharePoint Features in Visual Studio 2012!
SPC Adriatics
 
PDF
WKDNUG SP2010 Development Presentation
Rob Wilson
 
PPTX
SP2010 Developer Tools
Mohamed Yehia Abdul Kader
 
PPTX
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
Ayman El-Hattab
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
Intro to SharePoint for Developers
Rob Wilson
 
Lifecycle Management with SharePoint Apps and Solutions
SPC Adriatics
 
So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015
Ryan Schouten
 
SharePoint 2010 Application Development
mattbremer
 
What’s New for Devs
MicrosoftFeed
 
SharePoint 2013 APIs demystified
SPC Adriatics
 
SharePoint Development
Malin De Silva
 
SharePoint Design & Development
Jonathan Schultz
 
Introduction to SharePoint Developer
Kelly Jones
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Bram de Jager
 
Getting started with SharePoint 2013 online development
Jeremy Thake
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
Gilles Pommier
 
Uncovering the Latest in SharePoint Development
Eric Overfield
 
So You Want to Be a SharePoint Developer - SPS Utah 2015
Ryan Schouten
 
Yes, You Can Develop for SharePoint
Elizabeth Szabo
 
New SharePoint Features in Visual Studio 2012!
SPC Adriatics
 
WKDNUG SP2010 Development Presentation
Rob Wilson
 
SP2010 Developer Tools
Mohamed Yehia Abdul Kader
 
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
Ayman El-Hattab
 
Ad

More from Talbott Crowell (13)

PPTX
Talbott's brief History of Computers for CollabDays Hamburg 2025
Talbott Crowell
 
PPTX
Developing a Provider Hosted SharePoint app
Talbott Crowell
 
PPTX
Developing a provider hosted share point app
Talbott Crowell
 
PPTX
Introduction to F# 3.0
Talbott Crowell
 
PPTX
PowerShell and SharePoint @spsnyc July 2012
Talbott Crowell
 
PPTX
PowerShell and SharePoint
Talbott Crowell
 
PPTX
Welcome to windows 8
Talbott Crowell
 
PPTX
Exploring SharePoint with F#
Talbott Crowell
 
PPTX
Automating PowerShell with SharePoint
Talbott Crowell
 
PPTX
F# And Silverlight
Talbott Crowell
 
PPTX
SharePoint Saturday Boston 2010
Talbott Crowell
 
PPTX
Introduction to F#
Talbott Crowell
 
PPTX
Architecting Solutions for the Manycore Future
Talbott Crowell
 
Talbott's brief History of Computers for CollabDays Hamburg 2025
Talbott Crowell
 
Developing a Provider Hosted SharePoint app
Talbott Crowell
 
Developing a provider hosted share point app
Talbott Crowell
 
Introduction to F# 3.0
Talbott Crowell
 
PowerShell and SharePoint @spsnyc July 2012
Talbott Crowell
 
PowerShell and SharePoint
Talbott Crowell
 
Welcome to windows 8
Talbott Crowell
 
Exploring SharePoint with F#
Talbott Crowell
 
Automating PowerShell with SharePoint
Talbott Crowell
 
F# And Silverlight
Talbott Crowell
 
SharePoint Saturday Boston 2010
Talbott Crowell
 
Introduction to F#
Talbott Crowell
 
Architecting Solutions for the Manycore Future
Talbott Crowell
 
Ad

Recently uploaded (20)

PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 

Custom Development for SharePoint

  • 1. Custom Development for SharePoint What are My Options Now? Talbott Crowell SharePoint Saturday Rhode Island November 9th, 2013
  • 2. About Me • http://about.me/talbott • Solutions Architect at ThirdM • A Founder of SharePoint Saturday Boston • Microsoft MVP • Blogger and Author • @talbott
  • 3. About this Talk • For Developers • Who want to build Custom Solutions on SharePoint • For Architects • Who want to understand options and architecture considerations of the different options for building applications on SharePoint • For Anyone • Who wants to learn more about SharePoint 2013 and previous versions and what is possible for customization of this great platform
  • 4. App Development History • SharePoint 2003 – Web Parts • SharePoint 2007 – Farm Solutions & SPD • WSP (A CAB file with deployment assets and instructions) which may include: • Server Code (.NET Assemblies for GAC or BIN) • Client Code (JavaScript Files, CSS, HTML) • ASP.NET (ASPX, ASCX, Master Pages), Images, Site templates, List definitions, Content Types (CAML), Layouts, various other types of content • SPD (SharePoint Designer) • Create custom solutions with Workflows, JavaScript, HTML, jQuery, Master Pages, Layouts stored in Content Database • SharePoint 2010 • Sandbox Solutions • SharePoint 2013 • Apps for SharePoint
  • 5. What are My Options Today • For SharePoint 2007 and SharePoint 2010 • OOTB Configuration • CSS, JavaScript, Web Parts • SharePoint Designer (with designer view) • Master Pages, Page Layouts, Power Editing • Visual Studio WSP • SharePoint Solutions • Can contain: CAML declarative XML • Compiled .NET Code (.NET Assemblies) • Features (Scoped at Farm, Web Application, Site Collection, or Site) • For SharePoint 2010 only • Sandbox Solutions • WSP with Compiled .NET Code and CAML declarative XML
  • 6. What are My Options Today • For SharePoint 2013 • OOTB Configuration • CSS, JavaScript, Web Parts • SharePoint Designer (without designer view) • Master Pages, Page Layouts, Power Editing • Visual Studio WSP • SharePoint Solutions • Can contain: CAML declarative XML • Compiled .NET Code (.NET Assemblies) • Features (Scoped at Farm, Web Application, Site Collection, or Site) • Sandbox Solutions • WSP without Compiled .NET Code • (although .NET Code is still supported for backward compatibility) • Can contain only CAML declarative XML • Apps for SharePoint
  • 7. What are My Options Today • For Office 365 (aka SharePoint Online) • OOTB Configuration • CSS, JavaScript, Web Parts • SharePoint Designer (without designer view) • Master Pages, Page Layouts, Power Editing • Sandbox Solutions • WSP without Compiled .NET Code • Can contain only CAML declarative XML • Apps for SharePoint
  • 8. Factors in Choosing • Size of Development Team • Just you or a group of people? • Skillset • Leverage existing skills: JavaScript, C#, etc… • Development Environment • Depending on what you choose, the cost for development workstations can vary immensely • Requirements • Of course this should be #1, what are you trying to accomplish? • This can be the most important factor on choosing between the many different API’s and customization options • Maintainability/Upgradeability
  • 9. Choose the right API set in SharePoint 2013 http://bit.ly/sp2013api
  • 10. Is the SharePoint Server API Dead?
  • 11. Server Object Model • The largest set of APIs is in the server object model of managed classes • Workflow, Alerts, Web Parts, Search, BCS • Many more classes are added in SharePoint 2013 for • Enterprise Content Management (ECM) • User profiles • Taxonomy • Advanced search
  • 12. Client Object Models • Microsoft Options • .NET client object model • Silverlight Client Object Model • SilverlightWebPart class • Mobile object model • REST/OData endpoints • WCF Data Services Framework • http://bit.ly/sp2013api • SPServices
  • 13. REST/OData endpoints • For non-JavaScript clients • C#, Java, etc… • CRUD Operations on SharePoint lists • Target the client.svc web service • Accepts a RESTful HTTP Request • Responds with either Atom or JSON • Example: • http://server/site/_api/web/lists(‘guid’)/items?$filter=City eq ‘Nashua’
  • 14. Deprecated API sets Two API sets are still supported in the SharePoint 2013 framework for backward compatibility, but we recommend that you not use them for new projects 1. ASP.NET (asmx) web services 2. Direct Remote Procedure Calls (RPC) calls to the owssvr.dll file
  • 15. SPServices • Compatible with SharePoint 2007, 2010, 2013 • Based on asmx web services • Created and maintained by Marc Anderson • Great client side JavaScript library • http://spservices.codeplex.com/
  • 16. Apps?
  • 17. Apps for SharePoint Hosting Options • Provider Hosted Apps • SharePoint 2013 on-premise or Office 365 • Unlimited scaling • Autohosted Apps • Typically Azure Web Sites written in .NET • Runs only in Office 365 (no on-premise option) • Uses the consumers Office 365 Azure resources • SharePoint Hosted Apps • Client side only (JavaScript, jQuery, HTML, CS S) • Uses CSOM to manipulate SharePoint object • http://bit.ly/spapphosting
  • 18. What is a Provider Hosted App • SharePoint 2013 Compatible Application • Hosted outside of SharePoint • Azure • Amazon Web Services (AWS) • Rackspace • Your Datacenter • An on-premise server in your customer’s Datacenter (you provide the Application, Hardware, and/or VM) • Written in any language on any platform • Java, F#, Ruby, Linux, Unix
  • 19. Provider Hosted Apps Office 365 Data Center or On-Premise SharePoint 2013 Farm Application Runtime and Backend (Can be anywhere: On-Premise or Cloud) Provider Hosted app SharePoint 2013 Provider Service Provider Data Customer Provider
  • 20. SharePoint App Development System Requirements • Visual Studio 2012 • On Premise Development Environment • http://bit.ly/spappdevenv • Office Developer Tools for Visual Studio 2012 • http://bit.ly/spapptools
  • 21. Developing Apps? Development Environment Decisions • Office 365 or On-Premise? • If Office 365, Visual Studio 2012 • If On-Premise then build your SharePoint 2013 Dev Server • Windows Server 2012 or Windows Server 2008 R2 SP1 • http://msdn.microsoft.com/en-us/library/fp161179.aspx • http://msdn.microsoft.com/en-us/library/fp179923.aspx • Andrew Connell’s Critical Path Training • SharePoint 2013 Setup Guide for Developers • http://bit.ly/cp2013setup
  • 22. Development Environment Options • CloudShare • http://cloudshare.com/ • Windows Azure • if you have MSDN • Stand up a Server with HyperV • MSDN licenses • Buy a powerful workstation or laptop with adequate RAM, etc.. • If you are doing OOTB • just a Browser • If you are doing SharePoint Designer • No need for powerful workstation
  • 23. How much RAM do you need? • dfs http://bit.ly/6gbsp2013
  • 24. Azure Demo by Peter Barrera
  • 25. Session Review • Many choices in customization • OOTB, SharePoint Designer, C#, jQuery, Sandbox Solutions, Full Trust Farm Solutions, Apps for SharePoint • Factors on Choosing • Requirements, Maintainability, Upgradability, Development Team Skillset, Budget, etc… • Where to Go to Learn more…
  • 26. Resources • My Blog for Slides, Questions, and Follow up information • http://bit.ly/tcrowell • Pluralsight Videos by Andrew Connell • Over 12 hours of Video • http://bit.ly/acplural • Microsoft MSDN Documentation on Apps for SharePoint • http://bit.ly/spappmsdn • CloudShare for developer and test hosting • http://www.cloudshare.com/
  • 27. More Resources • Jeremy Thake’s SharePoint Apps Playbook Series • http://bit.ly/appsplaybook • Choose the Right API Set in SharePoint 2013 • http://bit.ly/sp2013api • SPServices for SharePoint 2007, 2010, and 2013 • http://spservices.codeplex.com/ • CloudShare • http://cloudshare.com/ • SharePoint 2016 Dev with only 6 GB of RAM • http://bit.ly/6gbsp2013
  • 28. Custom SharePoint Development in SharePoint – What are My Options Now? Presented by Talbott Crowell @talbott Thank You Questions?
  • 29. Thanks to our sponsors! And you!