SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
www.expertpointsolutions.com
Brian Culver ● ShareCloud Summit Dallas ● May 2, 2018
Learn to convert your
Full Trust Solutions to the
SharePoint Framework (SPFx)
About Brian Culver
 SharePoint Solutions Architect for Expert Point Solutions in
Houston, Texas.
 Microsoft Certified Master (MCM) in SharePoint
 Brian has worked in the Information Technology industry for
since 1998 and he has been working with SharePoint since
2005. His deep expertise includes Azure, Office365,
SharePoint, ASP.Net, SQL Server and Project Server. He
has been involved in many large SharePoint
implementations including Internet and Intranet sites, Partner
Portals, Enterprise Content Management and Governance,
and much custom application integration and development.
 Author, Speaker and Blogger
Email : brian.culver(at)expertpointsolutions.com
Twitter : @spbrianculver
LinkedIn : https://www.linkedin.com/in/bculver
Blog : http://blog.expertpointsolutions.com
Session Agenda
 What is the SharePoint Framework (SPFx)?
 Where does the SharePoint Framework fit?
 SharePoint Framework Toolchain
 JavaScript Frameworks
 SharePoint Framework Build Flow
 SharePoint Framework Developer Environment
What is the SharePoint Framework (SPFx)
 New client-side framework for building Modern UI
customizations
 https://docs.microsoft.com/en-
us/sharepoint/dev/spfx/enterprise-guidance
 Built on the well-known web stack
 Open model, not tied to Microsoft tools
 Works great on the cloud
 Available on-premises for SP2016 with Feature Pack 2 (
and newer)
 Enterprise-ready when used with back-end services
 REST API and micro-services, Azure Functions, etc.
 Build client-side Web Parts or client-side Extensions
 Some key features of the SharePoint Framework:
 Runs in the context of the current user and the connection in
the browser. No IFRAMEs for the customization (JavaScript is
embedded directly to the page).
 The controls are rendered within the page DOM.
 The controls are responsive, accessible and mobile friendly.
 Developers are able to access the page lifecycle fully, including
rendering, loading, serializing and deserializing, configuration
changes, and more.
 Framework-agnostic. Use any JavaScript framework: React,
Knockout, Angular, Bootstrap and more.
 The toolchain is based on common open source client
development tools such as npm, nvm, TypeScript, Yeoman,
Yarn, 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.
 SPFx web parts can be added to both classic and modern
pages. Modern pages can only use client-side web parts.
Where does the SharePoint Framework fit?
 Full Trust Solutions
 Server-side code
 Full server side API
 Only supported on-premise
 Visual Studio Only
 Farm Scoped
 Webparts, Timers Jobs, Event Receivers (Feature, Web, Site,
List, etc.)
 Sandbox Solutions
 Restricted Server-side code
 Declarative Solutions only supported in SPO
 Visual Studio Only
 Site Collection Scoped
 Features & Declarative Solutions
 Site columns, content types, Lists, List instances, File
Resources, etc.
 SharePoint Add-in / Apps
 Client-side or Server-side code
 Client-side API
 Execution context was externalized from SharePoint and
displayed via IFRAMEs
 Visual Studio Only
 Tenant and Site Scoped
 SharePoint Framework (SPFx)
 Client-side code only
 Client-sde web parts and extensions
 Execution context is in the page (yeah Baby!!)
 Open source and cross-platform tooling
 Tenant Scoped
 Only way to customize modern pages
 Responsive, accessible and mobile friendly
