SlideShare a Scribd company logo
1 of 31
MATTHEW J. BAILEY, MCT
SHAREPOINT
FRAMEWORK
101
WWW.MATTHEWJBAILEY.COM
AGENDA
1. Background
2. What we can do now & what is coming in the future
3. Setting up our development environment with open source tools &
libraries that work with with it:
• Node.js & NPM
• Yeoman
• VS Code
• Gulp
• TypeScript
• Workbench – (testing)
4. Demo – Basic web part
5. Resources for you to learn about SPFx
WWW.MATTHEWJBAILEY.COM
SPECIAL THANKS TO…
Paul Choquette (pronounced sho-ket), my mentor and whom I have had the
opportunity to learn much about SPFx and other SharePoint goodness
from.
• https://twitter.com/starxed
• https://github.com/star-crossed
And the SharePoint Saturday Baltimore sponsors:
• DAN Solutions
• DNA Solutions
• Xgility
• Liquid Mercury
• AIS
• KwizCom
WWW.MATTHEWJBAILEY.COM
Although I love to share my knowledge with others and help people learn, everything in this presentation is
included under copyright from its prospective owners (i.e., Microsoft owns any references to SharePoint, Node.js
is owned under public copyright laws, etc.). This includes original content of my own creation. You do not have
permission to use anything in this presentation for reasons other than personal learning use. Duplications
and/or edits from my personal content for reasons of creating your own presentations is strictly
prohibited by me without express, explicit permission from me or it’s prospective owners.
In other words, it took me a lot of time to make this presentation and I would truly appreciate it if
you don’t steal me work.
Thank you 
© COPYRIGHT NOTICE
WWW.MATTHEWJBAILEY.COM
ABOUT ME
• A “SharePoint All-Rounder”
• Independent consultant and Microsoft Certified Trainer for Noteworthy Technology Training in the
Washington D.C. area.
• My job tasks vary including Administration, Development, Training, Analysis, UAT and Project
Management
• I am have worked with SharePoint for 10 years, Office 365 and Azure for about 5 years.
• If I don’t know an answer to one of your questions, I will try to find it out or point you in the right
direction!
Matthew J. Bailey MCT, MCSE, MCSA
www.noteworthytt.com www.matthewjbailey.com
WWW.MATTHEWJBAILEY.COM
• Another method/way to build solutions for SharePoint (not a replacement)
• Different approach using open-source tools vs. Microsoft’s proprietary tools from the past
• Goal is to be a better solution than the app (add-in) model or embedding JS on a page
• Overcome issues with previous development models add-ins and script parts had
• Available online only in Office 365, but now on roadmap to come on-premises in 2017
SPFx BACKGROUND
WWW.MATTHEWJBAILEY.COM
WHAT ARE WE BUILDING TODAY
“Hello World” web part
WWW.MATTHEWJBAILEY.COM
• https://dev.office.com/sharepoint/docs/spfx/tools-and-libraries
DEVELOPMENT TOOLS & LIBRARIES
WWW.MATTHEWJBAILEY.COM
MODERN VS. “LESS” MODERN
Old School New School
.Net framework Node.js
NuGet NPM
Template YEOMAN
MSBuild (xml based) GULP (JavaScript based)
VB or C# TypeScript
MVC, WebForms, WebControls React, Angular
Testing, Running locally Workbench
WWW.MATTHEWJBAILEY.COM
https://dev.office.com/sharepoint/docs/spfx/set-up-your-development-
environment
• Node – verify it is version 3.xxx or up of NPM
• Visual Studio Code (or any editors, i.e. Atom, Sublime, WebStorm etc.)
• Gulp (globally or locally) task manager
• Yeoman – template manager
• @Microsoft/generator-sharepoint
DEVELOPMENT TOOLS & LIBRARIES
WWW.MATTHEWJBAILEY.COM
“NPM” - You will be using this a lot
• NPM install, globally locally, not using a parameter in the cmd line looks for a .json file and some file
can get very big on it
• Run as admin, but you can use Cmder or the CMD line or PowerShell
• npm –v to verify we have installed it properly
• npm install –g –production windows-build-tools
• npm install -g yo
• npm install -g @microsoft/generator-sharepoint
SETTING UP THE DEVELOPMENT ENVIRONMENT
WWW.MATTHEWJBAILEY.COM
JavaScript engine
NODE.JS
WWW.MATTHEWJBAILEY.COM
Verification of a successful install
NODE.JS
WWW.MATTHEWJBAILEY.COM
npm install –g –-production windows-build-tools
-g means global
--production means we only want production ready files, not dev or not windows
related
NPM
WWW.MATTHEWJBAILEY.COM
Setting it Up
MD and/or CD to place files the directory you want
I made C:myFirstSPFXwebpart – we want to stay in this directory to install everything
following
• npm install -g yo (this installs Yeoman itself)
• npm install -g @microsoft/generator-sharepoint (this installs the generator)
YEOMAN
WWW.MATTHEWJBAILEY.COM
• Part of Node.js
• Name your solution
• Where to place your files
• Name your web part
• Describe your web part
• Select which JavaScript framework to use
YEOMAN (SHAREPOINT SOLUTION GENERATOR)
WWW.MATTHEWJBAILEY.COM
(shown
YEOMAN
WWW.MATTHEWJBAILEY.COM
YEOMAN
Later that day…
WWW.MATTHEWJBAILEY.COM
VISUAL STUDIO CODE
• We could use other lightweight editors such as too, i.e. Atom, Sublime, WebStorm etc.)
http://code.visualstudio.com
WWW.MATTHEWJBAILEY.COM
TYPESCRIPT
• Like you needed to learn something else, right?
• Superset of JavaScript
• Strongly typed, allows you to declare data types of variables that regular JS does not allow
• “Vanilla” JS will not require a data type on a variable, TS will
WWW.MATTHEWJBAILEY.COM
GULP
• To install:
• An automated build task runner (built on Node.js)
• Used to automate repetitive tasks
• You can create and add your own tasks too!
• gulp –tasks allows us to see what commands we have at our beck and
call to use
WWW.MATTHEWJBAILEY.COM
WORKBENCH
• A lot less of a pain than having to have your own SharePoint test server
• An HTML page
• Allows you to add client-side web parts
• Can be ran locally or within SharePoint Online
• _layouts/workbench.aspx
• Trust-dev-cert to install a local SSL cert so we can use the program
• Launches a local web server
WWW.MATTHEWJBAILEY.COM
WORKBENCH
Prompt to install local SSL certificate:
WWW.MATTHEWJBAILEY.COM
WORKBENCH
Launching workbench and selecting our Hello World web part
WWW.MATTHEWJBAILEY.COM
WORKBENCH
Our finished product - displaying and altering the text in the web part property panel
WWW.MATTHEWJBAILEY.COM
DANG! Bet you won’t take for granted how much Visual Studio does for you
without having to manually hand code all of this stuff ever again – huh?!?!
Yes, all of this work is challenging at first, but down the road where you start to integrate and build
more complex solutions upon it will be the brighter part later. It is a challenge to get it up and running
however admittedly.
TAKEAWAYS
WWW.MATTHEWJBAILEY.COM
COMING SOON: SPFx Extensions
• Field Customizers (similar to JS Link for display templates/field overrides)
• Interconnected web parts (consumer/provider)
• Application customizers (sort of like a delegate control)
• Command Set (custom actions)
OFFICIAL ROADMAP:
• https://dev.office.com/sharepoint/docs/spfx/roadmap
ROADMAP (AS OF MAY 2017)
WWW.MATTHEWJBAILEY.COM
http://aka.ms/spfx-tutorials
SharePoint / Office 365 Dev Patterns & Practices
https://www.youtube.com/channel/UC_mKdhw-V6CeCM7gTo_Iy7w
Tools Needed:
• http://node.js
• https://www.npmjs.com/
• http://yeoman.io/learning/
KEEP LEARNING: MORE RESOURCES
WWW.MATTHEWJBAILEY.COM
Sample Code
https://dev.office.com/code-samples
Knockout
https://github.com/SharePoint/sp-dev-fx-webparts/tree/master/samples/knockout-sp-
pnp-js
Angular
https://github.com/SharePoint/sp-dev-fx-webparts/tree/master/samples
KEEP LEARNING: MORE RESOURCES
WWW.MATTHEWJBAILEY.COM
HTTP://WWW.MATTHEWJBAILEY.COM
@MATTHEWJBAILEY1
https://www.linkedin.com/in/matthewjbailey1/
SHAREPOINTMATTHEW@GMAIL.COM
CONTACT ME
WWW.MATTHEWJBAILEY.COM
GOODBYE WITH A TOUCH OF SARCASM 

