SlideShare ist ein Scribd-Unternehmen logo
1 von 18
SHAREPOINT FRAMEWORK
In-Depth analysis of developer preview
Sean McLellan
SharePoint
Components
• ClientSideWebPart
• "Modern" Page
Experience
• SharePoint
WebHooks
Tooling
• Cross-Platform
• Yeoman Template
• NPM Modules
• Webpack
• Typescript
• Generates .spapp
Client-Side
Frameworks
• SystemJS
• React/Redux/Flux
• Office UI Fabric
• SPFx Components
• Complement with
any client-side
framework out
there
SHAREPOINT COMPONENTS
• New Additions to SPO
• Provides another, possibly more guided approach to using Client-Side Techniques
in SharePoint
• Does not replace existing webparts, remote event receivers, pages or other
behavior.
• Will be made available to SP2016 on-prem in 2017 via an update.
SHAREPOINT COMPONENTS:
CLIENTSIDEWEBPART
• New web part currently available in SPO
• Not to be confused with ClientWebPart, ScriptEditorWebPart, or AppScriptPart
• Codification of the “App Script Part Pattern” introduced in 2014 by Vesa Juvonen
• Available on “Classic” SharePoint pages.
SHAREPOINT COMPONENTS:
CLIENTSIDEWEBPART BENEFITS
• Script tag embedded with web part – No cross-domain library madness.
• Configuration of the baseURL of script referencesis done via a new
ClientSideComponent section of Elements.xml – Inline Script tag embed can’t be
changed by end users
• Web Part Mode is exposed and can be used to provide different modes for client side
rendering
• Embeds SystemJS and uses it to ensure that required modules are loaded prior to
executing client-side webpart code.
• React, Redux, and Office UI Fabric and SPFx components are included in the default
manifest.
• New Client-Rendering-driven web part properties.
SHAREPOINT COMPONENTS
INSIDE THE CLIENTSIDEWEBPART
SHAREPOINT COMPONENTS
CSWP MANIFEST AND BOOTSTRAPPING
• CSWP renders the Manifest as a JSON object on the page – this is the configuration
of the web part defined in elements.xml
• Inline code calls SPFx library which calls render() entry point of your CSWP instance
SHAREPOINT COMPONENTS
CSWP IN ACTION
SHAREPOINT COMPONENTS:
“MODERN” PAGE EXPERIENCE
• Not fully part of the SPFx Developer Preview
• Workbench.aspx is a sample of the fully-client side experience to come.
• Will be similar to the MS Delve experience
• React/Reduct/Flux based ClientSideWebPart Manager
• Retooling of Page Layouts and WebPart Zones to utilize client-side rendering techniques
• SharePoint Pages will be a 100% client side approach to “classic” web part pages.
SHAREPOINT COMPONENTS:
SHAREPOINT WEBHOOKS
• Not currently part of the SPFx Developer preview
• Uses same event-driven pattern that modern sites such as GitHub are using to
provide eventing
• MS Graph WebHooks - Outlook and OneDrive
• Allows external apps to consume events in SharePoint
• Microsoft Flow
• 3rd party tools like IFTTT/Zapier
• Any WebAPI or service should be able to receive events
• Think of a generic RemoteEventReceiver that makes a HTTP call when triggered.
TOOLING
• Tools to build Client Side Web Parts
• Possibly other components (libraries, pages, etc) in the future
• Tools are to modern web developers – NPM packages, Yeoman templates and so forth
• Cross Platform Tools
• SPFx modules in NPM
• Yeoman Templates
• Gulp Tasks
• Webpack bundling
• IDE Agnostic
• VS Code
• Webstorm
• Sublime
• Your favorite editor here.
TOOLING
PRE-CONFIGURED MODULES
• Yeoman template initializes with a set of pre-configured modules
• Webpack
• Karma
• Grunt
• TypeScript/Typings
TOOLING
GULP TASKS REFERENCE
Gulp Task Purpose
gulp test Run karma-based unit tests
gulp build Performs build tasks such as transpiling TS to JS, SCSS to CSS and
so forth via Webpack
gulp bundle Builds, localizes and bundles the project
gulp deploy-azure-storage Uploads project’s bundled assets to a development CDN
gulp package-solution Packages the project into a .spapp for use with the SP add-in model
gulp serve Builds and bundles the project and serves it in an express-based
local development server.
TOOLING
STARTING A SPFX PROJECT
CLIENT-SIDE FRAMEWORKS
• SPFx uses a number of existing open source frameworks for client-side behavior
• SystemJS
• React/Redux/Flux
• Lodash
• whatwg-fetch
• Additional client-side behavior provided by custom SPFx-centric libraries
• Custom HttpConext (using fetch behavior)
• Digest caching (for X-Request Digest)
• GUID Generation
• SP-Prefixed object wrappers
• Most likely to expand and be enriched over time.
CLIENT-SIDE FRAMEWORKS
WHAT TO USE TO BUILD YOUR APP
(Use the client-side framework best suited for your team)
CLIENT-SIDE FRAMEWORKS
HOW TO BUILD YOUR APP – GUIDANCE
• Building your app does not hinge on SPFx availability, but is just another way of
providing a way of hosting your HTML+JS native web app within SharePoint
• SPFx complements the already existing approaches to client-side web part development
ROUNDUP
• SharePoint Framework can be conceptually seen as three key areas
• SharePoint Components
• Tooling to build those components (or not!)
• Client-Side “Native Web Apps”
• New SharePoint Components provide a new way of bootstrapping Client Side code
• Modern web development already using similar tooling as SPFx now uses
• Choice of client-side frameworks to use not limited by SPFx
• Continue with current approaches to modern web development
• Build HTML+JS apps that interact with SP data, and figure out how to host them in
SharePoint with the experience your users expect - not the other way around.
• Over time SPFx is sure to evolve as it progresses through preview. Stay tuned.

