SlideShare a Scribd company logo
UNCOVERING THE
LATEST IN SHAREPOINT
DEVELOPMENT
http://pxml.ly/EO-SharePoint-Dev
ERIC OVERFIELD | PixelMill
Microsoft MVP & RD
ERIC OVERFIELD
President & Co-Founder of PixelMill
Microsoft MVP, Office Servers & Services
Microsoft Regional Director
Published SharePoint Author
SharePoint Community Organizer & Contributor @ericoverfield
ericoverfield.com
PixelMill is a modern SharePoint Design Agency based in Northern California. On the forefront of
web design trends since 1998, PixelMill provides innovative collaboration portals to enhance the
user adoption of SharePoint intranets, extranets, and public facing sites.
PIXELMILL
@pixelmillteam
pixelmill.com
1. Traditional and Available Development Models
2. Modern Development Methodologies
3. Development Strategies Roadmap
4. Your Best Development Pathways
OVERVIEW
Traditional SharePoint Development
Models and How to Use Them
@ericoverfieldericoverfield.com
Full Trust farm based solutions for SharePoint On Premise
• An On-premise option when near full control is desired
• Available option since SharePoint 2007 through now
• Completely custom webparts, site templates, timer jobs, anything with custom code
• Requires Visual Studio
• And a development environment with SharePoint Server
• Common development language: C# - Server side development
• Installed via PowerShell or via Central Admin to farm
• Will recycle Service Application upon installation, i.e. will take your SharePoint site down
• Full trust usefulness
• In an on-prem use case, does provide full control and most any access you may need
but is not a cloud ready option
FULL TRUST SOLUTIONS – SHAREPOINT ON-PREM
@ericoverfieldericoverfield.com
Sandbox solutions for SharePoint 2010+*
• On-premise and cloud available*
• Introduced with SharePoint 2010 - became the default mode but could be overridden in
VS
• In On-prem, may include custom compiled code, SharePoint Only – declarative only
• Requires Visual Studio
• And a development environment with SharePoint Server
• C# for code development, otherwise XML for declarative only (cloud ready) solutions
• Installed via PowerShell, Central Admin or Site Settings
• Will not recycle Service Application upon installation*
• Sandbox usefulness
• Limited. Reasonable option for asset installation, unknown long term support in cloud.
Better models exist
SANDBOX SOLUTIONS – ON-PREM / CLOUD*
@ericoverfieldericoverfield.com
ADD-IN MODEL – CLOUD READY / ON-PREM*
Add-in (App) model for SharePoint 2013+
• On-premise and cloud available*
• First isolated, cloud ready customization option for SharePoint 2013+
• Add-in must be hosted somewhere – SharePoint Hosted or Provider Hosted
• Requires Visual Studio 2013+
• And a development environment, SPO offers a “developer site” site template
• C# common for server side code, or just JavaScript for SharePoint hosted
• Includes marketplace distribution
• Microsoft managed store to “sell” applications
• SharePoint Add-ins usefulness
• Code Isolation
• External distribution model – Office store
@ericoverfieldericoverfield.com
SharePoint Hosted Add-ins
• Add-in itself is hosted within SharePoint
• Can contain lists, web parts (OOTB), workflows, custom pages
• Custom code must be contained within JavaScript ran client-side
• Does not require Azure or other external hosting of assets
Provider Hosted Add-ins
• May contain all aspect of SharePoint hosted, but also include server side code
• Used when business logic must be server-side code
• Often used for larger applications when JavaScript is not enough
• Does require a remote service to host logic, i.e. not SharePoint
SHAREPOINT ADD-IN STORAGE TYPES
@ericoverfieldericoverfield.com
All of these models are not dead – yet
• They have their purposes, just know why you are using classic models
• Full Trust – you are on prem, are not considering cloud (you sure?) and need
deep, cross-farm integration
• Sandbox – Light touch, cloud friendly when includes “no code”
• Add-ins – Cloud ready with isolation, with a marketplace
TRADITIONAL METHODOLOGIES BEST PRACTICES
@ericoverfieldericoverfield.com
DEVELOPMENT MODELS VS SHAREPOINT
Method SharePoint
2007
SharePoint
2010
SharePoint
2013
SharePoint
2016
SharePoint
Online
Full Trust
Sandbox
w/server side code
Sandbox
declarative only / “no code”
Add-in model
SharePoint hosted
Add-in model
Provider hosted
*
FUTURE DEVELOPMENT MODEL:
CLIENT SIDE APPLICATIONS -
OPEN SOURCE TOOLCHAIN
@ericoverfieldericoverfield.com
Use client-side rendering to create apps
• Based on JavaScript or derivatives to build applications all within the browser
• Interact with external data using remote api’s
• SharePoint Rest API
• Microsoft Graph
• Webhooks…
• Frameworks and Libraries have been built to assist
• React, Angular, Knockout, SharePoint Framework (SPFx)
• Traditional SharePoint methods include Script Editor Webpart, JSLink and more
Transfer HTML rendering responsibility to browser rather than server
CLIENT SIDE APPLICATIONS
CLIENT-SIDE RENDERING BUILDING BLOCKS
@ericoverfieldericoverfield.com
SharePoint Rest API provides access to data – SharePoint 2013+
• A “rest-ful” service to work with SharePoint data via http requests
• Similar to client side object model
• Useful in JavaScript to manipulate SharePoint Data
• To return JSON, add header: "content-type": "application/json;odata=verbose"
Example: Get a SharePoint List
• GET: https://”tenant”.sharepoint.com/sites/demogroup/_api/lists/getbytitle('site pages')
Example: Specific returned data
• GET: https://”tenant”.sharepoint.com/sites/demogroup/_api/lists/getbytitle('site pages')?select=Title
SHAREPOINT REST API
@ericoverfieldericoverfield.com
Microsoft Graph API – a unified Office 365 API
• Access the Microsoft Graph in your custom applications
• For Office 365 only
• Requires a registered App ID and secret
• Microsoft Application Registration portal - https://apps.dev.microsoft.com/
MICROSOFT GRAPH API
Endpoints include:
• General endpoint format:
• {verb}: https://graph.microsoft.com/{version}/{resource}?query-parameters
• Example: Get information on “me”:
• GET: https://graph.microsoft.com/v1.0/me/
• Example: Get a specific SharePoint site:
• GET: https://graph.microsoft.com/v1.0/sites/demogroup/
@ericoverfieldericoverfield.com
MICROSOFT GRAPH API ACCESS AND DATA
Source: https://graph.microsoft.io/en-us/docs
@ericoverfieldericoverfield.com
Office UI Fabric
• A framework for building custom Office 365 / SharePoint front-end experiences
• Open source: https://github.com/OfficeDev/office-ui-fabric-core
• https://dev.office.com/fabric
• Primary pillars
• Core: Styles / CSS
• JavaScript: Interactions
• React: UI integration
• AngularJS: open source project
OFFICE UI FABRIC
@ericoverfieldericoverfield.com
Office UI Fabric
• Styles
• Typography - Segoe UI Font
• Color palette
• Responsive grid
• Animations
• Icons
• Office’s official product icons
• Product and document symbols
OFFICE UI FABRIC – WHAT WE GET
• Components
• Navigation
• Input containers
• Content blocks
• People picker, persona card and more
@ericoverfieldericoverfield.com
SharePoint Webhooks
• Subscribe to SharePoint events
• Secure mechanism to be notified via http request when SharePoint event occurs
Azure Functions
• Event based, serverless architecture
• Custom server side code hosted in Azure that is run on demand
• Register an endpoint, then call on demand, only billed when processed used
Azure Apps
• Create a custom external application in Azure using architecture of choice
• Provide endpoints to SharePoint
• App may do anything you want, similar to Provider hosted Add-in, yet full control
EVEN MORE TOOLS
@ericoverfieldericoverfield.com
Open source toolchain
• Method to create web interfaces using open source, command line driven toolchain
A NEW BUILD METHODOLOGY
THE SHAREPOINT WAY:
SHAREPOINT FRAMEWORK
@ericoverfieldericoverfield.com
A page and web part model with full support for client-side SharePoint development
• Uses client-side rendering and previously discussed models
• Open source tooling / toolchain
• nodeJS, npm, Yeoman, gulp, TypeScript, webpack and more
• Easy integration with SharePoint data
• Rest API wrapper classes
• Native Microsoft Graph API in works
• Currently includes webparts
• Webparts work in Classic and modern pages
• Extension coming soon
• Available in the cloud and On-prem*
• Generally available on SharePoint Online
• On-prem availability scheduled for second half 2017
WHAT IS THE SHAREPOINT FRAMEWORK?
@ericoverfieldericoverfield.com
Visual Studio Extension for SharePoint Framework
• Open source project providing a VS Extension that wraps SPFx command line
• Big thanks to Eric Shupps and Paul Schaeflein for making this happen
• https://dev.office.com/blogs/introduction-to-visual-studio-extension-for-sharepoint-framework
• https://marketplace.visualstudio.com/items?itemName=SharePointPnP.SPFxProjectTemplate
• https://github.com/SharePoint/sp-dev-fx-vs-extension
SHAREPOINT FRAMEWORK FOR VISUAL STUDIO
USERS
Demo
SHAREPOINT FRAMEWORK
AND CLIENT SIDE APPLICATIONS
ROADMAP
@ericoverfieldericoverfield.com
SHAREPOINT DEVELOPMENT ROADMAP – CY 2017
Spring / Summer 2017
• SharePoint WebHooks GA
• SharePoint Framework GA
• SharePoint Sites on Microsoft Graph GA
• Web part connection Preview
• SharePoint Framework Extensions Preview
Fall / Winter 2017
• SharePoint Extensions GA
• Web part connection GA
• Native Graph access from SharePoint Framework
• Application lifecycle management (ALM) APIs
• SharePoint Framework Web Parts on-premises as part of FP2
@ericoverfieldericoverfield.com
Stay Current
• If you haven’t already, transition to client-side rendering
• Offload custom server side processes to external service: Not on SharePoint
Learn Open source toolchain
• Command line is your friend, provides more open solutions
• VS option is available as crutch for SPFx
SharePoint Online and SharePoint 2016 environments
• All interface customizations should be SPFx webparts
• Remember SPFx works on classic and modern pages
ERICS RECOMMENDATIONS
REVIEW
1. Traditional and Available Development Models
2. Modern Development Methodologies
3. Development Strategies Roadmap
4. Your Best Development Pathways
RESOURCES
RESOURCES
• SharePoint Add-ins overview
https://dev.office.com/sharepoint/docs/sp-add-ins/sharepoint-add-ins
• Add-ins for SharePoint – Office Store
https://store.office.com/en-us/appshome.aspx?productgroup=sharepoint
• Get to Know the SharePoint REST Service
https://dev.office.com/sharepoint/docs/sp-add-ins/get-to-know-the-sharepoint-rest-service
• Microsoft Graph API for Developers
https://developer.microsoft.com/en-us/graph/
• Using the Microsoft Graph API
https://developer.microsoft.com/en-us/graph/docs/concepts/use_the_api
• Working with SharePoint sites in Microsoft Graph
https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/sharepoint
• Office UI Fabric
https://dev.office.com/fabric
• Azure Functions
https://azure.microsoft.com/en-us/services/functions/
• SharePoint Webhooks
https://dev.office.com/sharepoint/docs/apis/webhooks/overview-sharepoint-webhooks
• SharePoint Framework Overview
https://dev.office.com/sharepoint/docs/spfx/sharepoint-framework-overview
• Visual Studio Extension for SharePoint Framework
https://dev.office.com/blogs/introduction-to-visual-studio-extension-for-sharepoint-framework
THANK YOU
UNCOVERING THE
LATEST IN SHAREPOINT
DEVELOPMENT

More Related Content

PPTX
Move past bootstrap and build our lightweight responsive framework w.v1.2
PPTX
Use office ui fabric react to build beauty with SharePoint
PPTX
Supercharge Your SharePoint Framework Webpart with React
PPTX
Build Your First SharePoint Framework Webpart
PPTX
Broaden your dev skillset with SharePoint branding options
PPTX
The Adventures of Azure Functions and Microsoft Graph
PPTX
Use Office UI Fabric React to Build Beauty with SharePoint
PPTX
Who Needs A Developer For Automated SharePoint Provisioning
Move past bootstrap and build our lightweight responsive framework w.v1.2
Use office ui fabric react to build beauty with SharePoint
Supercharge Your SharePoint Framework Webpart with React
Build Your First SharePoint Framework Webpart
Broaden your dev skillset with SharePoint branding options
The Adventures of Azure Functions and Microsoft Graph
Use Office UI Fabric React to Build Beauty with SharePoint
Who Needs A Developer For Automated SharePoint Provisioning

What's hot (20)

PPTX
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
PPTX
Branding Modern SharePoint
PPTX
SharePoint 2013 Design manager – from HTML to SharePoint
PDF
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
PPTX
Microsoft Ignite 2016 In Review
PDF
SPUnite17 Migrating your Customizations from On-prem to SharePoint Online
PPTX
Do's and don'ts for Office 365 development
PPTX
Introduction to SharePoint Framework (SPFx)
PPTX
Branding office 365 with front end tooling
PDF
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
PPTX
Things you can do to brand Office 365 now
PDF
What's in SharePoint land 2016 for the end user
PPTX
Enhance SharePoint 2013 with Responsive Web Design
PPTX
An Introduction to the Office 365 Patterns and Practices Project
PDF
Branding Deployment in Office 365 and SharePoint 2013/2016
PPTX
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
PPTX
SharePoint master pages in 2013 and managed metadata magic
PPTX
Enhance SharePoint 2013 with Responsive Web Design
PDF
All about SPFx
PDF
SPUnite17 SPFx Extensions
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
Branding Modern SharePoint
SharePoint 2013 Design manager – from HTML to SharePoint
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
Microsoft Ignite 2016 In Review
SPUnite17 Migrating your Customizations from On-prem to SharePoint Online
Do's and don'ts for Office 365 development
Introduction to SharePoint Framework (SPFx)
Branding office 365 with front end tooling
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
Things you can do to brand Office 365 now
What's in SharePoint land 2016 for the end user
Enhance SharePoint 2013 with Responsive Web Design
An Introduction to the Office 365 Patterns and Practices Project
Branding Deployment in Office 365 and SharePoint 2013/2016
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint master pages in 2013 and managed metadata magic
Enhance SharePoint 2013 with Responsive Web Design
All about SPFx
SPUnite17 SPFx Extensions
Ad

Similar to Uncovering the Latest in SharePoint Development (20)

PPTX
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
PPTX
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx
PPTX
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
PPTX
Real World Add-in Development for Office365
PPTX
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
PPTX
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
PPTX
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
PPTX
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
PDF
Real World SharePoint Framework and Azure Services
PPTX
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
PPTX
Introduction to development using the share point framework mv ps
PPTX
SPTechCon Austin 2019 - From SharePoint to Office 365 development
PPTX
Custom Development in SharePoint – What are my options now?
PDF
SPUnite17 Building Great Client Side Web Parts with SPFx
PPTX
Custom Development for SharePoint
PPTX
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
PPTX
ESPC Webinar - From SharePoint to Office 365 Development
PPTX
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
PPTX
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
PPTX
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
Real World Add-in Development for Office365
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
Real World SharePoint Framework and Azure Services
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
Introduction to development using the share point framework mv ps
SPTechCon Austin 2019 - From SharePoint to Office 365 development
Custom Development in SharePoint – What are my options now?
SPUnite17 Building Great Client Side Web Parts with SPFx
Custom Development for SharePoint
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ESPC Webinar - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
Ad

More from Eric Overfield (12)

PPTX
The Future of SharePoint - What You Need to Know
PPTX
Branding SharePoint from Prototype to Deployment - Workshop
PPTX
Create your own SharePoint Master Pages and Page Layouts
PPTX
Share point 2013 apps and i mean it
PPTX
Your SharePoint 2013 Branding Initiation
PPTX
Shape SharePoint 2013 for Mobile
PPTX
The 2013 Design Manager - From HTML to SharePoint
PPTX
The Design Dilemma of Mobile and SharePoint
PPTX
Integrating Search Driven Content in SharePoint 2013/2016/O365
PPTX
Enhancing SharePoint with Responsive Web Design
PPT
Reshaping SharePoint for Evolving Internet Devices
PPT
SharePoint Branding - Change Your Look
The Future of SharePoint - What You Need to Know
Branding SharePoint from Prototype to Deployment - Workshop
Create your own SharePoint Master Pages and Page Layouts
Share point 2013 apps and i mean it
Your SharePoint 2013 Branding Initiation
Shape SharePoint 2013 for Mobile
The 2013 Design Manager - From HTML to SharePoint
The Design Dilemma of Mobile and SharePoint
Integrating Search Driven Content in SharePoint 2013/2016/O365
Enhancing SharePoint with Responsive Web Design
Reshaping SharePoint for Evolving Internet Devices
SharePoint Branding - Change Your Look

Recently uploaded (20)

PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
RMMM.pdf make it easy to upload and study
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Pre independence Education in Inndia.pdf
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Classroom Observation Tools for Teachers
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Insiders guide to clinical Medicine.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
Basic Mud Logging Guide for educational purpose
PPTX
master seminar digital applications in india
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Complications of Minimal Access Surgery at WLH
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
RMMM.pdf make it easy to upload and study
human mycosis Human fungal infections are called human mycosis..pptx
Pre independence Education in Inndia.pdf
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Classroom Observation Tools for Teachers
TR - Agricultural Crops Production NC III.pdf
01-Introduction-to-Information-Management.pdf
Week 4 Term 3 Study Techniques revisited.pptx
Final Presentation General Medicine 03-08-2024.pptx
Insiders guide to clinical Medicine.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Supply Chain Operations Speaking Notes -ICLT Program
Abdominal Access Techniques with Prof. Dr. R K Mishra
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Basic Mud Logging Guide for educational purpose
master seminar digital applications in india
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Complications of Minimal Access Surgery at WLH

Uncovering the Latest in SharePoint Development

  • 1. UNCOVERING THE LATEST IN SHAREPOINT DEVELOPMENT http://pxml.ly/EO-SharePoint-Dev ERIC OVERFIELD | PixelMill Microsoft MVP & RD
  • 2. ERIC OVERFIELD President & Co-Founder of PixelMill Microsoft MVP, Office Servers & Services Microsoft Regional Director Published SharePoint Author SharePoint Community Organizer & Contributor @ericoverfield ericoverfield.com
  • 3. PixelMill is a modern SharePoint Design Agency based in Northern California. On the forefront of web design trends since 1998, PixelMill provides innovative collaboration portals to enhance the user adoption of SharePoint intranets, extranets, and public facing sites. PIXELMILL @pixelmillteam pixelmill.com
  • 4. 1. Traditional and Available Development Models 2. Modern Development Methodologies 3. Development Strategies Roadmap 4. Your Best Development Pathways OVERVIEW
  • 6. @ericoverfieldericoverfield.com Full Trust farm based solutions for SharePoint On Premise • An On-premise option when near full control is desired • Available option since SharePoint 2007 through now • Completely custom webparts, site templates, timer jobs, anything with custom code • Requires Visual Studio • And a development environment with SharePoint Server • Common development language: C# - Server side development • Installed via PowerShell or via Central Admin to farm • Will recycle Service Application upon installation, i.e. will take your SharePoint site down • Full trust usefulness • In an on-prem use case, does provide full control and most any access you may need but is not a cloud ready option FULL TRUST SOLUTIONS – SHAREPOINT ON-PREM
  • 7. @ericoverfieldericoverfield.com Sandbox solutions for SharePoint 2010+* • On-premise and cloud available* • Introduced with SharePoint 2010 - became the default mode but could be overridden in VS • In On-prem, may include custom compiled code, SharePoint Only – declarative only • Requires Visual Studio • And a development environment with SharePoint Server • C# for code development, otherwise XML for declarative only (cloud ready) solutions • Installed via PowerShell, Central Admin or Site Settings • Will not recycle Service Application upon installation* • Sandbox usefulness • Limited. Reasonable option for asset installation, unknown long term support in cloud. Better models exist SANDBOX SOLUTIONS – ON-PREM / CLOUD*
  • 8. @ericoverfieldericoverfield.com ADD-IN MODEL – CLOUD READY / ON-PREM* Add-in (App) model for SharePoint 2013+ • On-premise and cloud available* • First isolated, cloud ready customization option for SharePoint 2013+ • Add-in must be hosted somewhere – SharePoint Hosted or Provider Hosted • Requires Visual Studio 2013+ • And a development environment, SPO offers a “developer site” site template • C# common for server side code, or just JavaScript for SharePoint hosted • Includes marketplace distribution • Microsoft managed store to “sell” applications • SharePoint Add-ins usefulness • Code Isolation • External distribution model – Office store
  • 9. @ericoverfieldericoverfield.com SharePoint Hosted Add-ins • Add-in itself is hosted within SharePoint • Can contain lists, web parts (OOTB), workflows, custom pages • Custom code must be contained within JavaScript ran client-side • Does not require Azure or other external hosting of assets Provider Hosted Add-ins • May contain all aspect of SharePoint hosted, but also include server side code • Used when business logic must be server-side code • Often used for larger applications when JavaScript is not enough • Does require a remote service to host logic, i.e. not SharePoint SHAREPOINT ADD-IN STORAGE TYPES
  • 10. @ericoverfieldericoverfield.com All of these models are not dead – yet • They have their purposes, just know why you are using classic models • Full Trust – you are on prem, are not considering cloud (you sure?) and need deep, cross-farm integration • Sandbox – Light touch, cloud friendly when includes “no code” • Add-ins – Cloud ready with isolation, with a marketplace TRADITIONAL METHODOLOGIES BEST PRACTICES
  • 11. @ericoverfieldericoverfield.com DEVELOPMENT MODELS VS SHAREPOINT Method SharePoint 2007 SharePoint 2010 SharePoint 2013 SharePoint 2016 SharePoint Online Full Trust Sandbox w/server side code Sandbox declarative only / “no code” Add-in model SharePoint hosted Add-in model Provider hosted *
  • 12. FUTURE DEVELOPMENT MODEL: CLIENT SIDE APPLICATIONS - OPEN SOURCE TOOLCHAIN
  • 13. @ericoverfieldericoverfield.com Use client-side rendering to create apps • Based on JavaScript or derivatives to build applications all within the browser • Interact with external data using remote api’s • SharePoint Rest API • Microsoft Graph • Webhooks… • Frameworks and Libraries have been built to assist • React, Angular, Knockout, SharePoint Framework (SPFx) • Traditional SharePoint methods include Script Editor Webpart, JSLink and more Transfer HTML rendering responsibility to browser rather than server CLIENT SIDE APPLICATIONS
  • 15. @ericoverfieldericoverfield.com SharePoint Rest API provides access to data – SharePoint 2013+ • A “rest-ful” service to work with SharePoint data via http requests • Similar to client side object model • Useful in JavaScript to manipulate SharePoint Data • To return JSON, add header: "content-type": "application/json;odata=verbose" Example: Get a SharePoint List • GET: https://”tenant”.sharepoint.com/sites/demogroup/_api/lists/getbytitle('site pages') Example: Specific returned data • GET: https://”tenant”.sharepoint.com/sites/demogroup/_api/lists/getbytitle('site pages')?select=Title SHAREPOINT REST API
  • 16. @ericoverfieldericoverfield.com Microsoft Graph API – a unified Office 365 API • Access the Microsoft Graph in your custom applications • For Office 365 only • Requires a registered App ID and secret • Microsoft Application Registration portal - https://apps.dev.microsoft.com/ MICROSOFT GRAPH API Endpoints include: • General endpoint format: • {verb}: https://graph.microsoft.com/{version}/{resource}?query-parameters • Example: Get information on “me”: • GET: https://graph.microsoft.com/v1.0/me/ • Example: Get a specific SharePoint site: • GET: https://graph.microsoft.com/v1.0/sites/demogroup/
  • 17. @ericoverfieldericoverfield.com MICROSOFT GRAPH API ACCESS AND DATA Source: https://graph.microsoft.io/en-us/docs
  • 18. @ericoverfieldericoverfield.com Office UI Fabric • A framework for building custom Office 365 / SharePoint front-end experiences • Open source: https://github.com/OfficeDev/office-ui-fabric-core • https://dev.office.com/fabric • Primary pillars • Core: Styles / CSS • JavaScript: Interactions • React: UI integration • AngularJS: open source project OFFICE UI FABRIC
  • 19. @ericoverfieldericoverfield.com Office UI Fabric • Styles • Typography - Segoe UI Font • Color palette • Responsive grid • Animations • Icons • Office’s official product icons • Product and document symbols OFFICE UI FABRIC – WHAT WE GET • Components • Navigation • Input containers • Content blocks • People picker, persona card and more
  • 20. @ericoverfieldericoverfield.com SharePoint Webhooks • Subscribe to SharePoint events • Secure mechanism to be notified via http request when SharePoint event occurs Azure Functions • Event based, serverless architecture • Custom server side code hosted in Azure that is run on demand • Register an endpoint, then call on demand, only billed when processed used Azure Apps • Create a custom external application in Azure using architecture of choice • Provide endpoints to SharePoint • App may do anything you want, similar to Provider hosted Add-in, yet full control EVEN MORE TOOLS
  • 21. @ericoverfieldericoverfield.com Open source toolchain • Method to create web interfaces using open source, command line driven toolchain A NEW BUILD METHODOLOGY
  • 23. @ericoverfieldericoverfield.com A page and web part model with full support for client-side SharePoint development • Uses client-side rendering and previously discussed models • Open source tooling / toolchain • nodeJS, npm, Yeoman, gulp, TypeScript, webpack and more • Easy integration with SharePoint data • Rest API wrapper classes • Native Microsoft Graph API in works • Currently includes webparts • Webparts work in Classic and modern pages • Extension coming soon • Available in the cloud and On-prem* • Generally available on SharePoint Online • On-prem availability scheduled for second half 2017 WHAT IS THE SHAREPOINT FRAMEWORK?
  • 24. @ericoverfieldericoverfield.com Visual Studio Extension for SharePoint Framework • Open source project providing a VS Extension that wraps SPFx command line • Big thanks to Eric Shupps and Paul Schaeflein for making this happen • https://dev.office.com/blogs/introduction-to-visual-studio-extension-for-sharepoint-framework • https://marketplace.visualstudio.com/items?itemName=SharePointPnP.SPFxProjectTemplate • https://github.com/SharePoint/sp-dev-fx-vs-extension SHAREPOINT FRAMEWORK FOR VISUAL STUDIO USERS
  • 27. @ericoverfieldericoverfield.com SHAREPOINT DEVELOPMENT ROADMAP – CY 2017 Spring / Summer 2017 • SharePoint WebHooks GA • SharePoint Framework GA • SharePoint Sites on Microsoft Graph GA • Web part connection Preview • SharePoint Framework Extensions Preview Fall / Winter 2017 • SharePoint Extensions GA • Web part connection GA • Native Graph access from SharePoint Framework • Application lifecycle management (ALM) APIs • SharePoint Framework Web Parts on-premises as part of FP2
  • 28. @ericoverfieldericoverfield.com Stay Current • If you haven’t already, transition to client-side rendering • Offload custom server side processes to external service: Not on SharePoint Learn Open source toolchain • Command line is your friend, provides more open solutions • VS option is available as crutch for SPFx SharePoint Online and SharePoint 2016 environments • All interface customizations should be SPFx webparts • Remember SPFx works on classic and modern pages ERICS RECOMMENDATIONS
  • 29. REVIEW 1. Traditional and Available Development Models 2. Modern Development Methodologies 3. Development Strategies Roadmap 4. Your Best Development Pathways
  • 31. RESOURCES • SharePoint Add-ins overview https://dev.office.com/sharepoint/docs/sp-add-ins/sharepoint-add-ins • Add-ins for SharePoint – Office Store https://store.office.com/en-us/appshome.aspx?productgroup=sharepoint • Get to Know the SharePoint REST Service https://dev.office.com/sharepoint/docs/sp-add-ins/get-to-know-the-sharepoint-rest-service • Microsoft Graph API for Developers https://developer.microsoft.com/en-us/graph/ • Using the Microsoft Graph API https://developer.microsoft.com/en-us/graph/docs/concepts/use_the_api • Working with SharePoint sites in Microsoft Graph https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/sharepoint • Office UI Fabric https://dev.office.com/fabric • Azure Functions https://azure.microsoft.com/en-us/services/functions/ • SharePoint Webhooks https://dev.office.com/sharepoint/docs/apis/webhooks/overview-sharepoint-webhooks • SharePoint Framework Overview https://dev.office.com/sharepoint/docs/spfx/sharepoint-framework-overview • Visual Studio Extension for SharePoint Framework https://dev.office.com/blogs/introduction-to-visual-studio-extension-for-sharepoint-framework
  • 32. THANK YOU UNCOVERING THE LATEST IN SHAREPOINT DEVELOPMENT

Editor's Notes

  • #2: The one point: Move to CSR!!! Slides will be available from blog and twitter Look at current dev models for SharePoint, around 200 level, not getting deep, that is for other sessions, much more of an overview https://unsplash.com/photos/D46mXLsQRJw Intro: in early 80's my mom brought home a compaq portable, anyone remember those small 9" green screens? Dos, Basic, vars to hello "var", BBS in 90's. Thick books. Always new things to discover and as soon as you know something, it changes.
  • #20: https://dev.office.com/fabric#/get-started
  • #24: http://dev.office.com/sharepoint/docs/spfx/sharepoint-framework-overview Key features of the SharePoint Framework include: Runs in the context of the current user and connection in the browser. There are no iFrames. The controls are rendered in the normal page DOM. The controls are responsive and accessible by nature. Enables the developer to access the lifecycle - including, in addition to render - load, serialize and deserialize, configuration changes, and more. It's framework agnostic. You can use any browser framework that you like: React, Handlebars, Knockout, Angular, and more. The toolchain is based on common open source client development tools like npm, TypeScript, Yeoman, webpack, and gulp. Performance is reliable. End users can use SPFx client-side solutions that are approved by the tenant administrators (or their delegates) on all sites, including self-service team, group, or personal sites. Solutions can be deployed in both classic web part and publishing pages and modern pages.
  • #28: From: https://channel9.msdn.com/Events/Build/2017/B8032