IIS Express
Project Templates
SharePoint Framework Toolchain
SharePoint server side
SharePoint client side
JavaScript Frameworks
SharePoint Framework Build Flow
SPFx Developer Environment
Office 365
• Existing Office 365 tenant
• Partner Program
• Office 365 Developer program
• Sign up: https://dev.office.com/devprogram
• Separate from Subscription but great
source of information
• After tenant subscription is created, create
the following:
• App Catalog site
• Developer Site
• Pair with Azure for:
• Azure Web Applications
• Azure Web Jobs
• Azure Functions
• Azure …. Etc.
SPFx Developer Environment
Node.js, NPM, Typescript
• Installing Node.js LTS (8.11.1 w/ NPM 5.6.0)
• https://nodejs.org/en/download
• Run install
• node -v
• npm -v
NPM
• Installed with Node.js
• https://www.npmjs.com/
• Used to install just about everything
TypeScript
• Strongly typed Language
• Interpreted language that is a cross between
C# and JavaScript
• Generates clean JavaScript
Chocolatey (Optional)
• You can use Chocolatey and/or Homebrew
• https://chocolatey.org/
NVM (Node Version Manager)
• Choco install nvm
Yeoman and Yarn
• npm install -g yo
• npm install -g yarn
Gulp
• Make sure Node,js and npm are installed
• Install Gulp
• npm install -g gulp
• npm install -g gulp-cli
• Configure SSL for localhost testing
environment
• gulp trust-dev-cert
SPFx Developer Environment
 Console for Node.js
 PowerShell
 CMDER for Windows - http://cmder.net/
 Etc.
 Code Editor
 Visual Studio Code
 https://code.visualstudio.com/docs?start=true
 Visual Studio 2015/2017
 https://marketplace.visualstudio.com/items?itemName=SharePointPnP.SPFxProjectTemplate
 Atom
 Storm
 Sublime
 Notepad or Notepad++
 Etc.
 Source control system and Project management
 GitHub
 VSTS
 Etc.
 Additional tooling
 Fiddler - http://www.telerik.com/fiddler
 Postman - https://www.getpostman.com/
Code Editors
 Open source code editor
 Windows, Mac and Linux
 Built-in support for JavaScript,
TypeScript and Node.js
 Powered by rich ecosystem of
extensions for Visual Studio Code
 Extensions for other languages
 Debugger extensions
 Source code repository extensions
 And more…
•
•
•
•

Community-driven SPFx extensionPreferred SPFx code editor
SPFx - Helloworld
 In a console:
 md helloworld-webpart
 cd helloworld-webpart
 yo @microsoft/sharepoint
 Hit Enter through all the options
 gulp trust-dev-cert
 code .
 gulp serve
Helloworld Deployment
 After making changes, in console:
 Test with real data:
 https://your-sharepoint-tenant.sharepoint.com/_layouts/workbench.aspx
 Packaging:
 cd helloworld-webpart
 Update package-solution.json
 gulp package-solution
 helloworld-webpart.sppkg
 Deploy helloworld-webpart.sppkg to App Catalog
 Add App to a page
Helloworld Deployment
Use Office 365 CDN:
 Connect-SPOService -Url https://contoso-admin.sharepoint.com
 Get-SPOTenantCdnEnabled -CdnType Public
 Get-SPOTenantCdnOrigins -CdnType Public
 Get-SPOTenantCdnPolicies -CdnType Public
 Set-SPOTenantCdnEnabled -CdnType Public
Beyond Helloworld
 Patterns and Practices Group - https://github.com/SharePoint
 PnP
 SharePoint / Office 365 Developer Patterns and Practices
 PnP-PowerShell
 SharePoint PnP PowerShell CmdLets
 PnP-JS-Core
 Repository for the PnP JavaScript Core component development together with community members
 sp-dev-docs
 SharePoint Developer Documentation
 sp-dev-fx-webparts
 Code samples and developer content targeted towards SharePoint Framework client-side web parts.
 sp-dev-fx-extensions
 Code samples and developer content targeted towards SharePoint Framework client-side extensions.
http://dev.office.com/sharepoint
Debugging code
Browsers
Developer Console
Visual Studio Code
Chrome Debugger Extension
Edge Debugger Extension
Work in progress
Support for:
Breakpoints
Watch variables
Step into/over
Writing conditional code
Global constants
Uses Webpack DefinePlugin
Different behaviors between
development and release builds
Available constants
DEBUG
UNIT_TEST
..and more internal constants
Custom gulp tasks
Define custom gulp tasks in gulpfile.js: build.subtask and build.task
let helloWorldSubtask = build.subTask('log-hello-world-subtask',
function(gulp, buildOptions, done) {
return gulp.src('images/*.png')
.pipe(gulp.dest('public'));
})
let helloWorldTask = build.task('hello-world', helloWorldSubtask);
gulp hello-world
Extend webpack configuration
Define your webpack loaders in gulpfile.js
npm i --save markdown-loader
build.configureWebpack.mergeConfig({
additionalConfiguration: (generatedConfiguration) => {
generatedConfiguration.module.loaders.push([
{ test: /.md$/, loader: "html!markdown" }
]);
return generatedConfiguration;
}
});
Component bundles
Components into a single .js file
Loaded on demand by SharePoint
Choose between:
One bundle per component
One bundle multiple
components
Dependencies are optional
Do not include dependencies in your bundle. Keep it small and simple!
Useful Resources
 Tutorials:
 Tutorial 1 - https://www.youtube.com/watch?v=YqUIX2pMUzg
 Tutorial 2 - https://www.youtube.com/watch?v=hYrP6D4FaaU
 Tutorial 3 - https://www.youtube.com/watch?v=BpJ01ahxbiY
 Tutorial 4 - https://www.youtube.com/watch?v=MEZMs8VMVQ0
 http://dev.office.com/sharepoint
 https://dev.office.com/devprogram
 https://docs.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview
 https://github.com/SharePoint/sp-dev-docs/wiki
 https://github.com/SharePoint/sp-dev-docs
 https://github.com/SharePoint/sp-dev-fx-webparts
 https://github.com/SharePoint/PnP-JS-Core
 https://dev.office.com/sharepoint/docs/spfx/web-parts/get-started/build-a-hello-world-web-part
 https://www.youtube.com/playlist?list=PLR9nK3mnD-OXvSWvS2zglCzz4iplhVrKq
 https://chocolatey.org/
 https://developer.microsoft.com/en-us/office/events

Questions
??
?
?
Constructive Feedback Is Appreciated
Great information,
but would like to
have learned more
about [Insert Topic]Brian – Your
presentation
was …
Good
Demos!
Thanks!
Thank you!
Brian Culver, MCM
Twitter:
@spbrianculver
E-mail:
brian.culver(at)expertpointsolutions.com
Blog:
http://blog.expertpointsolutions.com/
Slides:
http://www.slideshare.net/bculver

Contenu connexe

Tendances

Full-Stack Development with Spring Boot and VueJS
Full-Stack Development with Spring Boot and VueJSFull-Stack Development with Spring Boot and VueJS
Full-Stack Development with Spring Boot and VueJSVMware Tanzu
 
Alfresco DevCon 2018 - Embedding Pentaho dashboards into an Alfresco ADF appl...
Alfresco DevCon 2018 - Embedding Pentaho dashboards into an Alfresco ADF appl...Alfresco DevCon 2018 - Embedding Pentaho dashboards into an Alfresco ADF appl...
Alfresco DevCon 2018 - Embedding Pentaho dashboards into an Alfresco ADF appl...Francesco Corti
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webColdFusionConference
 
Working effectively with OpenShift
Working effectively with OpenShiftWorking effectively with OpenShift
Working effectively with OpenShiftShekhar Gulati
 
Core Spring + Reactive 김민석
Core Spring + Reactive  김민석Core Spring + Reactive  김민석
Core Spring + Reactive 김민석VMware Tanzu Korea
 
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 EnterpriseEric Shupps
 
Developing Great Apps with Apache Cordova
Developing Great Apps with Apache CordovaDeveloping Great Apps with Apache Cordova
Developing Great Apps with Apache CordovaShekhar Gulati
 
Ruby on rails backend development preferred choice for product owners
Ruby on rails backend development preferred choice for product ownersRuby on rails backend development preferred choice for product owners
Ruby on rails backend development preferred choice for product ownersKaty Slemon
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesAmazon Web Services
 
Jenkins vs. AWS CodePipeline
Jenkins vs. AWS CodePipelineJenkins vs. AWS CodePipeline
Jenkins vs. AWS CodePipelineSteffen Gebert
 
Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Slobodan Lohja
 
Reshaping Enterprise Architecture
Reshaping Enterprise Architecture Reshaping Enterprise Architecture
Reshaping Enterprise Architecture WSO2
 
Cisco webex zend con2010 presentation
Cisco webex zend con2010 presentationCisco webex zend con2010 presentation
Cisco webex zend con2010 presentationEnterprise PHP Center
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Perficient, Inc.
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM ICF CIRCUIT
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20Phil Wilkins
 
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio FranziniCCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franziniwalk2talk srl
 

Tendances (20)

PHP as a Service TDC2019
PHP as a Service TDC2019PHP as a Service TDC2019
PHP as a Service TDC2019
 
Full-Stack Development with Spring Boot and VueJS
Full-Stack Development with Spring Boot and VueJSFull-Stack Development with Spring Boot and VueJS
Full-Stack Development with Spring Boot and VueJS
 
Alfresco DevCon 2018 - Embedding Pentaho dashboards into an Alfresco ADF appl...
Alfresco DevCon 2018 - Embedding Pentaho dashboards into an Alfresco ADF appl...Alfresco DevCon 2018 - Embedding Pentaho dashboards into an Alfresco ADF appl...
Alfresco DevCon 2018 - Embedding Pentaho dashboards into an Alfresco ADF appl...
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
 