More Related Content

What's hot

What's hot (20)

What is power apps
What is power appsWhat is power apps
What is power apps
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
 
Clean architecture with asp.net core by Ardalis
Clean architecture with asp.net core by ArdalisClean architecture with asp.net core by Ardalis
Clean architecture with asp.net core by Ardalis
 
Azure App Modernization
Azure App ModernizationAzure App Modernization
Azure App Modernization
 
What is No-Code/Low-Code App Development and Why Should Your Business Care?
What is No-Code/Low-Code App Development and Why Should Your Business Care?What is No-Code/Low-Code App Development and Why Should Your Business Care?
What is No-Code/Low-Code App Development and Why Should Your Business Care?
 
PL-900 Microsoft Power Platform Fundamentals
PL-900 Microsoft Power Platform FundamentalsPL-900 Microsoft Power Platform Fundamentals
PL-900 Microsoft Power Platform Fundamentals
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
 
Migrating on premises and cloud contents to SharePoint Online at no cost with...
Migrating on premises and cloud contents to SharePoint Online at no cost with...Migrating on premises and cloud contents to SharePoint Online at no cost with...
Migrating on premises and cloud contents to SharePoint Online at no cost with...
 
Angular - a real world case study
Angular - a real world case studyAngular - a real world case study
Angular - a real world case study
 
