SlideShare a Scribd company logo
AngularJS vs
React
Building modern SharePoint
interfaces with SPFx
Radi Atanassov
Dimcho Tsanov
Who are we?
Agenda
* Possible VUE.js demo if time permits…
Why this topic?
• SharePoint Framework (SPFx) is the
development model
• Teams need to grow and
understand how to build solutions
with evolving development models
• New API enhancements are being
added on a monthly basis
• Clients want the modern experience
• Keep up with architectural patterns
Why you should
trust us?
• We are awesome!
• We live and breathe SharePoint
• We do this for Enterprises today
Open source tooling
* Slide from Microsoft Build 2017 and Vesa Juvonen
* Slide from Microsoft Build 2017 and Vesa Juvonen
Areas in the page available for Application
Customizer to embed customizations for
end users. Application Customizer can be
also invisible for the end users.
Command Set customizer can be used to
introduce new custom actions to a list. Can
be configured to be active when
numerous items are selected. Executes
associated custom code when clicked.
Field customizer can be used to customize
experiences around the specific fields. You
can associate field customizer component
to a specific field instance to make a
customization execute when it’s used.
Angular vs React: Building modern SharePoint interfaces with SPFx
Angular vs React: Building modern SharePoint interfaces with SPFx
Angular vs React: Building modern SharePoint interfaces with SPFx
AngularJS
Building modern SharePoint
interface
AngularJS
• Single-Page Application (SPA)
framework
• Implements the Model-View-
Controller (MVC) pattern
• A true framework (instead of
patchwork of libraries)
• Strong separation of concerns
Agenda concepts
Angular vs React: Building modern SharePoint interfaces with SPFx
app/
----- controllers/
---------- mainController.js
---------- otherController.js
----- directives/
---------- mainDirective.js
---------- otherDirective.js
----- services/
---------- userService.js
---------- itemService.js
----- js/
---------- bootstrap.js
---------- jquery.js
----- app.js views/
----- mainView.html
----- otherView.html
----- index.html
app/
----- shared/
---------- sidebar/
--------------- sidebarDirective.js
--------------- sidebarView.html
---------- article/
--------------- articleDirective.js
--------------- articleView.html
----- components/ // each component is treated as a mini
Angular app
---------- home/
--------------- homeController.js
--------------- homeService.js
--------------- homeView.html
---------- blog/
--------------- blogController.js
--------------- blogService.js
--------------- blogView.html
----- app.module.js
----- app.routes.js
assets/
----- img/ // Images and icons for your app
----- css/ // All styles and style related files
----- js/ // JavaScript files for your app not for angular
----- libs/ // Third-party libraries
index.html
Pro’s / Con’s
• Best for full-page experiences
• Good code structure
• Market popularity
• Full-blown framework (much more
than React)
• Full-page experiences lack SP UI reuse
• Not best for multiple libraries
• Lacking SharePoint-friendly
components
• Depends on Office UI Fabric AngularJS
community project
• Larger package
• Version to Version upgrade issues
React
Building modern SharePoint
interface
MVC
FLUX Concepts
Just V of MVC
React
• JavaScript Library for building UI
• Component-Based
• Declarative (JSX)
• One-way data flow
• Virtual DOM
• Immutable data
St a r tSt a r t
Pro’s / Con’s
• Best for component based app
• Predictable UI
• SharePoint modern UI use it
• Fabric UI support it
• Chrome Dev tool
• It's not a full framework. There's no
router nor model management
libraries nor asyn oparations
• Big learning curve
• * Virtual DOM makes it slow
Takeaway
Your
supportability
depends on:
1. Your long term strategy
○ React is supported by Facebook
○ Fabric UI is supported by Microsoft?
○ Angular is supported by Google
○ Vue.js is supported by Evan You,
community
Takeaway
Your architectural
choice depends
on:
2. Your (your team) competency +
project timeline
Angular vs React: Building modern SharePoint interfaces with SPFx
Angular vs React: Building modern SharePoint interfaces with SPFx

More Related Content

PPTX
TypeScriptで書くLambdaをCDKでいい感じに管理する.pptx
ssuser8b389c
 
PPTX
Flutter festival gdsc juet guna
SachinVerma869778
 
PDF
Elastic Search (엘라스틱서치) 입문
SeungHyun Eom
 
PDF
Flutter Festival - GDSC IIIT Sonepat
GoogleDSCIIITSonepat
 
PPTX
RDF Refineの使い方
National Institute of Informatics (NII)
 
PPTX
Flutter festival - Write your first Flutter application
Apoorv Pandey
 
PPTX
Gocon2017:Goのロギング周りの考察
貴仁 大和屋
 
PPT
Adapter pattern
Shakil Ahmed
 
TypeScriptで書くLambdaをCDKでいい感じに管理する.pptx
ssuser8b389c
 
Flutter festival gdsc juet guna
SachinVerma869778
 
Elastic Search (엘라스틱서치) 입문
SeungHyun Eom
 
Flutter Festival - GDSC IIIT Sonepat
GoogleDSCIIITSonepat
 
Flutter festival - Write your first Flutter application
Apoorv Pandey
 