Working effectively with OpenShift
Working effectively with OpenShiftWorking effectively with OpenShift
Working effectively with OpenShift
 
Core Spring + Reactive 김민석
Core Spring + Reactive  김민석Core Spring + Reactive  김민석
Core Spring + Reactive 김민석
 
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
 
Developing Great Apps with Apache Cordova
Developing Great Apps with Apache CordovaDeveloping Great Apps with Apache Cordova
Developing Great Apps with Apache Cordova
 
Ruby on rails backend development preferred choice for product owners
Ruby on rails backend development preferred choice for product ownersRuby on rails backend development preferred choice for product owners
Ruby on rails backend development preferred choice for product owners
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and Processes
 
Jenkins vs. AWS CodePipeline
Jenkins vs. AWS CodePipelineJenkins vs. AWS CodePipeline
Jenkins vs. AWS CodePipeline
 
Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021
 
Reshaping Enterprise Architecture
Reshaping Enterprise Architecture Reshaping Enterprise Architecture
Reshaping Enterprise Architecture
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Cisco webex zend con2010 presentation
Cisco webex zend con2010 presentationCisco webex zend con2010 presentation
Cisco webex zend con2010 presentation
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
 
Api manager preconference
Api manager preconferenceApi manager preconference
Api manager preconference
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
 
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio FranziniCCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
 

Similaire à Convert Full Trust to 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)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 
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. Kushan Lahiru Perera
 
Getting started with spfx
Getting started with spfxGetting started with spfx
Getting started with spfxJenkins NS
 
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 SPFxNCCOMMS
 
Free Online SharePoint Framework Webinar
Free Online SharePoint Framework WebinarFree Online SharePoint Framework Webinar
Free Online SharePoint Framework WebinarManoj Mittal
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 
Introduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psIntroduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psUsama Wahab Khan Cloud, Data and AI
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionThomas Daly
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - IntroductionWebStackAcademy
 
Product Release Webinar- WSO2 Developer Studio 3.5
Product Release Webinar- WSO2 Developer Studio 3.5Product Release Webinar- WSO2 Developer Studio 3.5
Product Release Webinar- WSO2 Developer Studio 3.5WSO2
 
SharePoint Framework at a glance
SharePoint Framework at a glanceSharePoint Framework at a glance
SharePoint Framework at a glanceHaaron Gonzalez
 
Build Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartBuild Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartEric Overfield
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Fabio Franzini
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webpartsPrabhu Nehru
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsPablo Godel
 
SharePoint Framework SPFx
SharePoint Framework SPFxSharePoint Framework SPFx
SharePoint Framework SPFxVladimir Medina
 

Similaire à Convert Full Trust to SPFx (20)

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)
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
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.
 
Getting started with spfx
Getting started with spfxGetting started with spfx
Getting started with spfx
 
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
 
Free Online SharePoint Framework Webinar
Free Online SharePoint Framework WebinarFree Online SharePoint Framework Webinar
Free Online SharePoint Framework Webinar
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
Introduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psIntroduction to development using the share point framework mv ps
Introduction to development using the share point framework mv ps
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - Introduction
 
Product Release Webinar- WSO2 Developer Studio 3.5
Product Release Webinar- WSO2 Developer Studio 3.5Product Release Webinar- WSO2 Developer Studio 3.5
Product Release Webinar- WSO2 Developer Studio 3.5
 
SharePoint Framework at a glance
SharePoint Framework at a glanceSharePoint Framework at a glance
SharePoint Framework at a glance
 
Build Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartBuild Your First SharePoint Framework Webpart
Build Your First SharePoint Framework Webpart
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webparts
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
Getting Started with ASP.NET vNext
Getting Started with ASP.NET vNextGetting Started with ASP.NET vNext
Getting Started with ASP.NET vNext
 
SharePoint Framework SPFx
SharePoint Framework SPFxSharePoint Framework SPFx
SharePoint Framework SPFx
 

Plus de Brian Culver

Share Upgrading and Migrating to SharePoint 2016 Like a Pro
Share Upgrading and Migrating to SharePoint 2016 Like a ProShare Upgrading and Migrating to SharePoint 2016 Like a Pro
Share Upgrading and Migrating to SharePoint 2016 Like a ProBrian Culver
 
Houston TechFest 2017- Migrate and Upgrade to 2016 Succesfully
Houston TechFest 2017- Migrate and Upgrade to 2016 SuccesfullyHouston TechFest 2017- Migrate and Upgrade to 2016 Succesfully
Houston TechFest 2017- Migrate and Upgrade to 2016 SuccesfullyBrian Culver
 
