New developer choices -
comparing SharePoint add-ins
(apps) with Office 365 apps
Chris O’Brien – MVP
www.sharepointnutsandbolts.com
Independent Consultant
Head of Development, Content
and Code
www.sharepointnutsandbolts.com
@ChrisO_Brien
http://cob-sp.com/COBLinkedIn
About me
Warning! Name change 
Warning! Name change 
Agenda
SP2003 –
hacking
in ASPX
files
SP2007 –
WSP
packages
SP2010 –
WSPs
and
CSOM
SP2013 – WSPs,
CSOM and app
model (remote
code)
Now – As
above +
Office
365 APIs
A brief history
The SharePoint App Model –
"State of the Nation"
Apps, 2 years on – THE GOOD
The model is WORKING! Office 365 IS customisable AND stable
Apps, 2 years on – THE BAD
Raises the bar even higher to be a SharePoint developer?
What developers say about apps..
“I get it, but things are harder/take longer”
“So I have to write code to create fields and content types now? Really?”
“Getting on-premises infrastructure sorted for apps is painful!”
What end-users say about apps..
“Why can’t I go directly into [tool X] in my browser?“
“It doesn’t make sense to go from a SharePoint site!”
“It doesn’t work well on my phone!”
What was needed
 Something less tied to SharePoint
 Something which works well on mobile devices
 Something easier for non-SharePoint developers to pick up
Let me introduce our client..
This is Joe 
(Office 365
intranet
manager)
 Build me a meetings app!!
 It needs to:
–Allow selection of
attendees
–Stores agenda of meeting
in SharePoint doc lib
–Inserts entry into calendar
of attendees
–Tracks booked meetings to
a SharePoint list somehow
–Work well on mobile
devices
This is our
brave dev
team 
Dev team questions
We’ll come back to this scenario later…
Do the Office 365 APIs
cover the requirements?
What about the
user experience?
How would we roll it
out “globally”?
Solve common problems with Add-Ins
Full trust (farm) solution Remote code/apps
Timer job Scheduled process in Azure (CSOM to
read/write to SP)
Event receiver Remote event receiver
Custom field control JSLink
Site definition 1. Remote provisioning solution
2. WebTemplate in NCSS * (less preferred)
Run With Elevated Privileges App-only authentication
Custom web parts/user control App part, or JavaScript injection
Feature receiver, DelegateControl,
application page
None – but other approaches possible
* NCSS = no-code sandbox solution
SHAREPOINT ADD-INS: END-USER
AND ADMIN
Click “next slide” to see this demo
on YouTube, or use link:
https://www.youtube.com/watch?
v=cNi353Mpwyk
Key takeaways – SharePoint Add-Ins
Installed to SharePoint sites
Generally accessed from Site
Contents page
Can be “admin-deployed” via a
tenant-scoped app install
Office 365 apps
What is an Office 365 app?
Office 365 apps – the vision
“Everyone”
has an Office
365 account
(kinda!)
Lots of apps
need to:
- store files,
- send mail/
calendar
invites etc.
Use Office
365 instead of
app’s own!
“Making it easy for other platforms/devices to make use of
Office 365”
Office 365 apps – the promise
Mail, Contacts, Calendar (Exchange)
Files (SharePoint)
Users and Groups (Azure AD)
AIM:
Remove differences
between SharePoint
and Exchange
(e.g. app which stores
e-mail attachments to
OneDrive)
OFFICE 365 APPS: END-USER AND
ADMIN
Click “next slide” to see this demo
on YouTube, or use link:
https://www.youtube.com/watch?
v=xznfjNFIlAU
Key takeaways – Office 365 apps
Registered in Azure AD
Users can browse to app “directly” –
and asked to sign-in if needed
When app is assigned to user,
shows in their “My apps” page
Development differences
API forms
Office 365 API capabilities
Mail Contacts
Calendar Files
Users &
groups
Discovery
Service
Expense app:
Looks up user’s
manager
Sends mail with details
Expense form/receipt
saved to ODFB site
Fetching files (.NET client library)
Fetching e-mail (.NET client library)
Other uses of Azure AD
Getting started with Office 365 APIs
Option 1 – best for new apps
• Start app from OfficeDev
MVC Starter Project
(http://cob-
sp.com/O365MvcStarter)
• Integrate your functionality
into this app
• Simplest approach
Option 2 – best for existing
apps
• Use existing application
• Integrate Office 365 APIs
into project using MSDN
article - http://cob-
sp.com/O365AppStart
• Copy in code/web.config
settings etc.
• More steps to do
DEVELOPING OFFICE 365 APPS:
GETTING STARTED
Click “next slide” to see this demo
on YouTube, or use link:
https://www.youtube.com/watch?
v=B8w1oJj3eJw
Key differences for developers
SharePoint Add-Ins Office 365 app
APIs SharePoint CSOM/REST (.NET or
JavaScript)
Office 365 APIs (REST + many
libraries)
Authentication SharePoint context/access tokens Azure AD auth
Hosting SharePoint-hosted/provider-hosted Provider-hosted
Deployment Installed to SharePoint site Standalone
Mobile
support
No “native” apps – just web Support for iOS/Android/Windows 8
native apps (specific API client
libraries)
But I can’t do it with the Office 365 APIs!
https://samlman.wordpress.com/2015/02/27/using-adal-access-tokens-with-o365-rest-apis-and-csom/
Key differences summarised
App for SharePoint Office 365 app
How app is
accessed
SharePoint site (Site Contents page) App Launcher/My Apps page
(or direct link to app)
App
registration
Registered with AppRegNew.aspx Registered in Azure AD
App
deployment
SharePoint app catalog/installed to site Standalone
Users assigned to app in Azure
AD
Authentication Access/context tokens – handled by
SharePointContext class
Handled by client libraries/ADAL
libraries
Office 365 app *would* be a good foundation
here:
 APIs cover most of the requirements