Gocon2017:Goのロギング周りの考察
貴仁 大和屋
 
Adapter pattern
Shakil Ahmed
 

What's hot (20)

ZIP
Adapter Design Pattern
guy_davis
 
PDF
決済サービスのSpring Bootのバージョンを2系に上げた話
Ryosuke Uchitate
 
PPTX
React Native
ASIMYILDIZ
 
PDF
Using VueJS in front of Drupal 8
Brian Ward
 
PDF
Real Application Security (RAS) and Oracle Application Express (APEX)
Dimitri Gielis
 
PDF
Laravel Design Patterns
Bobby Bouwmann
 
PDF
Swaggerでのapi開発よもやま話
KEISUKE KONISHI
 
PPTX
Introduction to GraphQL Presentation.pptx
Knoldus Inc.
 
PDF
Firestore: The Basics
Jielynn Diroy
 
PDF
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
gree_tech
 
PDF
NodeJS for Beginner
Apaichon Punopas
 
PDF
PHPでWebSocketを実装してみてわかったこと
ksimoji
 
PPTX
Cloudera's Flume
Cloudera, Inc.
 
PDF
Nodejs vatsal shah
Vatsal N Shah
 
PPTX
React JS Interview Question & Answer
Mildain Solutions
 
PDF
H3 2011 파이썬으로 클라우드 하고 싶어요_분산기술Lab_하용호
KTH, 케이티하이텔
 
PDF
ruby-ffiについてざっくり解説
ota42y
 
PPTX
What's an api
Jacques Ledoux
 
PPTX
Laravel Tutorial PPT
Piyush Aggarwal
 
PPTX
Alfresco Bulk Import toolのご紹介
MoritakaSoma
 
Adapter Design Pattern
guy_davis
 
決済サービスのSpring Bootのバージョンを2系に上げた話
Ryosuke Uchitate
 
React Native
ASIMYILDIZ
 
Using VueJS in front of Drupal 8
Brian Ward
 
Real Application Security (RAS) and Oracle Application Express (APEX)
Dimitri Gielis
 
Laravel Design Patterns
Bobby Bouwmann
 
Swaggerでのapi開発よもやま話
KEISUKE KONISHI
 
Introduction to GraphQL Presentation.pptx
Knoldus Inc.
 
Firestore: The Basics
Jielynn Diroy
 
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
gree_tech
 
NodeJS for Beginner
Apaichon Punopas
 
PHPでWebSocketを実装してみてわかったこと
ksimoji
 
Cloudera's Flume
Cloudera, Inc.
 
Nodejs vatsal shah
Vatsal N Shah
 
React JS Interview Question & Answer
Mildain Solutions
 
H3 2011 파이썬으로 클라우드 하고 싶어요_분산기술Lab_하용호
KTH, 케이티하이텔
 
ruby-ffiについてざっくり解説
ota42y
 
What's an api
Jacques Ledoux
 
Laravel Tutorial PPT
Piyush Aggarwal
 
Alfresco Bulk Import toolのご紹介
MoritakaSoma
 
Ad

Similar to Angular vs React: Building modern SharePoint interfaces with SPFx (20)

PPTX
ASP .Net Core SPA Templates
Eamonn Boyle
 
PDF
IOT strategy
Israel Brizuela
 
PDF
SPUnite17 Building Great Client Side Web Parts with SPFx
NCCOMMS
 
PPTX
ASP.NEt MVC and Angular What a couple
Alexandre Marreiros
 
PPTX
Shield UI JavaScript Chart
JStoikov
 
PPTX
SoCal Code Camp 2011 - ASP.NET MVC 4
Jon Galloway
 
PPTX
Vue micro frontend implementation patterns
Albert Brand
 
PDF
NEXT.JS
Binumon Joseph
 
PDF
next-230524050805-d1e22a49.pdferewrewrewrewr
zmulani8
 
PPTX
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Brian Culver
 
PPTX
Getting started with spfx
Jenkins NS
 
DOCX
Top 10 Javascript Frameworks For Easy Web Development
Technostacks Infotech Pvt. Ltd.
 
PPTX
Web worker in your angular application
Suresh Patidar
 
PDF
Overview of the AngularJS framework
Yakov Fain
 
DOCX
Visualforce report
Rinku Saini
 
PPTX
Building SPA’s (Single Page App) with Backbone.js
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
ASP.NET Presentation
Rasel Khan
 
PPTX
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
Kushan Lahiru Perera
 
PPTX
Reactjs notes.pptx for web development- tutorial and theory
jobinThomas54
 
PDF
Adding custom ui controls to your application (1)
Oro Inc.
 
ASP .Net Core SPA Templates
Eamonn Boyle
 
IOT strategy
Israel Brizuela
 
SPUnite17 Building Great Client Side Web Parts with SPFx
NCCOMMS
 
ASP.NEt MVC and Angular What a couple
Alexandre Marreiros
 
Shield UI JavaScript Chart
JStoikov
 
SoCal Code Camp 2011 - ASP.NET MVC 4
Jon Galloway
 
Vue micro frontend implementation patterns
Albert Brand
 
