SlideShare a Scribd company logo
1 of 13
Apps for SharePoint 2013
Alex Pop
July 2013
Application development models in
SharePoint 2010
● sandboxed solutions:
○ limited server side API access;
● farm solutions:
○ installed using "*.wsp" packages that have impact on
the whole SharePoint farm when installed or
updated
○ on a production system these solutions have to be
installed out of hours;
Application development models in
SharePoint 2013
● sandboxed solutions: deprecated;
● farm solutions: only use for applications targeted at
SharePoint administrators;
● new "apps for SharePoint" model:
○ THE recommended model for end user applications;
○ derived from SharePoint Online and Office 365
requirements;
○ isolates all custom server-side code from the
SharePoint instance
"Apps for SharePoint" types
● There are 3 new types of SharePoint
solutions:
○ SharePoint hosted, autohosted and provider hosted;
○ they all create a new ".app" file that has to be
deployed to SharePoint using a very complex
process;
● SharePoint hosted app: a SharePoint app project
containing SharePoint assets(lists, workflows, etc.) +
web pages that can only use client side code;
"Apps for SharePoint" types(cont.)
● Autohosted and Provider hosted apps:
○ both have a SharePoint app project and an ASP.
NET web project: a SharePoint app and a web
application;
○ the Autohosted solution packages all assets
(including the website and the database scripts) in
the ".app" file;
○ the Provider hosted solution packages only the
SharePoint app project into the ".app" file. The web
application deployment is done independently.
Provided hosted apps - integration
● the web application communicates with SharePoint
using:
○ a shared security certificate;
○ a helper library "AppForSharePointWebToolkit"
(available as a NuGet package);
○ the SharePoint Client Object Model(CSOM);
○ the SharePoint app manifest needs to list the
SharePoint permissions that your app needs;
Provided hosted apps - integration
(cont.)
● the web application can expose "app parts"
to SharePoint: <iframe> elements that render
content from the web application;
● the SharePoint app can:
○ package SharePoint assets(lists, content types,
workflows, etc.);
○ extend SharePoint menus;
What this all means
● employ modern web development practices:
develop clean, testable applications;
● leverage existing web development skills: you
don't need advanced SharePoint knowledge to
accomplish even the most basic tasks;
● scalable, distributed web applications: you can
allocate more resources to an app for SharePoint if and
when needed;
● support for other application frameworks?
Scenarios enabled by Apps For
SharePoint
● use SharePoint as a data store together with
a custom web application;
● use a third party data store together with a
custom web application;
● mix and match SharePoint and external data
stores;
● provide "app parts" to SharePoint;
Current SharePoint application
architecture
● the entry point for all applications is a
SharePoint page;
● the SharePoint app delivers all SharePoint
specific assets;
● the web application will render all UI
components;
● the web application will interact with
Sharepoint using the current user identity or
using a custom identity within a scheduled
job;
Development update
● Bootstrap is everywhere:
○ Bootstrap master pages now deployed on the
SharePoint server;
○ Bootstrap is used to style the app for SharePoint;
○ The result is consistent styles applied throughout;
● ASP.NET MVC:
○ provides Windows authentication and session
identity;
○ builds the single page application skeleton;
○ minifies and concatenates all assets;
Development update (cont.)
● ServiceStack: used to build RESTful , testable web
services (90% server side code coverage with
AutoFixture);
● AngularJS:
○ MV* framework for single page applications;
○ reusable web components(a.k.a the future of web);
○ testable code via dependency injection;
● Kendo UI Web: powerful grid and other widgets plus
IE8 support (now compatible with AngularJS);
● Entity Framework 5: using the code first model with
database migrations.
Notes
● Reimagine SharePoint Development: http:
//msdn.microsoft.com/en-
US/office/apps/dn133840
● Deciding between apps for SharePoint and
SharePoint solutions: http://msdn.microsoft.
com/library/sharepoint/dn268593(v=office.
15)

More Related Content

What's hot

SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
Sanjay Patel
 

What's hot (20)

Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
 
Sharepoint 2013 App
Sharepoint 2013 AppSharepoint 2013 App
Sharepoint 2013 App
 
Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015
Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015
Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
 
SharePoint Framework - Developer Preview
SharePoint Framework - Developer PreviewSharePoint Framework - Developer Preview
SharePoint Framework - Developer Preview
 