(calendaring, contacts etc.)
 The user experience would work well –
accessible anywhere in Office 365
 Option of creating a device specific app (e.g.
iOS)
BUT:
 Would need to step outside O365 APIs for
writing to SharePoint lists -> no drama, could
use same auth token in CSOM code
Back to our scenario..
Summary
 Apps are really about REMOTE CODE
 Office 365 apps = just an extension of this model
 Office 365 apps are great for “cross-service” capability
 Capability will grow – this will become a standard approach
 Some differences to consider:
 End-user | Admin | Developer
Thank you for attending!
Chris O’Brien
www.sharepointnutsandbolts.com

More Related Content

PPTX
Chris OBrien - Weaving Enterprise Solutions into Office Products
PPTX
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
PPTX
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
PPTX
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
PPTX
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
PPTX
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
PPTX
Application Lifecycle Management for Office 365 development
PPTX
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Application Lifecycle Management for Office 365 development
Chris O'Brien - Introduction to the SharePoint Framework for developers

What's hot (20)

PPTX
COB - Azure Functions for Office 365 developers
PPTX
Do's and don'ts for Office 365 development
PPTX
Modern SharePoint Development using Visual Studio Code
PPTX
Get started with building native mobile apps interacting with SharePoint
PPTX
Chris O'Brien - Building AI into Power Platform solutions
PPTX
ECS19 Bert Jansen - Modernizing your existing sites
PPTX
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
PPTX
SharePoint Framework, React and Office UI SPS Paris 2016 - d01
PPTX
COB ESPC18 - Rich PowerApps with offline support
PPTX
SharePoint Framework - Developer Preview
PDF
[Struyf] Automate Your Tasks With Azure Functions
PPTX
Building productivity solutions with Microsoft Graph
PDF
Sviluppare app per office
PDF
Come riprogettare le attuali farm solution di share point con il nuovo modell...
PPTX
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
PPTX
Building Flexible SharePoint Solutions with AngularJS
PPTX
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
PPTX
[Pinto] Is my SharePoint Development team properly enlighted?
PPTX
Building SharePoint Single Page Applications Using AngularJS
PPTX
Office 2013 loves web developers slide
COB - Azure Functions for Office 365 developers
Do's and don'ts for Office 365 development
Modern SharePoint Development using Visual Studio Code
Get started with building native mobile apps interacting with SharePoint
Chris O'Brien - Building AI into Power Platform solutions
ECS19 Bert Jansen - Modernizing your existing sites
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
SharePoint Framework, React and Office UI SPS Paris 2016 - d01
COB ESPC18 - Rich PowerApps with offline support
SharePoint Framework - Developer Preview
[Struyf] Automate Your Tasks With Azure Functions
Building productivity solutions with Microsoft Graph
Sviluppare app per office
Come riprogettare le attuali farm solution di share point con il nuovo modell...
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
Building Flexible SharePoint Solutions with AngularJS
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
[Pinto] Is my SharePoint Development team properly enlighted?
Building SharePoint Single Page Applications Using AngularJS
Office 2013 loves web developers slide
Ad

