SlideShare a Scribd company logo
Developing SharePoint 2013 Apps
with Visual Studio 2012
Bram de Jager
SharePoint Architect | Microsoft Certified Solution Master: SharePoint
Agenda
Evolution
Apps for SharePoint
Visual Studio Tools
REST & CSOM APIs
1

EVOLUTION
Development Evolution
Investment in
Portals & content
2003

 Web Parts
 Site
Definitions

App discovery & management
2007

 LOB
applications
 Custom
server side
code
 WSP
deployment

2010






Silverlight
CSOM limited
Sandbox
Web Template

2013

 Apps
 Client side
experience
 CSOM
 REST/oData
Customization Options
Farm






Full trust solutions
Customizations to
file system of
servers
Hosted in same
process as
SharePoint
Server side
SharePoint API
access
Classic model from
2007

Sandbox




Hosted in isolated
process
Limited server side
SharePoint API
access
No external service
calls



SharePoint Apps





Deprecated in
SharePoint
2013



New Apps model
Deployed from
corporate catalog or
Office Store
Manage permission
and licenses
specifically
Simple install and
upgrade process
Preferred option
“

Note that code-based sandboxed
solutions are still supported in
SharePoint Online 2013 but, no
further investments in that
infrastructure are planned. We
recommend you consider the
Cloud App Model (CAM) as an
alternative.

“
App Development Scenarios
Deployment Options

Customization Options

On-Premise Farm
Installation

Farm-Trust Solutions

Web Browser

SharePoint Online
(Office 365)

Sandboxed Solutions

SharePoint Designer

Hosted Installation

SharePoint-Hosted
app

Visual Studio

Provider-Hosted app

Eclipse, etc

Autohosted app

Development Tools
2

APPS FOR SHAREPOINT
App Shapes
Full page
Implement complete app experiences to satisfy business
scenarios
App Parts
Create app parts that can interact with the SharePoint
experience
UI command extensions
Add new commands to the ribbon and item menus
Hosting Options
Provider-hosted app
Provide your own hosting environment

SharePoint
Host Web

Your Hosted Site
(IIS)

Cloud-hosted apps
- Use server code
- Receive SP events
- Use OAuth to access
SP

Autohosted app
Windows Azure + SQL Azure provisioned
automatically as apps are installed

SharePoint
Host Web

Azure

SharePoint-Hosted app
Provisions an isolated sub web on a host web
- Use SP artifacts & out-of-box web parts
- Use HTML & JavaScript for UI & client-side logic
- Use Workflows for middle tier logic

SharePoint
Host Web
SharePoint
App Web
3

VISUAL STUDIO TOOLS
Visual Studio SharePoint Tools
• Development Environments
• Develop against a local SharePoint server
• Remote development against SharePoint Online (Office 365)
• Tools
• Office Developer Tools
• Download http://dev.office.com
Debug your app
• No app registration required
• SharePoint Developer Site
• ClientId & ClientSecret are generated for you