Real World Add-in Development for Office365
Real World Add-in Development for Office365Real World Add-in Development for Office365
Real World Add-in Development for Office365Brian Culver
 
Building SharePoint 2016 Hybrid the right way
Building SharePoint 2016 Hybrid the right wayBuilding SharePoint 2016 Hybrid the right way
Building SharePoint 2016 Hybrid the right wayBrian Culver
 
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a ProSPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a ProBrian Culver
 
HSPUG Loving one drive for business as a productivity tool
HSPUG Loving one drive for business as a productivity toolHSPUG Loving one drive for business as a productivity tool
HSPUG Loving one drive for business as a productivity toolBrian Culver
 
SPT 104 Unlock your big data with analytics and BI on Office 365
SPT 104 Unlock your big data with analytics and BI on Office 365SPT 104 Unlock your big data with analytics and BI on Office 365
SPT 104 Unlock your big data with analytics and BI on Office 365Brian Culver
 
Spt 101 Loving Onedrive for business as a productivity tool
Spt 101 Loving Onedrive for business as a productivity toolSpt 101 Loving Onedrive for business as a productivity tool
Spt 101 Loving Onedrive for business as a productivity toolBrian Culver
 
SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365
SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365
SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365Brian Culver
 
Loving OneDrive for Business as a Productivity Tool
Loving OneDrive for Business as a Productivity ToolLoving OneDrive for Business as a Productivity Tool
Loving OneDrive for Business as a Productivity ToolBrian Culver
 
Unlock your Big Data with Analytics and BI on Office 365
Unlock your Big Data with Analytics and BI on Office 365Unlock your Big Data with Analytics and BI on Office 365
Unlock your Big Data with Analytics and BI on Office 365Brian Culver
 
SharePoint 2013 Search Driven Sites - SPSHOU
SharePoint 2013 Search Driven Sites - SPSHOUSharePoint 2013 Search Driven Sites - SPSHOU
SharePoint 2013 Search Driven Sites - SPSHOUBrian Culver
 
Unlock your Big Data with Analytics and BI on Office 365 - OFF103
Unlock your Big Data with Analytics and BI on Office 365 - OFF103Unlock your Big Data with Analytics and BI on Office 365 - OFF103
Unlock your Big Data with Analytics and BI on Office 365 - OFF103Brian Culver
 
Building Scalable SharePoint 2013 Workflows - WF101 - SPFestDC
Building Scalable SharePoint 2013 Workflows - WF101 - SPFestDCBuilding Scalable SharePoint 2013 Workflows - WF101 - SPFestDC
Building Scalable SharePoint 2013 Workflows - WF101 - SPFestDCBrian Culver
 
SharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven Application
SharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven ApplicationSharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven Application
SharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven ApplicationBrian Culver
 
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven SitesSharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven SitesBrian Culver
 
SharePoint Saturday Kansas City 2015 - Build scalable SharePoint 2013 Workflows
SharePoint Saturday Kansas City 2015 - Build scalable SharePoint 2013 WorkflowsSharePoint Saturday Kansas City 2015 - Build scalable SharePoint 2013 Workflows
SharePoint Saturday Kansas City 2015 - Build scalable SharePoint 2013 WorkflowsBrian Culver
 
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public SitesSharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public SitesBrian Culver
 
SRC 204 - Build a SharePoint 2013 Search Driven Application!
SRC 204 - Build a SharePoint 2013 Search Driven Application!SRC 204 - Build a SharePoint 2013 Search Driven Application!
SRC 204 - Build a SharePoint 2013 Search Driven Application!Brian Culver
 
OFF 103 - Build a Public Website on Office 365
OFF 103 - Build a Public Website on Office 365OFF 103 - Build a Public Website on Office 365
OFF 103 - Build a Public Website on Office 365Brian Culver
 

Plus de Brian Culver (20)

Share Upgrading and Migrating to SharePoint 2016 Like a Pro
Share Upgrading and Migrating to SharePoint 2016 Like a ProShare Upgrading and Migrating to SharePoint 2016 Like a Pro
Share Upgrading and Migrating to SharePoint 2016 Like a Pro
 
Houston TechFest 2017- Migrate and Upgrade to 2016 Succesfully
Houston TechFest 2017- Migrate and Upgrade to 2016 SuccesfullyHouston TechFest 2017- Migrate and Upgrade to 2016 Succesfully
Houston TechFest 2017- Migrate and Upgrade to 2016 Succesfully
 