SharePoint Framework
SharePoint FrameworkSharePoint Framework
SharePoint Framework
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
 
What's New for SP2010 Devs
What's New for SP2010 DevsWhat's New for SP2010 Devs
What's New for SP2010 Devs
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
 
Webhooks in Microsoft SharePoint Online
Webhooks in Microsoft SharePoint OnlineWebhooks in Microsoft SharePoint Online
Webhooks in Microsoft SharePoint Online
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
Developing hybrid SharePoint apps that run on-premise and in the cloud - Bram...
 
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich ApplicationsIntroducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
 
What Is SPS Arabia
What Is SPS ArabiaWhat Is SPS Arabia
What Is SPS Arabia
 
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft GraphDeep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
 
Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013
 
Office 365 - Introduction to SharePoint Online Development - SharePoint Conne...
Office 365 - Introduction to SharePoint Online Development - SharePoint Conne...Office 365 - Introduction to SharePoint Online Development - SharePoint Conne...
Office 365 - Introduction to SharePoint Online Development - SharePoint Conne...
 
#OCSPUG SharePoint 2013 Best Practices
#OCSPUG SharePoint 2013 Best Practices#OCSPUG SharePoint 2013 Best Practices
#OCSPUG SharePoint 2013 Best Practices
 
Access SharePoint Remotely
Access SharePoint RemotelyAccess SharePoint Remotely
Access SharePoint Remotely
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
 

Viewers also liked

MSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appMSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to app
Joris Poelmans
 

Viewers also liked (11)

SharePoint Add-Ins - the Next Level
SharePoint Add-Ins - the Next LevelSharePoint Add-Ins - the Next Level
SharePoint Add-Ins - the Next Level
 
Get started developing apps for SharePoint 2013
Get started developing apps for SharePoint 2013Get started developing apps for SharePoint 2013
Get started developing apps for SharePoint 2013
 
Introduction to SharePoint 2013 Apps
Introduction to SharePoint 2013 AppsIntroduction to SharePoint 2013 Apps
Introduction to SharePoint 2013 Apps
 
Share point 2013 - Javascript Object Model
Share point 2013 - Javascript Object ModelShare point 2013 - Javascript Object Model
Share point 2013 - Javascript Object Model
 
Apps for SharePoint
Apps for SharePointApps for SharePoint
Apps for SharePoint
 
OAuth in SharePoint 2013
OAuth in SharePoint 2013OAuth in SharePoint 2013
OAuth in SharePoint 2013
 
JSOM and java script practices
JSOM and java script practicesJSOM and java script practices
JSOM and java script practices
 
OneNote 2013 - Top features deepdive
OneNote 2013 - Top features deepdiveOneNote 2013 - Top features deepdive
OneNote 2013 - Top features deepdive
 
App deployment
App deploymentApp deployment
App deployment
 
SharePoint 2013 Client-Side Rendering (CSR) & JSLink Templates
SharePoint 2013 Client-Side Rendering (CSR) & JSLink TemplatesSharePoint 2013 Client-Side Rendering (CSR) & JSLink Templates
SharePoint 2013 Client-Side Rendering (CSR) & JSLink Templates
 
MSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appMSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to app
 

Similar to Apps for SharePoint 2013

Deciding Between apps for SharePoint and SharePoint Solutions
Deciding Between apps for SharePoint and SharePoint SolutionsDeciding Between apps for SharePoint and SharePoint Solutions
Deciding Between apps for SharePoint and SharePoint Solutions
David J Rosenthal
 

Similar to Apps for SharePoint 2013 (20)

SP Apps, New Model, New App Store: The Office Store
SP Apps, New Model, New App Store: The Office StoreSP Apps, New Model, New App Store: The Office Store
SP Apps, New Model, New App Store: The Office Store
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
 
Relearning SharePoint Development
Relearning SharePoint DevelopmentRelearning SharePoint Development
Relearning SharePoint Development
 
SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app? SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app?
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
 
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
 
Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365
 
A Complete Guide to Python Web Development
A Complete Guide to Python Web DevelopmentA Complete Guide to Python Web Development
A Complete Guide to Python Web Development
 
Web application development process
Web application development processWeb application development process
Web application development process
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
 
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenSharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
 
Deciding Between apps for SharePoint and SharePoint Solutions
Deciding Between apps for SharePoint and SharePoint SolutionsDeciding Between apps for SharePoint and SharePoint Solutions
Deciding Between apps for SharePoint and SharePoint Solutions
 