Weitere ähnliche Inhalte

Was ist angesagt?

Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013
SharePointRadi
 

Was ist angesagt? (20)

Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 development
 
SPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsSPUnite17 SPFx Extensions
SPUnite17 SPFx Extensions
 
Modern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the UglyModern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the Ugly
 
Deep-dive building solutions on the SharePoint Framework
Deep-dive building solutions on the SharePoint FrameworkDeep-dive building solutions on the SharePoint Framework
Deep-dive building solutions on the SharePoint Framework
 
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
 
ECS19 Bert Jansen - Modernizing your existing sites
ECS19 Bert Jansen - Modernizing your existing sitesECS19 Bert Jansen - Modernizing your existing sites
ECS19 Bert Jansen - Modernizing your existing sites
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)
 
Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013
 
Application innovation & Developer Productivity
Application innovation & Developer ProductivityApplication innovation & Developer Productivity
Application innovation & Developer Productivity
 
All about SPFx
All about SPFxAll about SPFx
All about SPFx
 
Application Lifecycle Management for Office 365 development
Application Lifecycle Management for Office 365 developmentApplication Lifecycle Management for Office 365 development
Application Lifecycle Management for Office 365 development
 
Introduction to SharePoint Framework
Introduction to SharePoint FrameworkIntroduction to SharePoint Framework
Introduction to SharePoint Framework
 
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
 
Get started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePointGet started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePoint
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
 
SPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event HandlersSPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event Handlers
 
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOps
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOpsECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOps
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOps
 
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
 
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
ECS19 - John White - Unlock SharePoint’s Reporting SecretsECS19 - John White - Unlock SharePoint’s Reporting Secrets
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
 
Single page applications & SharePoint
Single page applications & SharePointSingle page applications & SharePoint
Single page applications & SharePoint
 

Andere mochten auch

PresentacióN Eeuu
PresentacióN EeuuPresentacióN Eeuu
PresentacióN Eeuu
lubrican
 
Nintex for Microsoft Office 365 - Connecting People Processes and Content by ...
Nintex for Microsoft Office 365 - Connecting People Processes and Content by ...Nintex for Microsoft Office 365 - Connecting People Processes and Content by ...
Nintex for Microsoft Office 365 - Connecting People Processes and Content by ...
David J Rosenthal
 
DocuSign Hackathon Day1 presentation
DocuSign Hackathon Day1 presentation  DocuSign Hackathon Day1 presentation
DocuSign Hackathon Day1 presentation
Mike Borozdin
 
001 El Autor CinematográFico
001 El Autor CinematográFico001 El Autor CinematográFico
001 El Autor CinematográFico
hector.juarez
 
Core Values Of Knowledge Transfers
Core Values Of Knowledge TransfersCore Values Of Knowledge Transfers
Core Values Of Knowledge Transfers
Thabang Mabena
 

Andere mochten auch (20)

Webhooks in Microsoft SharePoint Online
Webhooks in Microsoft SharePoint OnlineWebhooks in Microsoft SharePoint Online
Webhooks in Microsoft SharePoint Online
 
SharePoint Framework Ignite 2016 recap @ Sparked
SharePoint Framework Ignite 2016 recap @ SparkedSharePoint Framework Ignite 2016 recap @ Sparked
SharePoint Framework Ignite 2016 recap @ Sparked
 