• IISExpress is used to host Web project
• ~remoteAppUrl token update so it points to IISExpress Url
(http://localhost:1234)
• LocalDB is used for SQL database
• Connection string updated in web.config from SQL project
• Local workflow service is started & configured
Publish your app
• SharePoint-hosted & Autohosted
• No app registration required
• Everything included in the .app package

• Provider-hosted
• Developer must acquire ClientId & ClientSecret via Seller Dashboard (Office
Store only)
• SharePoint artifacts in .app package
• Web assets in Web Deploy package - developer must deploy
• Developer must publish & deploy SQL assets if not in Web Deploy package
Anatomy of an App Package

App Web

WS
P

.app Package
(OPC)

Host
Web

(from WSP)

Azure
“

DEMO
Building your first app

“
Demo Silly Facts
• SharePoint-Hosted app
• Look around
• AppManifest.xml
• SharePoint Artifacts
• Silly Fact content type and Facts list
• App Part (Client Web Part)
• Custom Action (Host web)
4

REST & CSOM
Changes from 2010 to 2013
• The client.svc service extended with REST capabilities
• client.svc now supports direct access from REST clients
• client.svc accepts HTTP GET, PUT, POST requests
• Implemented in accordance with OData protocol
• CSOM Extended new APIs
• Focus investment on SharePoint Server APIs
• Search, Social, Taxonomy, Workflow, Analytics, Sharing, Publish
ing, eDiscovery, IRM, BCS, … and more
SharePoint 2013 Remote API
_api is new alias for _vti_bin/client.svc
Server
Client

REST
OData
JSON

CSOM
JavaScript
Library

Silverlight
Library

Custom Client Code

.Net CLR
Library
Why is REST Important?
• Significant Industry Momentum
• Simple and Easy to Use
• Much easier to use than SOAP-based Web service
• Higher productivity when using JavaScript and jQuery
• Results can be returned in JSON and ATOM format
• Test in a browser
• Platform agnostic
• Each query is submitted with a unique URL
• Results can be cached by proxy servers
REST URLs in SharePoint 2013
• CSOM URLS can go through _api folder
• Simplifies URLs that need to be built
• Removes client.svc file name from URL
• You can replace this URL
• http://contoso.com/_vti_bin/client.svc/web
• With this URL
• http://contoso.com/_api/web
Mapping Objects to Resources
• Example REST URLs targeting SharePoint
• _api/web/lists
• _api/web/lists/getByTitle('Announcements')
• _api/web/getAvailableWebTemplates(lcid=1033)
App Authentication
• Use OAuth for secure communications
• SharePoint & web application (IIS) trust third party (ACS)
• Trust developed using ClientId & ClientSecret
• SharePoint & ACS know the ClientId
• Web application & ACS know the ClientSecret
Online authentication
“

DEMO
Using CSOM and
REST

“
Demo CSOM and REST
• Provider-Hosted app
• Add web project
• Chrome
• Use CSOM and REST to create silly facts
• User Profile (REST)
• Search (REST)
• Taxonomy (CSOM)
5

WRAP-UP
Summary
• The way forward for customizations on SharePoint
• Build for the cloud (Office 365)
• Heavily invested in CSOM and REST, allowing interaction with
SharePoint
Try it yourself
• Office Store
• Play around with current Apps for SharePoint
• Office 365 playground
• Sign up on http://dev.office.com for Office 365 playground
• SharePoint Client Browser
• http://spcb.codeplex.com
“

Questions & Answers
Thank You!

“
Bram de Jager
bram.de.jager@macaw.nl | bramdejager.wordpress.com |
@bramdejager
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connections Amsterdam 2013 - Bram de Jager
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connections Amsterdam 2013 - Bram de Jager
Ad

More Related Content

What's hot (20)

App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
Toni Il Caiser
 
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...
BlueMetalInc
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
Elie Kash
 
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
SPTechCon
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
SPC Adriatics
 
O365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
O365Con18 - External Collaboration with Azure B2B - Sjoukje ZaalO365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
O365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
NCCOMMS
 
OAuth in SharePoint 2013
OAuth in SharePoint 2013OAuth in SharePoint 2013
OAuth in SharePoint 2013
Dinusha Kumarasiri
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
Talbott Crowell
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous Integration
SharePoint Saturday New Jersey
 
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
NCCOMMS
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
NCCOMMS
 
Oauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsOauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted apps
James Tramel
 
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
NCCOMMS
 
Designing for SharePoint Provider Hosted Apps
Designing for SharePoint Provider Hosted AppsDesigning for SharePoint Provider Hosted Apps
Designing for SharePoint Provider Hosted Apps
Roy Kim
 
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
Bram de Jager
 
O365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
O365Con18 - Azure AD Connect Inside and Out - Sander BerkouwerO365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
O365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
NCCOMMS
 
Introducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelIntroducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app model
Jeremy Thake
 
Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...
SPC Adriatics
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
SPC Adriatics
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
SPC Adriatics
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
Toni Il Caiser
 
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...
BlueMetalInc
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
Elie Kash
 
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
SPTechCon
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
SPC Adriatics
 
O365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
O365Con18 - External Collaboration with Azure B2B - Sjoukje ZaalO365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
O365Con18 - External Collaboration with Azure B2B - Sjoukje Zaal
NCCOMMS
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
Talbott Crowell
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous Integration
SharePoint Saturday New Jersey
 
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
NCCOMMS
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
NCCOMMS
 
Oauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsOauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted apps
James Tramel
 
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
NCCOMMS
 
Designing for SharePoint Provider Hosted Apps
Designing for SharePoint Provider Hosted AppsDesigning for SharePoint Provider Hosted Apps
Designing for SharePoint Provider Hosted Apps
Roy Kim
 
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
Bram de Jager
 
O365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
O365Con18 - Azure AD Connect Inside and Out - Sander BerkouwerO365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
O365Con18 - Azure AD Connect Inside and Out - Sander Berkouwer
NCCOMMS
 
Introducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelIntroducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app model
Jeremy Thake
 
Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...
SPC Adriatics
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
SPC Adriatics
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
SPC Adriatics
 

Viewers also liked (20)

Visual Studio 2012
Visual Studio 2012Visual Studio 2012
Visual Studio 2012
Byron Paguay
 
Getting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'BrienGetting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'Brien
Chris O'Brien
 
Circuitos elétricos corrente contínua e corrente Alternada otávio markus - ...
Circuitos elétricos corrente contínua e corrente Alternada   otávio markus - ...Circuitos elétricos corrente contínua e corrente Alternada   otávio markus - ...
Circuitos elétricos corrente contínua e corrente Alternada otávio markus - ...
Ricardo Akerman
 
Análise de circuitos em corrente contínua
Análise de circuitos em corrente contínuaAnálise de circuitos em corrente contínua
Análise de circuitos em corrente contínua
Claudecir Garcia Martins
 
Programação assíncrona com c sharp
Programação assíncrona com c sharpProgramação assíncrona com c sharp
Programação assíncrona com c sharp
André Bires
 
Aprendendo a programar - Programação Procedural vs OOP
Aprendendo a programar - Programação Procedural vs OOPAprendendo a programar - Programação Procedural vs OOP
Aprendendo a programar - Programação Procedural vs OOP
Leonardo Bastos
 
Solucionário introdução à análise de circuitos - robert l. boylestad - 10ª ...
Solucionário   introdução à análise de circuitos - robert l. boylestad - 10ª ...Solucionário   introdução à análise de circuitos - robert l. boylestad - 10ª ...
Solucionário introdução à análise de circuitos - robert l. boylestad - 10ª ...
Estevão Moura Costa
 
Ingeniería electrónica
Ingeniería  electrónicaIngeniería  electrónica
Ingeniería electrónica
DandresCR
 
Apostila de eletrotécnica II
Apostila de eletrotécnica IIApostila de eletrotécnica II
Apostila de eletrotécnica II
Ricardo Akerman
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
César Augusto Pessôa
 
Aula 2 eletroeletrônica
Aula 2   eletroeletrônicaAula 2   eletroeletrônica
Aula 2 eletroeletrônica
GIGLLIARA SEGANTINI DE MENEZES
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?
Jeff Bramwell
 
Manual visual basic .net
Manual visual basic .net Manual visual basic .net
Manual visual basic .net
YESSICA MARIA PARRA GRAJALES
 
New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!
SPC Adriatics
 
Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)
Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)
Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)
julio Astureyme sagástegui
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
Rooney Joh
 
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big dataLógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
Rodrigofn
 