Real World Add-in Development for Office365
Real World Add-in Development for Office365Real World Add-in Development for Office365
Real World Add-in Development for Office365
 
Building SharePoint 2016 Hybrid the right way
Building SharePoint 2016 Hybrid the right wayBuilding SharePoint 2016 Hybrid the right way
Building SharePoint 2016 Hybrid the right way
 
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a ProSPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
 
HSPUG Loving one drive for business as a productivity tool
HSPUG Loving one drive for business as a productivity toolHSPUG Loving one drive for business as a productivity tool
HSPUG Loving one drive for business as a productivity tool
 
SPT 104 Unlock your big data with analytics and BI on Office 365
SPT 104 Unlock your big data with analytics and BI on Office 365SPT 104 Unlock your big data with analytics and BI on Office 365
SPT 104 Unlock your big data with analytics and BI on Office 365
 
Spt 101 Loving Onedrive for business as a productivity tool
Spt 101 Loving Onedrive for business as a productivity toolSpt 101 Loving Onedrive for business as a productivity tool
Spt 101 Loving Onedrive for business as a productivity tool
 
SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365
SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365
SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365
 
Loving OneDrive for Business as a Productivity Tool
Loving OneDrive for Business as a Productivity ToolLoving OneDrive for Business as a Productivity Tool
Loving OneDrive for Business as a Productivity Tool
 
Unlock your Big Data with Analytics and BI on Office 365
Unlock your Big Data with Analytics and BI on Office 365Unlock your Big Data with Analytics and BI on Office 365
Unlock your Big Data with Analytics and BI on Office 365
 
SharePoint 2013 Search Driven Sites - SPSHOU
SharePoint 2013 Search Driven Sites - SPSHOUSharePoint 2013 Search Driven Sites - SPSHOU
SharePoint 2013 Search Driven Sites - SPSHOU
 
Unlock your Big Data with Analytics and BI on Office 365 - OFF103
Unlock your Big Data with Analytics and BI on Office 365 - OFF103Unlock your Big Data with Analytics and BI on Office 365 - OFF103
Unlock your Big Data with Analytics and BI on Office 365 - OFF103
 
Building Scalable SharePoint 2013 Workflows - WF101 - SPFestDC
Building Scalable SharePoint 2013 Workflows - WF101 - SPFestDCBuilding Scalable SharePoint 2013 Workflows - WF101 - SPFestDC
Building Scalable SharePoint 2013 Workflows - WF101 - SPFestDC
 
SharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven Application
SharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven ApplicationSharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven Application
SharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven Application
 
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven SitesSharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
 
SharePoint Saturday Kansas City 2015 - Build scalable SharePoint 2013 Workflows
SharePoint Saturday Kansas City 2015 - Build scalable SharePoint 2013 WorkflowsSharePoint Saturday Kansas City 2015 - Build scalable SharePoint 2013 Workflows
SharePoint Saturday Kansas City 2015 - Build scalable SharePoint 2013 Workflows
 
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public SitesSharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
 
SRC 204 - Build a SharePoint 2013 Search Driven Application!
SRC 204 - Build a SharePoint 2013 Search Driven Application!SRC 204 - Build a SharePoint 2013 Search Driven Application!
SRC 204 - Build a SharePoint 2013 Search Driven Application!
 
OFF 103 - Build a Public Website on Office 365
OFF 103 - Build a Public Website on Office 365OFF 103 - Build a Public Website on Office 365
OFF 103 - Build a Public Website on Office 365
 