Viewers also liked (20)

DOC
SharePoint Online App Model Guidance
PDF
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
PPTX
TypeScript and SharePoint Framework
PPTX
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
PPTX
SPS Barcelona 2016 - Branding Strategies for SharePoint and Add-ins - From De...
PDF
Hard learned CSOM and REST tips
PPTX
Share point hosted add ins munich
PPTX
SharePoint 2013 Javascript Object Model
PPTX
Essential Knowledge for SharePoint Add-Ins
PPTX
Northeastern DB Class Introduction to Marklogic NoSQL april 2016
PPTX
Rev Your Engines - SharePoint Performance Best Practices
PPTX
Real World SharePoint Add-In Development
PPTX
Develop a SharePoint App in 45 Minutes
PPTX
Top 10 sharepoint interview questions with answers
PPTX
Deep-dive building solutions on the SharePoint Framework
PPTX
Introduction to Azure Functions - Tutorial
PDF
OneDrive For Business - What's new for IT Administrators and End-users
PDF
10 Reasons your SharePoint Migration Failed
PPTX
10 Reasons to Avoid Folders in SharePoint 2013/2010
SharePoint Online App Model Guidance
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
TypeScript and SharePoint Framework
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
SPS Barcelona 2016 - Branding Strategies for SharePoint and Add-ins - From De...
Hard learned CSOM and REST tips
Share point hosted add ins munich
SharePoint 2013 Javascript Object Model
Essential Knowledge for SharePoint Add-Ins
Northeastern DB Class Introduction to Marklogic NoSQL april 2016
Rev Your Engines - SharePoint Performance Best Practices
Real World SharePoint Add-In Development
Develop a SharePoint App in 45 Minutes
Top 10 sharepoint interview questions with answers
Deep-dive building solutions on the SharePoint Framework
Introduction to Azure Functions - Tutorial
OneDrive For Business - What's new for IT Administrators and End-users
10 Reasons your SharePoint Migration Failed
10 Reasons to Avoid Folders in SharePoint 2013/2010
Ad

Similar to Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps (20)

PPTX
Getting Started with Office 365 Development
PPTX
SP Apps, New Model, New App Store: The Office Store
PPTX
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013
PPTX
The SharePoint 2013 App Model
PPTX
2014 SharePoint Saturday Melbourne Apps or not to Apps
PPTX
Office apps in Office 365 - Napa the next big thing
PPTX
Sp2013 overview
PPTX
Sp2013 overview biwug
PPTX
SharePoint Server 2013: to app or not to app?
PDF
SharePoint Add-Ins - Brief Overview
PPTX
Prepararsi a spostare le proprie applicazioni share point su office 365
PPTX
Share point unvealed apps in sharepoint 2013
PPTX
SharePoint 2013 Apps Introduction
PPTX
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
PPTX
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
PPTX
Developing Apps for SharePoint 2013
PPTX
SharePoint Fest Chicago - From SharePoint to Office 365 Development
PDF
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
PPTX
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
PDF
Made for Mobile - Let Office 365 Power Your Mobile Apps
Getting Started with Office 365 Development
SP Apps, New Model, New App Store: The Office Store
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013
The SharePoint 2013 App Model
2014 SharePoint Saturday Melbourne Apps or not to Apps
Office apps in Office 365 - Napa the next big thing
Sp2013 overview
Sp2013 overview biwug
SharePoint Server 2013: to app or not to app?
SharePoint Add-Ins - Brief Overview
Prepararsi a spostare le proprie applicazioni share point su office 365
Share point unvealed apps in sharepoint 2013
SharePoint 2013 Apps Introduction
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Developing Apps for SharePoint 2013
SharePoint Fest Chicago - From SharePoint to Office 365 Development
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
Made for Mobile - Let Office 365 Power Your Mobile Apps

More from Chris O'Brien (15)