SharePoint Framework do's and don'ts
SharePoint Framework do's and don'tsSharePoint Framework do's and don'ts
SharePoint Framework do's and don'ts
 
Vff project presentation-2009-10-19-1
Vff project presentation-2009-10-19-1Vff project presentation-2009-10-19-1
Vff project presentation-2009-10-19-1
 
Tutorialblogger
TutorialbloggerTutorialblogger
Tutorialblogger
 
PresentacióN Eeuu
PresentacióN EeuuPresentacióN Eeuu
PresentacióN Eeuu
 
Nintex for Microsoft Office 365 - Connecting People Processes and Content by ...
Nintex for Microsoft Office 365 - Connecting People Processes and Content by ...Nintex for Microsoft Office 365 - Connecting People Processes and Content by ...
Nintex for Microsoft Office 365 - Connecting People Processes and Content by ...
 
DocuSign Hackathon Day1 presentation
DocuSign Hackathon Day1 presentation  DocuSign Hackathon Day1 presentation
DocuSign Hackathon Day1 presentation
 
Country Readiness Tool-kit
Country Readiness Tool-kitCountry Readiness Tool-kit
Country Readiness Tool-kit
 
001 El Autor CinematográFico
001 El Autor CinematográFico001 El Autor CinematográFico
001 El Autor CinematográFico
 
TCHO the Mixed Reality Factory
TCHO the Mixed Reality FactoryTCHO the Mixed Reality Factory
TCHO the Mixed Reality Factory
 
Core Values Of Knowledge Transfers
Core Values Of Knowledge TransfersCore Values Of Knowledge Transfers
Core Values Of Knowledge Transfers
 
Content governance presentation - TIG 2017
Content governance presentation - TIG 2017Content governance presentation - TIG 2017
Content governance presentation - TIG 2017
 
Nintex Workflow Cloud
Nintex Workflow Cloud Nintex Workflow Cloud
Nintex Workflow Cloud
 
итоговое занятие 2 мл.гр.
итоговое занятие 2 мл.гр.итоговое занятие 2 мл.гр.
итоговое занятие 2 мл.гр.
 
Using SharePoint, Nintex & DocuSign for Employee Onboarding and Open Enrollme...
Using SharePoint, Nintex & DocuSign for Employee Onboarding and Open Enrollme...Using SharePoint, Nintex & DocuSign for Employee Onboarding and Open Enrollme...
Using SharePoint, Nintex & DocuSign for Employee Onboarding and Open Enrollme...
 
Powerful and Quick Workflow Automation Solutions with Nintex
Powerful and Quick Workflow Automation Solutions with NintexPowerful and Quick Workflow Automation Solutions with Nintex
Powerful and Quick Workflow Automation Solutions with Nintex
 
Building Microsoft SharePoint Workflow & Forms using Nintex
Building Microsoft SharePoint Workflow & Forms using NintexBuilding Microsoft SharePoint Workflow & Forms using Nintex
Building Microsoft SharePoint Workflow & Forms using Nintex
 
SAS write up
SAS write upSAS write up
SAS write up
 
Content Governance: Planning for success throughout the content life cycle
Content Governance: Planning for success throughout the content life cycleContent Governance: Planning for success throughout the content life cycle
Content Governance: Planning for success throughout the content life cycle
 

Ähnlich wie SharePoint Framework - Developer Preview

Ähnlich wie SharePoint Framework - Developer Preview (20)

SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFx
 
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!
 
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...
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
 
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
 
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
 
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
 
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
 
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
 
Build Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartBuild Your First SharePoint Framework Webpart
Build Your First SharePoint Framework Webpart
 
SPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 developmentSPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 development
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
 
ESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 DevelopmentESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 Development
 
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
 
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour  - Quebec - From SharePoint to Office 365 DevelopmentaOS Canadian Tour  - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
 
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
 
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

SharePoint Framework - Developer Preview

  • 1. SHAREPOINT FRAMEWORK In-Depth analysis of developer preview Sean McLellan
  • 2. SharePoint Components • ClientSideWebPart • "Modern" Page Experience • SharePoint WebHooks Tooling • Cross-Platform • Yeoman Template • NPM Modules • Webpack • Typescript • Generates .spapp Client-Side Frameworks • SystemJS • React/Redux/Flux • Office UI Fabric • SPFx Components • Complement with any client-side framework out there
  • 3. SHAREPOINT COMPONENTS • New Additions to SPO • Provides another, possibly more guided approach to using Client-Side Techniques in SharePoint • Does not replace existing webparts, remote event receivers, pages or other behavior. • Will be made available to SP2016 on-prem in 2017 via an update.
  • 4. SHAREPOINT COMPONENTS: CLIENTSIDEWEBPART • New web part currently available in SPO • Not to be confused with ClientWebPart, ScriptEditorWebPart, or AppScriptPart • Codification of the “App Script Part Pattern” introduced in 2014 by Vesa Juvonen • Available on “Classic” SharePoint pages.
  • 5. SHAREPOINT COMPONENTS: CLIENTSIDEWEBPART BENEFITS • Script tag embedded with web part – No cross-domain library madness. • Configuration of the baseURL of script referencesis done via a new ClientSideComponent section of Elements.xml – Inline Script tag embed can’t be changed by end users • Web Part Mode is exposed and can be used to provide different modes for client side rendering • Embeds SystemJS and uses it to ensure that required modules are loaded prior to executing client-side webpart code. • React, Redux, and Office UI Fabric and SPFx components are included in the default manifest. • New Client-Rendering-driven web part properties.
  • 7. SHAREPOINT COMPONENTS CSWP MANIFEST AND BOOTSTRAPPING • CSWP renders the Manifest as a JSON object on the page – this is the configuration of the web part defined in elements.xml • Inline code calls SPFx library which calls render() entry point of your CSWP instance
  • 9. SHAREPOINT COMPONENTS: “MODERN” PAGE EXPERIENCE • Not fully part of the SPFx Developer Preview • Workbench.aspx is a sample of the fully-client side experience to come. • Will be similar to the MS Delve experience • React/Reduct/Flux based ClientSideWebPart Manager • Retooling of Page Layouts and WebPart Zones to utilize client-side rendering techniques • SharePoint Pages will be a 100% client side approach to “classic” web part pages.
  • 10. SHAREPOINT COMPONENTS: SHAREPOINT WEBHOOKS • Not currently part of the SPFx Developer preview • Uses same event-driven pattern that modern sites such as GitHub are using to provide eventing • MS Graph WebHooks - Outlook and OneDrive • Allows external apps to consume events in SharePoint • Microsoft Flow • 3rd party tools like IFTTT/Zapier • Any WebAPI or service should be able to receive events • Think of a generic RemoteEventReceiver that makes a HTTP call when triggered.
  • 11. TOOLING • Tools to build Client Side Web Parts • Possibly other components (libraries, pages, etc) in the future • Tools are to modern web developers – NPM packages, Yeoman templates and so forth • Cross Platform Tools • SPFx modules in NPM • Yeoman Templates • Gulp Tasks • Webpack bundling • IDE Agnostic • VS Code • Webstorm • Sublime • Your favorite editor here.
  • 12. TOOLING PRE-CONFIGURED MODULES • Yeoman template initializes with a set of pre-configured modules • Webpack • Karma • Grunt • TypeScript/Typings
  • 13. TOOLING GULP TASKS REFERENCE Gulp Task Purpose gulp test Run karma-based unit tests gulp build Performs build tasks such as transpiling TS to JS, SCSS to CSS and so forth via Webpack gulp bundle Builds, localizes and bundles the project gulp deploy-azure-storage Uploads project’s bundled assets to a development CDN gulp package-solution Packages the project into a .spapp for use with the SP add-in model gulp serve Builds and bundles the project and serves it in an express-based local development server.
  • 15. CLIENT-SIDE FRAMEWORKS • SPFx uses a number of existing open source frameworks for client-side behavior • SystemJS • React/Redux/Flux • Lodash • whatwg-fetch • Additional client-side behavior provided by custom SPFx-centric libraries • Custom HttpConext (using fetch behavior) • Digest caching (for X-Request Digest) • GUID Generation • SP-Prefixed object wrappers • Most likely to expand and be enriched over time.
  • 16. CLIENT-SIDE FRAMEWORKS WHAT TO USE TO BUILD YOUR APP (Use the client-side framework best suited for your team)
  • 17. CLIENT-SIDE FRAMEWORKS HOW TO BUILD YOUR APP – GUIDANCE • Building your app does not hinge on SPFx availability, but is just another way of providing a way of hosting your HTML+JS native web app within SharePoint • SPFx complements the already existing approaches to client-side web part development
  • 18. ROUNDUP • SharePoint Framework can be conceptually seen as three key areas • SharePoint Components • Tooling to build those components (or not!) • Client-Side “Native Web Apps” • New SharePoint Components provide a new way of bootstrapping Client Side code • Modern web development already using similar tooling as SPFx now uses • Choice of client-side frameworks to use not limited by SPFx • Continue with current approaches to modern web development • Build HTML+JS apps that interact with SP data, and figure out how to host them in SharePoint with the experience your users expect - not the other way around. • Over time SPFx is sure to evolve as it progresses through preview. Stay tuned.