next-230524050805-d1e22a49.pdferewrewrewrewr
zmulani8
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Brian Culver
 
Getting started with spfx
Jenkins NS
 
Top 10 Javascript Frameworks For Easy Web Development
Technostacks Infotech Pvt. Ltd.
 
Web worker in your angular application
Suresh Patidar
 
Overview of the AngularJS framework
Yakov Fain
 
Visualforce report
Rinku Saini
 
Building SPA’s (Single Page App) with Backbone.js
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
ASP.NET Presentation
Rasel Khan
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
Kushan Lahiru Perera
 
Reactjs notes.pptx for web development- tutorial and theory
jobinThomas54
 
Adding custom ui controls to your application (1)
Oro Inc.
 
Ad

Recently uploaded (20)

PPTX
TestNG for Java Testing and Automation testing
ssuser0213cb
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
oapresentation.pptx
mehatdhavalrajubhai
 
PDF
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
Micromaid: A simple Mermaid-like chart generator for Pharo
ESUG
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PDF
The Role of Automation and AI in EHS Management for Data Centers.pdf
TECH EHS Solution
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
TestNG for Java Testing and Automation testing
ssuser0213cb
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
oapresentation.pptx
mehatdhavalrajubhai
 
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Micromaid: A simple Mermaid-like chart generator for Pharo
ESUG
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Activate_Methodology_Summary presentatio
annapureddyn
 
The Role of Automation and AI in EHS Management for Data Centers.pdf
TECH EHS Solution
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
Presentation about variables and constant.pptx
kr2589474
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 

Angular vs React: Building modern SharePoint interfaces with SPFx

  • 1. AngularJS vs React Building modern SharePoint interfaces with SPFx Radi Atanassov Dimcho Tsanov
  • 3. Agenda * Possible VUE.js demo if time permits…
  • 4. Why this topic? • SharePoint Framework (SPFx) is the development model • Teams need to grow and understand how to build solutions with evolving development models • New API enhancements are being added on a monthly basis • Clients want the modern experience • Keep up with architectural patterns
  • 5. Why you should trust us? • We are awesome! • We live and breathe SharePoint • We do this for Enterprises today
  • 6. Open source tooling * Slide from Microsoft Build 2017 and Vesa Juvonen
  • 7. * Slide from Microsoft Build 2017 and Vesa Juvonen
  • 8. Areas in the page available for Application Customizer to embed customizations for end users. Application Customizer can be also invisible for the end users. Command Set customizer can be used to introduce new custom actions to a list. Can be configured to be active when numerous items are selected. Executes associated custom code when clicked. Field customizer can be used to customize experiences around the specific fields. You can associate field customizer component to a specific field instance to make a customization execute when it’s used.
  • 13. AngularJS • Single-Page Application (SPA) framework • Implements the Model-View- Controller (MVC) pattern • A true framework (instead of patchwork of libraries) • Strong separation of concerns
  • 16. app/ ----- controllers/ ---------- mainController.js ---------- otherController.js ----- directives/ ---------- mainDirective.js ---------- otherDirective.js ----- services/ ---------- userService.js ---------- itemService.js ----- js/ ---------- bootstrap.js ---------- jquery.js ----- app.js views/ ----- mainView.html ----- otherView.html ----- index.html app/ ----- shared/ ---------- sidebar/ --------------- sidebarDirective.js --------------- sidebarView.html ---------- article/ --------------- articleDirective.js --------------- articleView.html ----- components/ // each component is treated as a mini Angular app ---------- home/ --------------- homeController.js --------------- homeService.js --------------- homeView.html ---------- blog/ --------------- blogController.js --------------- blogService.js --------------- blogView.html ----- app.module.js ----- app.routes.js assets/ ----- img/ // Images and icons for your app ----- css/ // All styles and style related files ----- js/ // JavaScript files for your app not for angular ----- libs/ // Third-party libraries index.html
  • 17. Pro’s / Con’s • Best for full-page experiences • Good code structure • Market popularity • Full-blown framework (much more than React) • Full-page experiences lack SP UI reuse • Not best for multiple libraries • Lacking SharePoint-friendly components • Depends on Office UI Fabric AngularJS community project • Larger package • Version to Version upgrade issues
  • 19. MVC
  • 21. React • JavaScript Library for building UI • Component-Based • Declarative (JSX) • One-way data flow • Virtual DOM • Immutable data St a r tSt a r t
  • 22. Pro’s / Con’s • Best for component based app • Predictable UI • SharePoint modern UI use it • Fabric UI support it • Chrome Dev tool • It's not a full framework. There's no router nor model management libraries nor asyn oparations • Big learning curve • * Virtual DOM makes it slow
  • 23. Takeaway Your supportability depends on: 1. Your long term strategy ○ React is supported by Facebook ○ Fabric UI is supported by Microsoft? ○ Angular is supported by Google ○ Vue.js is supported by Evan You, community
  • 24. Takeaway Your architectural choice depends on: 2. Your (your team) competency + project timeline

Editor's Notes

  • #21: The main difference being views do not modify data directly. All modification of the data are done by triggering Action events! React is the V in the MVC
  • #22: JUST UI Declarative: - Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes.