SlideShare a Scribd company logo
Building Great
Client-side Web
Parts with SPFx, PnP-
JS-Core, ReactJS
and Office UI Fabric
Bill Ayers
14 octobre 2017
#SPSParis
Merci pour votre soutien
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and Office UI Fabric - Bill Ayers
Eur Ing Dr Bill Ayers
MCM/MCSM Charter SharePoint
MVP, MCT, MCTS, MCITP, MCSD, MCAD, MCSA, MCDBA, Professional
Scrum Master, etc. etc.
Flow Simulation Ltd.
www.SPDoctor.net
BillA@flosim.com
@SPDoctor
Consultant specialising in SharePoint and
Office 365 Development and Architecture
for Collaboration and Mobile Development
• SharePoint Development Backstory
• The SharePoint Framework
• ReactJS
• Office UI Fabric
• OfficeDev PnP and PnP-JS-Core library
• Building an SPFx WebPart
• Conclusions
Agenda
Cloud Hosted Add-ins
Remote Web
S2S Trust
OAuth (O365)
SharePoint Web Server
Managed CSOM
or REST
Cross-domain Request
Host Web
X D
• Branding
• Add behaviour
• Script Editor Web Part
• Effective, but many problems
SharePoint/Office 365
SharePoint Page
SPWeb
JavaScript Injection
JavaScript
Managed CSOM
or REST API
or MS Graph API
Limitations
• No deployment or packaging model – DIY
• No central control
• Master page may change!
• Scripting disabled by default for personal sites and self-service sites in
SharePoint Online and root site collection
• When scripting is disabled…
• Links removed from Site Settings page
• SharePoint Designer capabilities reduced
• Can’t edit master pages or page layouts
• Can’t edit theme for current site
• Missing Web Parts (e.g. Script Editor, Content Editor)
• Can’t upload .aspx files to document libraries
• Enable scripting with UI, CSOM or PowerShell
Introducing the SharePoint
Framework (SPFx)
Model for building client-side pages, web
parts and more
Announced May 4th 2016, now GA!
Authoring canvas, no iFrames
Command-line-driven open-source
toolchain (or community VS extension)
Used by SharePoint product team
Works in “modern” and “classic” pages
Your choice of client-side framework;
Angular, React, Knockout, Vanilla.JS ;-)
Office 365/SharePoint Online
On-premises: SP2016 FP2 (now GA)
Modern Site Pages
Easily create powerful, beautiful looking
pages
Modern building blocks
Mobile support is built in from the start
Pages get better with the Microsoft Graph
New SPFx Extension Types
Announced at //build/ 2017
• ApplicationCustomizers allow developers to add script to the page, as
well as access well-known HTML element placeholders and extend
them with custom renderings
• FieldCustomizers can be used to provide modified views to data for
fields within a list
• CommandSets let developers extend the command surfaces of
SharePoint to add new actions, along with client-side code that can be
used to implement behaviours
• Web Part Connections enable more connected web parts that can work
together to share information
• Communication Sites (announced at #SPSummit)
Wait, did you say
“Command-line-driven
open-source toolchain” ?
Things You Need…
• Node.js (LTS version)
• Gulp
• Yeoman
• Git
• Editor (e.g. VS Code)
• Yeoman generator for SharePoint Framework
• Technologies like WebPack, SASS and other libraries will
be installed by Node’s package manager - NPM
…or use Visual Studio extension:
https://github.com/SharePoint/sp-dev-fx-vs-extension
• Features of next version(s) of
JavaScript/ECMAScript standard
• Compiles to JavaScript (ES5)
• Strong typing, classes
• Original design goal was to make JavaScript
easier for C# developers
• Makes it easier to write production quality
JavaScript
• Good support in VS Code
• Development language for the base templates in
SharePoint Framework
https://www.typescriptlang.org/
ReactJS
• Backed by Facebook and Instagram
• Component design (composition)
• Very fast Virtual DOM page rendering model
• Provides the view engine only
• JSX format takes some getting used to 
• TypeScript Compiler has support for JSX (TSX)
• Used by Microsoft
• ReactJS tutorial: https://zapier.com/engineering/react-js-tutorial-guide-
gotchas/ or https://facebook.github.io/react/
var button = <Button>Hello, world!</Button>;
Office UI Fabric
• Responsive framework (kind-of)
• Office Design Language for web
• Designed for Office Add-ins by
OneDrive and SharePoint Design Studio
• Consistent look-and-feel with Office
• “Modern”, not “classic” SharePoint CSS
• About 100k, 200k with components
• Available as raw CSS or versions for Angular and React
• Dev.office.com/fabric
Office UI Fabric
• Design elements to give add-ins the same look
and feel as the rest of the Office suite
• Consistent typography, icons and behaviour
Link to UI Fabric Stylesheets:
<link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/1.2.0/fabric.min.css">
<link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/1.2.0/fabric.components.min.css">
Decorate elements with UI Fabric classes:
<button class="ms-Button" id="get-data-from-selection">
<span class="ms-Button-icon"><em class="ms-Icon ms-Icon--plus"></em></span>
<span class="ms-Button-label">Get Data from selection</span>
<span class="ms-Button-description">Get Data from the document selection</span>
</button>
http://dev.office.com/fabric
Link to UI Fabric JS:
<script src="https://static2.sharepointonline.com/files/fabric/office-ui-fabric-js/1.2.0/js/fabric.min.js"></script>
Office UI Fabric ReactJS
Components
• 30 re-useable React components, ready to use
• Used by Microsoft to build Office and SharePoint
• Angular? See ngOfficeUIFabric
import Button from 'office-ui-fabric-react';
Var b = <Button onClick={() => this.getData() }
className="ms-Button--primary">
Refresh List</Button>
Breadcrumb
Button
Callout
Checkbox
ChoiceGroup
ColorPicker
CommandBar
ContextualMenu
DatePicker
DetailsList
Dialog
DocumentCard
Dropdown
Facepile
GroupedList
Image
Label
Layer
Link
List
MessageBar
Nav
Overlay
Panel
Persona
Pickers
PeoplePicker
Pivot
ProgressIndicator
SearchBox
Slider
Spinner
TextField
Toggle
OfficeDev PnP Initiative
• PnP-JS-Core
• Still under development
• JavaScript wrapper for SharePoint REST APIs
• Good fit for SPFx development
• Github.com/SharePoint/PnP-JS-Core
• “Home” of SPFx guidance, documentation, samples, etc.
• Dev.Office.com/SharePoint is starting point
• Code hosted on GitHub
Looking at ReactJS
Looking at Office UI Fabric
Looking at OfficeDev PnP-JS-Core
Building an SPFx WebPart
Conclusions
• “Modern” SharePoint development
tools are your choice
• The “old” stuff still works
• Build re-usable components with
ReactJS
• PnP-JS-Core makes SharePoint
REST easy
• Office-UI-Fabric makes web parts
beautiful
• We are on a journey – join us!
Resources:
• http://dev.office.com/SharePoint
• http://dev.office.com/fabric
• https://facebook.github.io/react/
• https://github.com/SharePoint/PnP-JS-Core
• https://github.com/OfficeDev/TrainingContent/SharePoint
• http://github.com/SPDoctor/SPFXShoppingList
Bingle
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and Office UI Fabric - Bill Ayers
Thank you, for your for #SPSParis

More Related Content

PPTX
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
PPTX
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
PDF
Create SASSy web parts in SPFx
PDF
SPUnite17 Timer Jobs Event Handlers
PDF
SPUnite17 TypeScript for SharePoint Developers
PPTX
Introduction to SharePoint Framework (SPFx)
PDF
SPUnite17 Introduction to the Office Dev PnP Core Libraries
PDF
All about SPFx
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
Create SASSy web parts in SPFx
SPUnite17 Timer Jobs Event Handlers
SPUnite17 TypeScript for SharePoint Developers
Introduction to SharePoint Framework (SPFx)
SPUnite17 Introduction to the Office Dev PnP Core Libraries
All about SPFx

What's hot (20)

PPTX
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
PDF
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
PPTX
Introduction to SharePoint Framework
PDF
SPUnite17 SPFx Extensions
PPTX
O365: Attack of the Clones
PPTX
[Jansen] Transforming your classic team sites into modern group connected tea...
PDF
Use the PnP SharePoint Starter Kit to create your intranet in a box
PPTX
ECS19 Bert Jansen - Modernizing your existing sites
PPTX
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
PDF
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOps
PDF
All about Office UI Fabric
PPTX
I5 - Bring yourself up to speed with power shell
PDF
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
PDF
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
PPTX
Office script labs
PPTX
Angular.js in XPages
PPTX
Workflow Manager 1.0 SharePoint 2013 Workflows
PPTX
I3 - Running SharePoint 2016 in Azure the do's and dont's - Jasjit Chopra
PPTX
SharePoint Framework
PDF
I2 - SharePoint Hybrid Search Start to Finish - Thomas Vochten
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
Introduction to SharePoint Framework
SPUnite17 SPFx Extensions
O365: Attack of the Clones
[Jansen] Transforming your classic team sites into modern group connected tea...
Use the PnP SharePoint Starter Kit to create your intranet in a box
ECS19 Bert Jansen - Modernizing your existing sites
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOps
All about Office UI Fabric
I5 - Bring yourself up to speed with power shell
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
Office script labs
Angular.js in XPages
Workflow Manager 1.0 SharePoint 2013 Workflows
I3 - Running SharePoint 2016 in Azure the do's and dont's - Jasjit Chopra
SharePoint Framework
I2 - SharePoint Hybrid Search Start to Finish - Thomas Vochten
Ad

Similar to D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and Office UI Fabric - Bill Ayers (20)

PDF
SPUnite17 Building Great Client Side Web Parts with SPFx
PDF
SPUnite17 Become a Developer Hero by Building Office Add ins
PDF
Real World SharePoint Framework and Azure Services
PPTX
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
PPTX
Your Intranet, Your Way
PPTX
Broaden your dev skillset with SharePoint branding options
PPTX
Building share point framework solutions
PPTX
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
PPTX
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
PDF
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
PPTX
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
PPTX
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
PPTX
Custom Development in SharePoint – What are my options now?
PPTX
SPFx- A modern development model for SharePoint
DOC
My Resume_Uday -
PPTX
Move past bootstrap and build our lightweight responsive framework w.v1.2
PPTX
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
PDF
Come riprogettare le attuali farm solution di share point con il nuovo modell...
PPTX
Office Add-ins developer community call-January 2020
PPTX
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Become a Developer Hero by Building Office Add ins
Real World SharePoint Framework and Azure Services
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Your Intranet, Your Way
Broaden your dev skillset with SharePoint branding options
Building share point framework solutions
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Custom Development in SharePoint – What are my options now?
SPFx- A modern development model for SharePoint
My Resume_Uday -
Move past bootstrap and build our lightweight responsive framework w.v1.2
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Office Add-ins developer community call-January 2020
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
Ad

More from SPS Paris (16)

PDF
I6 - State of the art SharePoint PowerShell Nation 2017 - Spencer Harbar
PPTX
B2 - The History of Content Security: Part 2 - Adam Levithan
PPTX
B4 - Teams, groups, SharePoint, Yammer - what should i use and when - Dux Ray...
PPTX
B6 - An initiative to healthcare analytics with Office 365 & PowerBI - Thuan ...
PDF
U2 - Déployer Microsoft Teams avec succès
PDF
B5 - Introduction à Microsoft Flow - Isabelle Van Campenhoudt, Sabrine chouk,...
PDF
B3 - Building Humanitarian Applications with PowerApps, Flow and Office 365 -...
PDF
U6 - Modern collaboration in teams and projects powered by Office 365 - Jaspe...
PDF
U5 Qu'est-ce que VOUS obtenez de SharePoint hybride ? - Vlad Catrinescu
PDF
U1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
PDF
D6 - Les nouveautés SPFx - Olivier Carpentier
PDF
D5 - Getting up to speed with type script development - Elio Struyf
PPTX
D3 - SharePoint framework – une nouvelle expérience de développement - Gaetan...
PPTX
I4 - Méthodes d'audit et d'optimisation pour votre tenant Office 365 - Joelle...
PPTX
I1 - Securing Office 365 and Microsoft Azure like a rockstar (or like a group...
PDF
SPS Paris 2017 agenda
I6 - State of the art SharePoint PowerShell Nation 2017 - Spencer Harbar
B2 - The History of Content Security: Part 2 - Adam Levithan
B4 - Teams, groups, SharePoint, Yammer - what should i use and when - Dux Ray...
B6 - An initiative to healthcare analytics with Office 365 & PowerBI - Thuan ...
U2 - Déployer Microsoft Teams avec succès
B5 - Introduction à Microsoft Flow - Isabelle Van Campenhoudt, Sabrine chouk,...
B3 - Building Humanitarian Applications with PowerApps, Flow and Office 365 -...
U6 - Modern collaboration in teams and projects powered by Office 365 - Jaspe...
U5 Qu'est-ce que VOUS obtenez de SharePoint hybride ? - Vlad Catrinescu
U1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
D6 - Les nouveautés SPFx - Olivier Carpentier
D5 - Getting up to speed with type script development - Elio Struyf
D3 - SharePoint framework – une nouvelle expérience de développement - Gaetan...
I4 - Méthodes d'audit et d'optimisation pour votre tenant Office 365 - Joelle...
I1 - Securing Office 365 and Microsoft Azure like a rockstar (or like a group...
SPS Paris 2017 agenda

Recently uploaded (20)

PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
Teaching material agriculture food technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Machine learning based COVID-19 study performance prediction
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Electronic commerce courselecture one. Pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Spectral efficient network and resource selection model in 5G networks
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Teaching material agriculture food technology
Network Security Unit 5.pdf for BCA BBA.
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Encapsulation_ Review paper, used for researhc scholars
Reach Out and Touch Someone: Haptics and Empathic Computing
The AUB Centre for AI in Media Proposal.docx
Big Data Technologies - Introduction.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Machine learning based COVID-19 study performance prediction
NewMind AI Monthly Chronicles - July 2025
Electronic commerce courselecture one. Pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Dropbox Q2 2025 Financial Results & Investor Presentation
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Review of recent advances in non-invasive hemoglobin estimation
Spectral efficient network and resource selection model in 5G networks

D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and Office UI Fabric - Bill Ayers

  • 1. Building Great Client-side Web Parts with SPFx, PnP- JS-Core, ReactJS and Office UI Fabric Bill Ayers 14 octobre 2017 #SPSParis
  • 4. Eur Ing Dr Bill Ayers MCM/MCSM Charter SharePoint MVP, MCT, MCTS, MCITP, MCSD, MCAD, MCSA, MCDBA, Professional Scrum Master, etc. etc. Flow Simulation Ltd. www.SPDoctor.net BillA@flosim.com @SPDoctor Consultant specialising in SharePoint and Office 365 Development and Architecture for Collaboration and Mobile Development
  • 5. • SharePoint Development Backstory • The SharePoint Framework • ReactJS • Office UI Fabric • OfficeDev PnP and PnP-JS-Core library • Building an SPFx WebPart • Conclusions Agenda
  • 6. Cloud Hosted Add-ins Remote Web S2S Trust OAuth (O365) SharePoint Web Server Managed CSOM or REST Cross-domain Request Host Web X D
  • 7. • Branding • Add behaviour • Script Editor Web Part • Effective, but many problems SharePoint/Office 365 SharePoint Page SPWeb JavaScript Injection JavaScript Managed CSOM or REST API or MS Graph API
  • 8. Limitations • No deployment or packaging model – DIY • No central control • Master page may change! • Scripting disabled by default for personal sites and self-service sites in SharePoint Online and root site collection • When scripting is disabled… • Links removed from Site Settings page • SharePoint Designer capabilities reduced • Can’t edit master pages or page layouts • Can’t edit theme for current site • Missing Web Parts (e.g. Script Editor, Content Editor) • Can’t upload .aspx files to document libraries • Enable scripting with UI, CSOM or PowerShell
  • 9. Introducing the SharePoint Framework (SPFx) Model for building client-side pages, web parts and more Announced May 4th 2016, now GA! Authoring canvas, no iFrames Command-line-driven open-source toolchain (or community VS extension) Used by SharePoint product team Works in “modern” and “classic” pages Your choice of client-side framework; Angular, React, Knockout, Vanilla.JS ;-) Office 365/SharePoint Online On-premises: SP2016 FP2 (now GA)
  • 10. Modern Site Pages Easily create powerful, beautiful looking pages Modern building blocks Mobile support is built in from the start Pages get better with the Microsoft Graph
  • 11. New SPFx Extension Types Announced at //build/ 2017 • ApplicationCustomizers allow developers to add script to the page, as well as access well-known HTML element placeholders and extend them with custom renderings • FieldCustomizers can be used to provide modified views to data for fields within a list • CommandSets let developers extend the command surfaces of SharePoint to add new actions, along with client-side code that can be used to implement behaviours • Web Part Connections enable more connected web parts that can work together to share information • Communication Sites (announced at #SPSummit)
  • 12. Wait, did you say “Command-line-driven open-source toolchain” ?
  • 13. Things You Need… • Node.js (LTS version) • Gulp • Yeoman • Git • Editor (e.g. VS Code) • Yeoman generator for SharePoint Framework • Technologies like WebPack, SASS and other libraries will be installed by Node’s package manager - NPM …or use Visual Studio extension: https://github.com/SharePoint/sp-dev-fx-vs-extension
  • 14. • Features of next version(s) of JavaScript/ECMAScript standard • Compiles to JavaScript (ES5) • Strong typing, classes • Original design goal was to make JavaScript easier for C# developers • Makes it easier to write production quality JavaScript • Good support in VS Code • Development language for the base templates in SharePoint Framework https://www.typescriptlang.org/
  • 15. ReactJS • Backed by Facebook and Instagram • Component design (composition) • Very fast Virtual DOM page rendering model • Provides the view engine only • JSX format takes some getting used to  • TypeScript Compiler has support for JSX (TSX) • Used by Microsoft • ReactJS tutorial: https://zapier.com/engineering/react-js-tutorial-guide- gotchas/ or https://facebook.github.io/react/ var button = <Button>Hello, world!</Button>;
  • 16. Office UI Fabric • Responsive framework (kind-of) • Office Design Language for web • Designed for Office Add-ins by OneDrive and SharePoint Design Studio • Consistent look-and-feel with Office • “Modern”, not “classic” SharePoint CSS • About 100k, 200k with components • Available as raw CSS or versions for Angular and React • Dev.office.com/fabric
  • 17. Office UI Fabric • Design elements to give add-ins the same look and feel as the rest of the Office suite • Consistent typography, icons and behaviour Link to UI Fabric Stylesheets: <link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/1.2.0/fabric.min.css"> <link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/1.2.0/fabric.components.min.css"> Decorate elements with UI Fabric classes: <button class="ms-Button" id="get-data-from-selection"> <span class="ms-Button-icon"><em class="ms-Icon ms-Icon--plus"></em></span> <span class="ms-Button-label">Get Data from selection</span> <span class="ms-Button-description">Get Data from the document selection</span> </button> http://dev.office.com/fabric Link to UI Fabric JS: <script src="https://static2.sharepointonline.com/files/fabric/office-ui-fabric-js/1.2.0/js/fabric.min.js"></script>
  • 18. Office UI Fabric ReactJS Components • 30 re-useable React components, ready to use • Used by Microsoft to build Office and SharePoint • Angular? See ngOfficeUIFabric import Button from 'office-ui-fabric-react'; Var b = <Button onClick={() => this.getData() } className="ms-Button--primary"> Refresh List</Button> Breadcrumb Button Callout Checkbox ChoiceGroup ColorPicker CommandBar ContextualMenu DatePicker DetailsList Dialog DocumentCard Dropdown Facepile GroupedList Image Label Layer Link List MessageBar Nav Overlay Panel Persona Pickers PeoplePicker Pivot ProgressIndicator SearchBox Slider Spinner TextField Toggle
  • 19. OfficeDev PnP Initiative • PnP-JS-Core • Still under development • JavaScript wrapper for SharePoint REST APIs • Good fit for SPFx development • Github.com/SharePoint/PnP-JS-Core • “Home” of SPFx guidance, documentation, samples, etc. • Dev.Office.com/SharePoint is starting point • Code hosted on GitHub
  • 20. Looking at ReactJS Looking at Office UI Fabric Looking at OfficeDev PnP-JS-Core Building an SPFx WebPart
  • 21. Conclusions • “Modern” SharePoint development tools are your choice • The “old” stuff still works • Build re-usable components with ReactJS • PnP-JS-Core makes SharePoint REST easy • Office-UI-Fabric makes web parts beautiful • We are on a journey – join us!
  • 22. Resources: • http://dev.office.com/SharePoint • http://dev.office.com/fabric • https://facebook.github.io/react/ • https://github.com/SharePoint/PnP-JS-Core • https://github.com/OfficeDev/TrainingContent/SharePoint • http://github.com/SPDoctor/SPFXShoppingList Bingle
  • 24. Thank you, for your for #SPSParis