App Modernization
App ModernizationApp Modernization
App Modernization
 
Web Applications and Deployment
Web Applications and DeploymentWeb Applications and Deployment
Web Applications and Deployment
 
Web application
Web applicationWeb application
Web application
 
Web Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo FadojutimiWeb Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo Fadojutimi
 
Website Development and Design Proposal
Website Development and Design ProposalWebsite Development and Design Proposal
Website Development and Design Proposal
 
Front-end development for headless cms
Front-end development for headless cms Front-end development for headless cms
Front-end development for headless cms
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 
AWS Cloud Adoption Framework
AWS Cloud Adoption Framework AWS Cloud Adoption Framework
AWS Cloud Adoption Framework
 
Frontend 'vs' Backend Getting the Right Mix
Frontend 'vs' Backend   Getting the Right MixFrontend 'vs' Backend   Getting the Right Mix
Frontend 'vs' Backend Getting the Right Mix
 
Domain Driven Design & Hexagonal Architecture
Domain Driven Design & Hexagonal ArchitectureDomain Driven Design & Hexagonal Architecture
Domain Driven Design & Hexagonal Architecture
 
Event Driven Software Architecture Pattern
Event Driven Software Architecture PatternEvent Driven Software Architecture Pattern
Event Driven Software Architecture Pattern
 

Similar to SharePoint Framework 101 (SPFx)

Cisco webex zend con2010 presentation
Cisco webex zend con2010 presentationCisco webex zend con2010 presentation
Cisco webex zend con2010 presentation
Enterprise PHP Center
 
Cisco webex zend con2010 presentation
Cisco webex zend con2010 presentationCisco webex zend con2010 presentation
Cisco webex zend con2010 presentation
Enterprise PHP Center
 

Similar to SharePoint Framework 101 (SPFx) (20)

Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end tooling
 
Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnP
 
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPBranding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnP
 
Untangling spring week11
Untangling spring week11Untangling spring week11
Untangling spring week11
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
Microsoft loves PHP. Seriously.
Microsoft loves PHP. Seriously.Microsoft loves PHP. Seriously.
Microsoft loves PHP. Seriously.
 
WTF: Where To Focus when you take over a Drupal project
WTF: Where To Focus when you take over a Drupal projectWTF: Where To Focus when you take over a Drupal project
WTF: Where To Focus when you take over a Drupal project
 
Untangling spring week5
Untangling spring week5Untangling spring week5
Untangling spring week5
 
full stqack guktgktktykytkyyyjrneyrynye5n
full stqack guktgktktykytkyyyjrneyrynye5nfull stqack guktgktktykytkyyyjrneyrynye5n
full stqack guktgktktykytkyyyjrneyrynye5n
 
Browser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsBrowser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.js
 
Automated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchAutomated Acceptance Testing from Scratch
Automated Acceptance Testing from Scratch
 
Seminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web ProgrammerSeminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web Programmer
 
Untangling spring week10
Untangling spring week10Untangling spring week10
Untangling spring week10
 
USG Rock Eagle 2017 - PWP at 1000 Days
USG Rock Eagle 2017 - PWP at 1000 DaysUSG Rock Eagle 2017 - PWP at 1000 Days
USG Rock Eagle 2017 - PWP at 1000 Days
 
Untangling the web11
Untangling the web11Untangling the web11
Untangling the web11
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET Developer
 
WordCamp Sheffield 2014 Theme Workflow Presentation
WordCamp Sheffield 2014 Theme Workflow PresentationWordCamp Sheffield 2014 Theme Workflow Presentation
WordCamp Sheffield 2014 Theme Workflow Presentation
 
Cisco webex zend con2010 presentation
Cisco webex zend con2010 presentationCisco webex zend con2010 presentation
Cisco webex zend con2010 presentation
 
Cisco webex zend con2010 presentation
Cisco webex zend con2010 presentationCisco webex zend con2010 presentation
Cisco webex zend con2010 presentation
 
Real World SharePoint Debacles
Real World SharePoint DebaclesReal World SharePoint Debacles
Real World SharePoint Debacles
 

More from Matthew J. Bailey , MCT

More from Matthew J. Bailey , MCT (8)

The SharePoint Business Analyst Guide
The SharePoint Business Analyst GuideThe SharePoint Business Analyst Guide
The SharePoint Business Analyst Guide
 
Careers in SharePoint, Office 365, Azure & Power BI
Careers in SharePoint, Office 365, Azure & Power BICareers in SharePoint, Office 365, Azure & Power BI
Careers in SharePoint, Office 365, Azure & Power BI
 
Real World SharePoint Debacles
Real World SharePoint DebaclesReal World SharePoint Debacles
Real World SharePoint Debacles
 
Case Study: A Complex SharePoint Migration
Case Study: A Complex SharePoint MigrationCase Study: A Complex SharePoint Migration
Case Study: A Complex SharePoint Migration
 
Stop SharePoint Project Failure
Stop SharePoint Project FailureStop SharePoint Project Failure
Stop SharePoint Project Failure
 
A Career in SharePoint
A Career in SharePointA Career in SharePoint
A Career in SharePoint
 
Stop SharePoint Project Failure
Stop SharePoint Project FailureStop SharePoint Project Failure
Stop SharePoint Project Failure
 
Lets build a_search-based_application_in_share_point_2013_-_spsdc[2]
Lets build a_search-based_application_in_share_point_2013_-_spsdc[2]Lets build a_search-based_application_in_share_point_2013_-_spsdc[2]
Lets build a_search-based_application_in_share_point_2013_-_spsdc[2]
 

Recently uploaded

Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Monica Sydney
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
F
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Monica Sydney
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
pxcywzqs
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 

Recently uploaded (20)

Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 

SharePoint Framework 101 (SPFx)