Visual Basic IDE Introduction
Visual Basic IDE IntroductionVisual Basic IDE Introduction
Visual Basic IDE Introduction
Ahllen Javier
 
Visual Studio 2012 introduction
Visual Studio  2012 introductionVisual Studio  2012 introduction
Visual Studio 2012 introduction
Nicko Satria Consulting
 
Circuitos & soluções volume 6 downtronica.blogspot.com
Circuitos & soluções volume 6   downtronica.blogspot.comCircuitos & soluções volume 6   downtronica.blogspot.com
Circuitos & soluções volume 6 downtronica.blogspot.com
Rodrigo Martins
 
Visual Studio 2012
Visual Studio 2012Visual Studio 2012
Visual Studio 2012
Byron Paguay
 
Getting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'BrienGetting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'Brien
Chris O'Brien
 
Circuitos elétricos corrente contínua e corrente Alternada otávio markus - ...
Circuitos elétricos corrente contínua e corrente Alternada   otávio markus - ...Circuitos elétricos corrente contínua e corrente Alternada   otávio markus - ...
Circuitos elétricos corrente contínua e corrente Alternada otávio markus - ...
Ricardo Akerman
 
Análise de circuitos em corrente contínua
Análise de circuitos em corrente contínuaAnálise de circuitos em corrente contínua
Análise de circuitos em corrente contínua
Claudecir Garcia Martins
 