PPTX
Chris OBrien - Azure DevOps for managing work
PPTX
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
PPTX
COB - PowerApps - the good, the bad and the ugly - early 2018
PPTX
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)
PPTX
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
PPTX
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
PPTX
SP2013 for Developers - Chris O'Brien
PPTX
Getting to grips with SharePoint 2013 apps - Chris O'Brien
PPTX
SharePoint Ribbon Deep Dive
PPTX
Automated Builds And UI Testing in SharePoint 2010 Development
PPTX
Optimizing SharePoint 2010 Internet Sites
PPTX
Managing the SharePoint 2010 Application Lifecycle - Part 2
PPTX
Managing the SharePoint 2010 Application Lifecycle - Part 1
PPT
SharePoint workflow deep-dive
PPT
SharePoint Web Content Management - Lessons Learnt/top 5 tips
Chris OBrien - Azure DevOps for managing work
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
COB - PowerApps - the good, the bad and the ugly - early 2018
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
SP2013 for Developers - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'Brien
SharePoint Ribbon Deep Dive
Automated Builds And UI Testing in SharePoint 2010 Development
Optimizing SharePoint 2010 Internet Sites
Managing the SharePoint 2010 Application Lifecycle - Part 2
Managing the SharePoint 2010 Application Lifecycle - Part 1
SharePoint workflow deep-dive
SharePoint Web Content Management - Lessons Learnt/top 5 tips

Recently uploaded (20)