Editor's Notes

  1. Special thanks to, remember I am new to this also, SPFx only became available in preview last year and has slowly started to gain momentum. Since all of the tools are very “non-Microsoft”, the learning curve is great than it has been in the past.
  2. Review the VS Code menu on left and such
  3. Review the VS Code menu on left and such
  4. App (add-in) model is embedded in an iFrame which comes with restrictions on interactivity around it, it can’ access the DOM and is difficult to make responsive. Script web parts can be edited by users and accidentally become broken and can’t be added to NoScript site. Some in the community have stated “open source or die” as to not become the next Lotus Notes.
  5. It will take awhile to get to the point where we are able to just launch a web part, so for today we are going to use the “Hello World” sample. However, although SPFx is limited at this time to web parts, you can still add a fair amount of functionality to them such as pulling in data from other parts of SharePoint, APIs, the Microsoft Graph and more.
  6. In case you are familiar with the what is now considered “older” way of doing things (although not going away anytime soon), I wanted to give you some ground work Microsoft’s tried and true vs. open-source– Node.js a JavaScript run time engine .Net package manager that mainly deals with .NET assemblies integrated with V.S Node package manager, you guessed it, integrated with Node and has 350k as of 01/2017 Templates in VS vs. Yeoman template generator, a part of Node.js The Microsoft Build Engine (MSBuild) is the new build platform for Microsoft and Visual Studio. MSBuild is completely transparent with regards to how it processes and builds software, enabling developers to orchestrate and build products in build lab environments where Visual Studio is not installed. GULP - Build system automating tasks: minification and copying of all JavaScript files, static images, capable of watching files to automatically rerun the task when a file ... VB C# - standard VS languages existed - TypeScript, once fashionable now becoming a fashion staple just a superscript of JavaScript MVC - Reach , Angular – I have heard it phrased that Reach is more of a library and Angular is more of a framework The last two, aren’t exactly different but SPFx allows you test locally if you are not connecting to data online and online if you are using other data sources
  7. All of these tools are cross platform compatible, Mac, Linux or Windows
  8. LTS version of node as that is what version MSFT has chosen to support
  9. LTS is the version Microsoft supports, this is the current version MSFT supports – the other version is not quite production ready with MSFT’s code. LTS is the version Microsoft supports. You could use this on Mac or Linux too, but let’s face it we’re at a MSFT event so….
  10. Any command line tool is fine, CMDR, PowerShell, CMD – run it as an administrator
  11. Node package manager, installs modules and dependencies, still in C:\windows\system32
  12. You can think of the @Microsoft part as a namespace
  13. Similar to the wizard in Visual Studio, it is a scaffolding tools for web projects. This means it builds out the project file and folders/structure. It is not language or platform specific. However, by using plugins (in this case our SharePoint files) it can install specific items we need. It relies on npm and Gulp. A generator is basically a plugin We take care of providing everything needed to get started without any of the normal headaches associated with a manual setup.
  14. Anything with parenthesis around it is a prompt/default placed for you
  15. Yes, this takes awhile to run…
  16. Review the VS Code menu on left and such, Code (or any editors, i.e. Atom, Sublime, WebStorm etc.)
  17. Inside of VS Code, we are going to use the node package manager to install typescript. IF you are using VS Code, we don’t’ really need to do this as it is already there but I am doing it as an example in case you might be using another light weight editing tool. From the console window we type: Npm install –g typescript We can now review the VS Code menu on left and such
  18. Gulp is a javascript task runner. It can do things like minify your js or automate manual tasks. Gulp however prefers code over configuration. Being that your tasks are written in code, gulp feels more like a build framework, giving you the tools to create tasks that fit your specific needs. Type gulp –tasks, review each: Clean - Serve, will start a local Node.js server for us to play and test with
  19. With Visual Studio, we had to have to have SharePoint server to test and deploy our solutions on the same machine (in most cases) to test our solutions and web parts. We also had to be a “pseudo-admin” to keep the servers up to date with all of the patches and debugging of to keep the thing up and running.
  20. Workbench launching from typing gulp serve in our console window
  21. Changing the text to our web part in the property pane.
  22. Some things were announced as coming soon toward the end of May, and then there is the longer term road map. Field Customizers (aka: JSLink) Field customizers is the new JSLink. These allow you to register a JavaScript object that will replace the rendering of a field within a SharePoint list or document library. Using JSLink field customizers, you can change what's rendered in a cell based on the data within the cell. For instance, maybe you want to render a KPI visualization based on the number value within the cell. With field customizers, you can easily implement some field rendering override to implement this. Application Customizer (aka: delegate controls) These aren't really delegate controls, but they come pretty close to what we used to be able to do. Application customizers allow us to register a piece of JavaScript on every page within a SharePoint site. This also comes with a contract from Microsoft about specific named div elements on the page, such as headers and footers. Using application customizers would allow us to create custom headers and footers or use it to do something such as add Azure App Insights or Google Analytics to all pages within a SharePoint site. Command Set (aka: Custom Actions) The third type of artifact they are adding to the SharePoint Framework are command sets which we knew as custom actions. Using a command set, the SPFx now allows us to add items to the ECB menu (the drop-down context menu on list and library items) as well as buttons to list and library toolbars. Unlike the restricted custom actions we had in add-ins, these buttons can execute JavaScript so we are back to having a lot of power with these custom actions command sets again. Web Part Connections Similar to a capability we have had for many years in SharePoint, SPFx brings the notion of web part connections to SPFx client-side web parts. It works very much the same way we did it before. You define some sort of an object, such as an interface, and then create two different web parts: a consumer and a producer.
  23. It is confusing and hard to find things out on GitHub and in the PNP library admittedly