Programação assíncrona com c sharp
Programação assíncrona com c sharpProgramação assíncrona com c sharp
Programação assíncrona com c sharp
André Bires
 
Aprendendo a programar - Programação Procedural vs OOP
Aprendendo a programar - Programação Procedural vs OOPAprendendo a programar - Programação Procedural vs OOP
Aprendendo a programar - Programação Procedural vs OOP
Leonardo Bastos
 
Solucionário introdução à análise de circuitos - robert l. boylestad - 10ª ...
Solucionário   introdução à análise de circuitos - robert l. boylestad - 10ª ...Solucionário   introdução à análise de circuitos - robert l. boylestad - 10ª ...
Solucionário introdução à análise de circuitos - robert l. boylestad - 10ª ...
Estevão Moura Costa
 
Ingeniería electrónica
Ingeniería  electrónicaIngeniería  electrónica
Ingeniería electrónica
DandresCR
 
Apostila de eletrotécnica II
Apostila de eletrotécnica IIApostila de eletrotécnica II
Apostila de eletrotécnica II
Ricardo Akerman
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
César Augusto Pessôa
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?
Jeff Bramwell
 
New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!
SPC Adriatics
 
Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)
Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)
Circuitos magnéticos y transformadores (recomendado por MIT - UTEC - UNI)
julio Astureyme sagástegui
 
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big dataLógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
Rodrigofn
 
Visual Basic IDE Introduction
Visual Basic IDE IntroductionVisual Basic IDE Introduction
Visual Basic IDE Introduction
Ahllen Javier
 
Circuitos & soluções volume 6 downtronica.blogspot.com
Circuitos & soluções volume 6   downtronica.blogspot.comCircuitos & soluções volume 6   downtronica.blogspot.com
Circuitos & soluções volume 6 downtronica.blogspot.com
Rodrigo Martins
 
Ad

Similar to Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connections Amsterdam 2013 - Bram de Jager (20)

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
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
Talbott Crowell
 
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...
Fabio Franzini
 
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
Juan Carlos Gonzalez
 
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?
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
SharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppSharePoint 2013 App or Not to App
SharePoint 2013 App or Not to App
Kenneth Maglio
 
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
Tobias Lekman
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webparts
Prabhu Nehru
 
SPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business AppSPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business App
Usama Wahab Khan Cloud, Data and AI
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
SPS Paris
 
Introduction to SharePoint Framework
Introduction to SharePoint FrameworkIntroduction to SharePoint Framework
Introduction to SharePoint Framework
Małgorzata Borzęcka
 
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas VochtenOffice Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
ITProceed
 
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
Małgorzata Borzęcka
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
Kashif Imran
 
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in AzureHeading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Xenox Garavito
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps
Gilles Pommier
 
#spsuk: Understanding the Office 365 Architecture
#spsuk: Understanding the Office 365 Architecture#spsuk: Understanding the Office 365 Architecture
#spsuk: Understanding the Office 365 Architecture
pearce.alex
 
Connector API Apps
Connector API AppsConnector API Apps
Connector API Apps
BizTalk360
 
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
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
Talbott Crowell
 
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...
Fabio Franzini
 
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
Juan Carlos Gonzalez
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
SharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppSharePoint 2013 App or Not to App
SharePoint 2013 App or Not to App
Kenneth Maglio
 
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
Tobias Lekman
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webparts
Prabhu Nehru
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
SPS Paris
 