PDF
Electrocardiogram sequences data analytics and classification using unsupervi...
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PDF
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PDF
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PPTX
Presentation - Principles of Instructional Design.pptx
PDF
Altius execution marketplace concept.pdf
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
The AI Revolution in Customer Service - 2025
PPTX
Build automations faster and more reliably with UiPath ScreenPlay
PDF
Ensemble model-based arrhythmia classification with local interpretable model...
PDF
SaaS reusability assessment using machine learning techniques
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
substrate PowerPoint Presentation basic one
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
Electrocardiogram sequences data analytics and classification using unsupervi...
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
Advancing precision in air quality forecasting through machine learning integ...
Data Virtualization in Action: Scaling APIs and Apps with FME
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
NewMind AI Weekly Chronicles – August ’25 Week IV
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Presentation - Principles of Instructional Design.pptx
Altius execution marketplace concept.pdf
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
The AI Revolution in Customer Service - 2025
Build automations faster and more reliably with UiPath ScreenPlay
Ensemble model-based arrhythmia classification with local interpretable model...
SaaS reusability assessment using machine learning techniques
Module 1 Introduction to Web Programming .pptx
substrate PowerPoint Presentation basic one
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj

Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps

  • 1. New developer choices - comparing SharePoint add-ins (apps) with Office 365 apps Chris O’Brien – MVP www.sharepointnutsandbolts.com
  • 2. Independent Consultant Head of Development, Content and Code www.sharepointnutsandbolts.com @ChrisO_Brien http://cob-sp.com/COBLinkedIn About me
  • 6. SP2003 – hacking in ASPX files SP2007 – WSP packages SP2010 – WSPs and CSOM SP2013 – WSPs, CSOM and app model (remote code) Now – As above + Office 365 APIs A brief history
  • 7. The SharePoint App Model – "State of the Nation"
  • 8. Apps, 2 years on – THE GOOD The model is WORKING! Office 365 IS customisable AND stable
  • 9. Apps, 2 years on – THE BAD Raises the bar even higher to be a SharePoint developer?
  • 10. What developers say about apps.. “I get it, but things are harder/take longer” “So I have to write code to create fields and content types now? Really?” “Getting on-premises infrastructure sorted for apps is painful!”
  • 11. What end-users say about apps.. “Why can’t I go directly into [tool X] in my browser?“ “It doesn’t make sense to go from a SharePoint site!” “It doesn’t work well on my phone!”
  • 12. What was needed  Something less tied to SharePoint  Something which works well on mobile devices  Something easier for non-SharePoint developers to pick up
  • 13. Let me introduce our client..
  • 14. This is Joe  (Office 365 intranet manager)
  • 15.  Build me a meetings app!!  It needs to: –Allow selection of attendees –Stores agenda of meeting in SharePoint doc lib –Inserts entry into calendar of attendees –Tracks booked meetings to a SharePoint list somehow –Work well on mobile devices
  • 16. This is our brave dev team 
  • 17. Dev team questions We’ll come back to this scenario later… Do the Office 365 APIs cover the requirements? What about the user experience? How would we roll it out “globally”?
  • 18. Solve common problems with Add-Ins Full trust (farm) solution Remote code/apps Timer job Scheduled process in Azure (CSOM to read/write to SP) Event receiver Remote event receiver Custom field control JSLink Site definition 1. Remote provisioning solution 2. WebTemplate in NCSS * (less preferred) Run With Elevated Privileges App-only authentication Custom web parts/user control App part, or JavaScript injection Feature receiver, DelegateControl, application page None – but other approaches possible * NCSS = no-code sandbox solution
  • 20. Click “next slide” to see this demo on YouTube, or use link: https://www.youtube.com/watch? v=cNi353Mpwyk
  • 21. Key takeaways – SharePoint Add-Ins Installed to SharePoint sites Generally accessed from Site Contents page Can be “admin-deployed” via a tenant-scoped app install
  • 23. What is an Office 365 app?
  • 24. Office 365 apps – the vision “Everyone” has an Office 365 account (kinda!) Lots of apps need to: - store files, - send mail/ calendar invites etc. Use Office 365 instead of app’s own! “Making it easy for other platforms/devices to make use of Office 365”
  • 25. Office 365 apps – the promise Mail, Contacts, Calendar (Exchange) Files (SharePoint) Users and Groups (Azure AD) AIM: Remove differences between SharePoint and Exchange (e.g. app which stores e-mail attachments to OneDrive)
  • 26. OFFICE 365 APPS: END-USER AND ADMIN
  • 27. Click “next slide” to see this demo on YouTube, or use link: https://www.youtube.com/watch? v=xznfjNFIlAU
  • 28. Key takeaways – Office 365 apps Registered in Azure AD Users can browse to app “directly” – and asked to sign-in if needed When app is assigned to user, shows in their “My apps” page
  • 31. Office 365 API capabilities Mail Contacts Calendar Files Users & groups Discovery Service Expense app: Looks up user’s manager Sends mail with details Expense form/receipt saved to ODFB site
  • 32. Fetching files (.NET client library)
  • 33. Fetching e-mail (.NET client library)
  • 34. Other uses of Azure AD
  • 35. Getting started with Office 365 APIs Option 1 – best for new apps • Start app from OfficeDev MVC Starter Project (http://cob- sp.com/O365MvcStarter) • Integrate your functionality into this app • Simplest approach Option 2 – best for existing apps • Use existing application • Integrate Office 365 APIs into project using MSDN article - http://cob- sp.com/O365AppStart • Copy in code/web.config settings etc. • More steps to do
  • 36. DEVELOPING OFFICE 365 APPS: GETTING STARTED
  • 37. Click “next slide” to see this demo on YouTube, or use link: https://www.youtube.com/watch? v=B8w1oJj3eJw
  • 38. Key differences for developers SharePoint Add-Ins Office 365 app APIs SharePoint CSOM/REST (.NET or JavaScript) Office 365 APIs (REST + many libraries) Authentication SharePoint context/access tokens Azure AD auth Hosting SharePoint-hosted/provider-hosted Provider-hosted Deployment Installed to SharePoint site Standalone Mobile support No “native” apps – just web Support for iOS/Android/Windows 8 native apps (specific API client libraries)
  • 39. But I can’t do it with the Office 365 APIs! https://samlman.wordpress.com/2015/02/27/using-adal-access-tokens-with-o365-rest-apis-and-csom/
  • 40. Key differences summarised App for SharePoint Office 365 app How app is accessed SharePoint site (Site Contents page) App Launcher/My Apps page (or direct link to app) App registration Registered with AppRegNew.aspx Registered in Azure AD App deployment SharePoint app catalog/installed to site Standalone Users assigned to app in Azure AD Authentication Access/context tokens – handled by SharePointContext class Handled by client libraries/ADAL libraries
  • 41. Office 365 app *would* be a good foundation here:  APIs cover most of the requirements (calendaring, contacts etc.)  The user experience would work well – accessible anywhere in Office 365  Option of creating a device specific app (e.g. iOS) BUT:  Would need to step outside O365 APIs for writing to SharePoint lists -> no drama, could use same auth token in CSOM code Back to our scenario..
  • 42. Summary  Apps are really about REMOTE CODE  Office 365 apps = just an extension of this model  Office 365 apps are great for “cross-service” capability  Capability will grow – this will become a standard approach  Some differences to consider:  End-user | Admin | Developer
  • 43. Thank you for attending! Chris O’Brien www.sharepointnutsandbolts.com

Editor's Notes

  • #25: Many people in the world (especially workers, students, government) will have an Office 365 account Lots of apps and systems need to store files, send mail/calendar invites etc. Wouldn’t it be cool if those apps could use the user’s Office 365 space for this?