Dernier

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Dernier (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Convert Full Trust to SPFx

  • 1. www.expertpointsolutions.com Brian Culver ● ShareCloud Summit Dallas ● May 2, 2018 Learn to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
  • 2. About Brian Culver  SharePoint Solutions Architect for Expert Point Solutions in Houston, Texas.  Microsoft Certified Master (MCM) in SharePoint  Brian has worked in the Information Technology industry for since 1998 and he has been working with SharePoint since 2005. His deep expertise includes Azure, Office365, SharePoint, ASP.Net, SQL Server and Project Server. He has been involved in many large SharePoint implementations including Internet and Intranet sites, Partner Portals, Enterprise Content Management and Governance, and much custom application integration and development.  Author, Speaker and Blogger Email : brian.culver(at)expertpointsolutions.com Twitter : @spbrianculver LinkedIn : https://www.linkedin.com/in/bculver Blog : http://blog.expertpointsolutions.com
  • 3. Session Agenda  What is the SharePoint Framework (SPFx)?  Where does the SharePoint Framework fit?  SharePoint Framework Toolchain  JavaScript Frameworks  SharePoint Framework Build Flow  SharePoint Framework Developer Environment
  • 4. What is the SharePoint Framework (SPFx)  New client-side framework for building Modern UI customizations  https://docs.microsoft.com/en- us/sharepoint/dev/spfx/enterprise-guidance  Built on the well-known web stack  Open model, not tied to Microsoft tools  Works great on the cloud  Available on-premises for SP2016 with Feature Pack 2 ( and newer)  Enterprise-ready when used with back-end services  REST API and micro-services, Azure Functions, etc.  Build client-side Web Parts or client-side Extensions  Some key features of the SharePoint Framework:  Runs in the context of the current user and the connection in the browser. No IFRAMEs for the customization (JavaScript is embedded directly to the page).  The controls are rendered within the page DOM.  The controls are responsive, accessible and mobile friendly.  Developers are able to access the page lifecycle fully, including rendering, loading, serializing and deserializing, configuration changes, and more.  Framework-agnostic. Use any JavaScript framework: React, Knockout, Angular, Bootstrap and more.  The toolchain is based on common open source client development tools such as npm, nvm, TypeScript, Yeoman, Yarn, 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.  SPFx web parts can be added to both classic and modern pages. Modern pages can only use client-side web parts.
  • 5. Where does the SharePoint Framework fit?  Full Trust Solutions  Server-side code  Full server side API  Only supported on-premise  Visual Studio Only  Farm Scoped  Webparts, Timers Jobs, Event Receivers (Feature, Web, Site, List, etc.)  Sandbox Solutions  Restricted Server-side code  Declarative Solutions only supported in SPO  Visual Studio Only  Site Collection Scoped  Features & Declarative Solutions  Site columns, content types, Lists, List instances, File Resources, etc.  SharePoint Add-in / Apps  Client-side or Server-side code  Client-side API  Execution context was externalized from SharePoint and displayed via IFRAMEs  Visual Studio Only  Tenant and Site Scoped  SharePoint Framework (SPFx)  Client-side code only  Client-sde web parts and extensions  Execution context is in the page (yeah Baby!!)  Open source and cross-platform tooling  Tenant Scoped  Only way to customize modern pages  Responsive, accessible and mobile friendly
  • 6. IIS Express Project Templates SharePoint Framework Toolchain SharePoint server side SharePoint client side
  • 9. SPFx Developer Environment Office 365 • Existing Office 365 tenant • Partner Program • Office 365 Developer program • Sign up: https://dev.office.com/devprogram • Separate from Subscription but great source of information • After tenant subscription is created, create the following: • App Catalog site • Developer Site • Pair with Azure for: • Azure Web Applications • Azure Web Jobs • Azure Functions • Azure …. Etc.
  • 10. SPFx Developer Environment Node.js, NPM, Typescript • Installing Node.js LTS (8.11.1 w/ NPM 5.6.0) • https://nodejs.org/en/download • Run install • node -v • npm -v NPM • Installed with Node.js • https://www.npmjs.com/ • Used to install just about everything TypeScript • Strongly typed Language • Interpreted language that is a cross between C# and JavaScript • Generates clean JavaScript Chocolatey (Optional) • You can use Chocolatey and/or Homebrew • https://chocolatey.org/ NVM (Node Version Manager) • Choco install nvm Yeoman and Yarn • npm install -g yo • npm install -g yarn Gulp • Make sure Node,js and npm are installed • Install Gulp • npm install -g gulp • npm install -g gulp-cli • Configure SSL for localhost testing environment • gulp trust-dev-cert
  • 11. SPFx Developer Environment  Console for Node.js  PowerShell  CMDER for Windows - http://cmder.net/  Etc.  Code Editor  Visual Studio Code  https://code.visualstudio.com/docs?start=true  Visual Studio 2015/2017  https://marketplace.visualstudio.com/items?itemName=SharePointPnP.SPFxProjectTemplate  Atom  Storm  Sublime  Notepad or Notepad++  Etc.  Source control system and Project management  GitHub  VSTS  Etc.  Additional tooling  Fiddler - http://www.telerik.com/fiddler  Postman - https://www.getpostman.com/
  • 12. Code Editors  Open source code editor  Windows, Mac and Linux  Built-in support for JavaScript, TypeScript and Node.js  Powered by rich ecosystem of extensions for Visual Studio Code  Extensions for other languages  Debugger extensions  Source code repository extensions  And more… • • • •  Community-driven SPFx extensionPreferred SPFx code editor
  • 13. SPFx - Helloworld  In a console:  md helloworld-webpart  cd helloworld-webpart  yo @microsoft/sharepoint  Hit Enter through all the options  gulp trust-dev-cert  code .  gulp serve
  • 14. Helloworld Deployment  After making changes, in console:  Test with real data:  https://your-sharepoint-tenant.sharepoint.com/_layouts/workbench.aspx  Packaging:  cd helloworld-webpart  Update package-solution.json  gulp package-solution  helloworld-webpart.sppkg  Deploy helloworld-webpart.sppkg to App Catalog  Add App to a page
  • 15. Helloworld Deployment Use Office 365 CDN:  Connect-SPOService -Url https://contoso-admin.sharepoint.com  Get-SPOTenantCdnEnabled -CdnType Public  Get-SPOTenantCdnOrigins -CdnType Public  Get-SPOTenantCdnPolicies -CdnType Public  Set-SPOTenantCdnEnabled -CdnType Public
  • 16. Beyond Helloworld  Patterns and Practices Group - https://github.com/SharePoint  PnP  SharePoint / Office 365 Developer Patterns and Practices  PnP-PowerShell  SharePoint PnP PowerShell CmdLets  PnP-JS-Core  Repository for the PnP JavaScript Core component development together with community members  sp-dev-docs  SharePoint Developer Documentation  sp-dev-fx-webparts  Code samples and developer content targeted towards SharePoint Framework client-side web parts.  sp-dev-fx-extensions  Code samples and developer content targeted towards SharePoint Framework client-side extensions. http://dev.office.com/sharepoint
  • 17. Debugging code Browsers Developer Console Visual Studio Code Chrome Debugger Extension Edge Debugger Extension Work in progress Support for: Breakpoints Watch variables Step into/over
  • 18. Writing conditional code Global constants Uses Webpack DefinePlugin Different behaviors between development and release builds Available constants DEBUG UNIT_TEST ..and more internal constants
  • 19. Custom gulp tasks Define custom gulp tasks in gulpfile.js: build.subtask and build.task let helloWorldSubtask = build.subTask('log-hello-world-subtask', function(gulp, buildOptions, done) { return gulp.src('images/*.png') .pipe(gulp.dest('public')); }) let helloWorldTask = build.task('hello-world', helloWorldSubtask); gulp hello-world
  • 20. Extend webpack configuration Define your webpack loaders in gulpfile.js npm i --save markdown-loader build.configureWebpack.mergeConfig({ additionalConfiguration: (generatedConfiguration) => { generatedConfiguration.module.loaders.push([ { test: /.md$/, loader: "html!markdown" } ]); return generatedConfiguration; } });
  • 21. Component bundles Components into a single .js file Loaded on demand by SharePoint Choose between: One bundle per component One bundle multiple components Dependencies are optional Do not include dependencies in your bundle. Keep it small and simple!
  • 22. Useful Resources  Tutorials:  Tutorial 1 - https://www.youtube.com/watch?v=YqUIX2pMUzg  Tutorial 2 - https://www.youtube.com/watch?v=hYrP6D4FaaU  Tutorial 3 - https://www.youtube.com/watch?v=BpJ01ahxbiY  Tutorial 4 - https://www.youtube.com/watch?v=MEZMs8VMVQ0  http://dev.office.com/sharepoint  https://dev.office.com/devprogram  https://docs.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview  https://github.com/SharePoint/sp-dev-docs/wiki  https://github.com/SharePoint/sp-dev-docs  https://github.com/SharePoint/sp-dev-fx-webparts  https://github.com/SharePoint/PnP-JS-Core  https://dev.office.com/sharepoint/docs/spfx/web-parts/get-started/build-a-hello-world-web-part  https://www.youtube.com/playlist?list=PLR9nK3mnD-OXvSWvS2zglCzz4iplhVrKq  https://chocolatey.org/  https://developer.microsoft.com/en-us/office/events 
  • 24. Constructive Feedback Is Appreciated Great information, but would like to have learned more about [Insert Topic]Brian – Your presentation was … Good Demos! Thanks!
  • 25. Thank you! Brian Culver, MCM Twitter: @spbrianculver E-mail: brian.culver(at)expertpointsolutions.com Blog: http://blog.expertpointsolutions.com/ Slides: http://www.slideshare.net/bculver