O365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in actionO365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in action
 
SharePoint Apps model overview
SharePoint Apps model overviewSharePoint Apps model overview
SharePoint Apps model overview
 
Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0
 
Grow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFxGrow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFx
 
Building a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKitBuilding a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKit
 
Intro apps
Intro appsIntro apps
Intro apps
 
(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365
 

Recently uploaded

Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 

Apps for SharePoint 2013

  • 1. Apps for SharePoint 2013 Alex Pop July 2013
  • 2. Application development models in SharePoint 2010 ● sandboxed solutions: ○ limited server side API access; ● farm solutions: ○ installed using "*.wsp" packages that have impact on the whole SharePoint farm when installed or updated ○ on a production system these solutions have to be installed out of hours;
  • 3. Application development models in SharePoint 2013 ● sandboxed solutions: deprecated; ● farm solutions: only use for applications targeted at SharePoint administrators; ● new "apps for SharePoint" model: ○ THE recommended model for end user applications; ○ derived from SharePoint Online and Office 365 requirements; ○ isolates all custom server-side code from the SharePoint instance
  • 4. "Apps for SharePoint" types ● There are 3 new types of SharePoint solutions: ○ SharePoint hosted, autohosted and provider hosted; ○ they all create a new ".app" file that has to be deployed to SharePoint using a very complex process; ● SharePoint hosted app: a SharePoint app project containing SharePoint assets(lists, workflows, etc.) + web pages that can only use client side code;
  • 5. "Apps for SharePoint" types(cont.) ● Autohosted and Provider hosted apps: ○ both have a SharePoint app project and an ASP. NET web project: a SharePoint app and a web application; ○ the Autohosted solution packages all assets (including the website and the database scripts) in the ".app" file; ○ the Provider hosted solution packages only the SharePoint app project into the ".app" file. The web application deployment is done independently.
  • 6. Provided hosted apps - integration ● the web application communicates with SharePoint using: ○ a shared security certificate; ○ a helper library "AppForSharePointWebToolkit" (available as a NuGet package); ○ the SharePoint Client Object Model(CSOM); ○ the SharePoint app manifest needs to list the SharePoint permissions that your app needs;
  • 7. Provided hosted apps - integration (cont.) ● the web application can expose "app parts" to SharePoint: <iframe> elements that render content from the web application; ● the SharePoint app can: ○ package SharePoint assets(lists, content types, workflows, etc.); ○ extend SharePoint menus;
  • 8. What this all means ● employ modern web development practices: develop clean, testable applications; ● leverage existing web development skills: you don't need advanced SharePoint knowledge to accomplish even the most basic tasks; ● scalable, distributed web applications: you can allocate more resources to an app for SharePoint if and when needed; ● support for other application frameworks?
  • 9. Scenarios enabled by Apps For SharePoint ● use SharePoint as a data store together with a custom web application; ● use a third party data store together with a custom web application; ● mix and match SharePoint and external data stores; ● provide "app parts" to SharePoint;
  • 10. Current SharePoint application architecture ● the entry point for all applications is a SharePoint page; ● the SharePoint app delivers all SharePoint specific assets; ● the web application will render all UI components; ● the web application will interact with Sharepoint using the current user identity or using a custom identity within a scheduled job;
  • 11. Development update ● Bootstrap is everywhere: ○ Bootstrap master pages now deployed on the SharePoint server; ○ Bootstrap is used to style the app for SharePoint; ○ The result is consistent styles applied throughout; ● ASP.NET MVC: ○ provides Windows authentication and session identity; ○ builds the single page application skeleton; ○ minifies and concatenates all assets;
  • 12. Development update (cont.) ● ServiceStack: used to build RESTful , testable web services (90% server side code coverage with AutoFixture); ● AngularJS: ○ MV* framework for single page applications; ○ reusable web components(a.k.a the future of web); ○ testable code via dependency injection; ● Kendo UI Web: powerful grid and other widgets plus IE8 support (now compatible with AngularJS); ● Entity Framework 5: using the code first model with database migrations.
  • 13. Notes ● Reimagine SharePoint Development: http: //msdn.microsoft.com/en- US/office/apps/dn133840 ● Deciding between apps for SharePoint and SharePoint solutions: http://msdn.microsoft. com/library/sharepoint/dn268593(v=office. 15)