Introduction to SharePoint Framework
Introduction to SharePoint FrameworkIntroduction to SharePoint Framework
Introduction to SharePoint Framework
Małgorzata Borzęcka
 
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas VochtenOffice Track: SharePoint Apps for the IT Pro - Thomas Vochten
Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
ITProceed
 
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
Małgorzata Borzęcka
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
Kashif Imran
 
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in AzureHeading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Xenox Garavito
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps
Gilles Pommier
 
#spsuk: Understanding the Office 365 Architecture
#spsuk: Understanding the Office 365 Architecture#spsuk: Understanding the Office 365 Architecture
#spsuk: Understanding the Office 365 Architecture
pearce.alex
 
Connector API Apps
Connector API AppsConnector API Apps
Connector API Apps
BizTalk360
 
Ad

Recently uploaded (20)

TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 

Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connections Amsterdam 2013 - Bram de Jager

  • 1. Developing SharePoint 2013 Apps with Visual Studio 2012 Bram de Jager SharePoint Architect | Microsoft Certified Solution Master: SharePoint
  • 2. Agenda Evolution Apps for SharePoint Visual Studio Tools REST & CSOM APIs
  • 4. Development Evolution Investment in Portals & content 2003  Web Parts  Site Definitions App discovery & management 2007  LOB applications  Custom server side code  WSP deployment 2010     Silverlight CSOM limited Sandbox Web Template 2013  Apps  Client side experience  CSOM  REST/oData
  • 5. Customization Options Farm      Full trust solutions Customizations to file system of servers Hosted in same process as SharePoint Server side SharePoint API access Classic model from 2007 Sandbox    Hosted in isolated process Limited server side SharePoint API access No external service calls  SharePoint Apps     Deprecated in SharePoint 2013  New Apps model Deployed from corporate catalog or Office Store Manage permission and licenses specifically Simple install and upgrade process Preferred option
  • 6. “ Note that code-based sandboxed solutions are still supported in SharePoint Online 2013 but, no further investments in that infrastructure are planned. We recommend you consider the Cloud App Model (CAM) as an alternative. “
  • 7. App Development Scenarios Deployment Options Customization Options On-Premise Farm Installation Farm-Trust Solutions Web Browser SharePoint Online (Office 365) Sandboxed Solutions SharePoint Designer Hosted Installation SharePoint-Hosted app Visual Studio Provider-Hosted app Eclipse, etc Autohosted app Development Tools
  • 9. App Shapes Full page Implement complete app experiences to satisfy business scenarios App Parts Create app parts that can interact with the SharePoint experience UI command extensions Add new commands to the ribbon and item menus
  • 10. Hosting Options Provider-hosted app Provide your own hosting environment SharePoint Host Web Your Hosted Site (IIS) Cloud-hosted apps - Use server code - Receive SP events - Use OAuth to access SP Autohosted app Windows Azure + SQL Azure provisioned automatically as apps are installed SharePoint Host Web Azure SharePoint-Hosted app Provisions an isolated sub web on a host web - Use SP artifacts & out-of-box web parts - Use HTML & JavaScript for UI & client-side logic - Use Workflows for middle tier logic SharePoint Host Web SharePoint App Web
  • 12. Visual Studio SharePoint Tools • Development Environments • Develop against a local SharePoint server • Remote development against SharePoint Online (Office 365) • Tools • Office Developer Tools • Download http://dev.office.com
  • 13. Debug your app • No app registration required • SharePoint Developer Site • ClientId & ClientSecret are generated for you • IISExpress is used to host Web project • ~remoteAppUrl token update so it points to IISExpress Url (http://localhost:1234) • LocalDB is used for SQL database • Connection string updated in web.config from SQL project • Local workflow service is started & configured
  • 14. Publish your app • SharePoint-hosted & Autohosted • No app registration required • Everything included in the .app package • Provider-hosted • Developer must acquire ClientId & ClientSecret via Seller Dashboard (Office Store only) • SharePoint artifacts in .app package • Web assets in Web Deploy package - developer must deploy • Developer must publish & deploy SQL assets if not in Web Deploy package
  • 15. Anatomy of an App Package App Web WS P .app Package (OPC) Host Web (from WSP) Azure
  • 17. Demo Silly Facts • SharePoint-Hosted app • Look around • AppManifest.xml • SharePoint Artifacts • Silly Fact content type and Facts list • App Part (Client Web Part) • Custom Action (Host web)
  • 19. Changes from 2010 to 2013 • The client.svc service extended with REST capabilities • client.svc now supports direct access from REST clients • client.svc accepts HTTP GET, PUT, POST requests • Implemented in accordance with OData protocol • CSOM Extended new APIs • Focus investment on SharePoint Server APIs • Search, Social, Taxonomy, Workflow, Analytics, Sharing, Publish ing, eDiscovery, IRM, BCS, … and more
  • 20. SharePoint 2013 Remote API _api is new alias for _vti_bin/client.svc Server Client REST OData JSON CSOM JavaScript Library Silverlight Library Custom Client Code .Net CLR Library
  • 21. Why is REST Important? • Significant Industry Momentum • Simple and Easy to Use • Much easier to use than SOAP-based Web service • Higher productivity when using JavaScript and jQuery • Results can be returned in JSON and ATOM format • Test in a browser • Platform agnostic • Each query is submitted with a unique URL • Results can be cached by proxy servers
  • 22. REST URLs in SharePoint 2013 • CSOM URLS can go through _api folder • Simplifies URLs that need to be built • Removes client.svc file name from URL • You can replace this URL • http://contoso.com/_vti_bin/client.svc/web • With this URL • http://contoso.com/_api/web
  • 23. Mapping Objects to Resources • Example REST URLs targeting SharePoint • _api/web/lists • _api/web/lists/getByTitle('Announcements') • _api/web/getAvailableWebTemplates(lcid=1033)
  • 24. App Authentication • Use OAuth for secure communications • SharePoint & web application (IIS) trust third party (ACS) • Trust developed using ClientId & ClientSecret • SharePoint & ACS know the ClientId • Web application & ACS know the ClientSecret
  • 27. Demo CSOM and REST • Provider-Hosted app • Add web project • Chrome • Use CSOM and REST to create silly facts • User Profile (REST) • Search (REST) • Taxonomy (CSOM)
  • 29. Summary • The way forward for customizations on SharePoint • Build for the cloud (Office 365) • Heavily invested in CSOM and REST, allowing interaction with SharePoint
  • 30. Try it yourself • Office Store • Play around with current Apps for SharePoint • Office 365 playground • Sign up on http://dev.office.com for Office 365 playground • SharePoint Client Browser • http://spcb.codeplex.com
  • 32. Bram de Jager [email protected] | bramdejager.wordpress.com | @bramdejager

Editor's Notes

  • #6: SandboxedSolutionsdeprecated statement: http://msdn.microsoft.com/en-us/library/jj163114.aspx
  • #7: Sandbox solutionsSandbox solutions are upgraded with the content databases and activated once upgrade is complete. If your solution includes customizations, however, you’ll need to evaluate them individually to ensure they work as expected in the new environment.Note that code-based sandboxed solutions are still supported in SharePoint Online 2013 but, no further investments in that infrastructure are planned. We recommend you consider the Cloud App Model as an alternative. See What’s new for developers in SharePoint 2013 for information. http://office.microsoft.com/en-001/office365-sharepoint-online-enterprise-help/plan-to-upgrade-your-sharepoint-online-environment-to-the-2013-experience-HA104034491.aspx
  • #13: Office Developer Tools RTM on Tue 4 March: http://blogs.msdn.com/b/somasegar/archive/2013/03/04/now-available-office-developer-tools-for-visual-studio-2012.aspx
  • #15: Use when app is ready for…Testing by anther person or teamUpload to Store or App CatalogUse the packages from app.publish folder
  • #16: Open Packaging Conventions (OPC): http://msdn.microsoft.com/en-us/magazine/cc163372.aspxStandard For Packaging Data, also used for Office Open XML.
  • #19: Legacy of Frontpage…, finally gone
  • #25: ACS = Access Control Service (Windows Azure Access Control Service)