SlideShare a Scribd company logo
May 20th, 2017
SharePoint Saturday
Madrid
SharePoint Framework & React
Iván Gómez R.
Iván Gómez R.
SharePoint Consultant
Plain Concepts
https://geeks.ms/rockyouroffice365
https://twitter.com/ivangomezrod
Proud father, biker, geek and developer
WiFi Keys for Attendees
 Connect to the wireless network MSFTGUEST
 Click on Event Attendee Code and enter the access code: msevent47pu
What is React?
 “React is an engine for building composable user interfaces using Javascript and
(optionally) XML.”
Engine: why engine? Because of reactive UI rendering that separates state from
the UI presented. You define how state is represented on DOM elements and
how state changes updates DOM.
Creating composable user interfaces: React is oriented to creating UI
components blocks easy to reuse, extend and maintain.
Javascript: React is a pure Javascript library that can be used on the browser, the
server and mobile devices.
Reactive rendering
 Let us write in a declarative way how components should look and behave.
 When the data changes React renders the whole interface again.
 React uses an in-memory lightweight representation of the DOM (virtual DOM).
 Manipulating virtual DOM is faster than manipulating real DOM.
 React compares current state of the UI with the desired state and perform the
minimal set of real DOM changes.
 This is why React is the most fast and efficient framework.
Component-Oriented development
 Easy to create complex made of smaller components
 Written in plain JavaScript instaead of template languages or the HTML directives.
 Separtation of concerns
Our first react component
class Hello extends React.Component<any,any>{
render(){
return <h1>Ola k ase</h1>
}
}
Our first react component with dynamic values
class Hello extends React.Component<any, any>{
private message: string = "Welcome to SPS!";
render() {
return <h1>Message {this.message}</h1>
}
}
Component hierarchy
 Divide all UI into nested components.
 Components should be small and have single concern.
 If a component grows, it should be broken into smaller components.
 Components usually represent one piece of your data model.
Props
 Props are of key importance in component composition
 Mechanism used for passing data from parent to child components.
 Props can’t be changed inside the component.
 Component “configuration”
Our first react component with props
export interface HelloProps { message: string; user: string; }
class Hello extends React.Component<HelloProps, any> {
render() {
return <h1>Hello {this.props.user}, you have a message:
{this.props.message}!</h1>;
}
}
Using our first react component
ReactDOM.render(
<Hello user="Iván" message="React is better than angular" />,
document.getElementById("example")
);
State
 Mutable data that represents component internal state.
 When the state is updated, the component itself and its children are re-rendered.
 State is initialized in component constructor.
 Events can change component state.
Events
 React implements a synthetic event system.
 It achieves high performance by automatically using event delegation.
 Single event listener is attached to the root of the document.
 Event listeners automatically are removed when component unmounts.
React component with state and events
export class Search extends React.Component<InputProps, SearchState>{
constructor() {
super();
this.handleChange = this.handleChange.bind(this);
this.state = { searchTerm: "React" };
}
private handleChange(event: any): void {
this.setState({ searchTerm: event.target.value });
}
render() {
return (
<div>
Search term: <input type="search" value={this.state.searchTerm}
onChange={this.handleChange}} />
</div>
);
}
}
JSX
 Looks like HTML, but it is not HTML.
 Tags attributes are camel cased.
 All elements must be balanced.
 Attributes names are based on the DOM API.
 Single root node.
Component lifecycle
Resources
 https://dev.office.com/sharepoint/docs/spfx/sharepoint-framework-overview
 https://dev.office.com/fabric
 https://facebook.github.io/react/
 https://www.typescriptlang.org/
 https://react.rocks/
 https://geeks.ms/rockyouroffice365/
Please, fill your SPS Madrid
passport if you want to
participate.
You can win one of these gifts:
Raffle
10
9
8
Odor Odor@winterfell.com
Gold sponsors ______________
Silver sponsors
Bronze sponsors
Collaborate
Platinum sponsor

More Related Content

What's hot

Mule connectors
Mule  connectorsMule  connectors
Mule connectors
D.Rajesh Kumar
 
iOS Development (Part 2)
iOS Development (Part 2)iOS Development (Part 2)
iOS Development (Part 2)
Asim Rais Siddiqui
 
Leveling up with AngularJS
Leveling up with AngularJSLeveling up with AngularJS
Leveling up with AngularJS
Austin Condiff
 
11 wp7 designing applicationsusingexpressionblend
11 wp7   designing applicationsusingexpressionblend11 wp7   designing applicationsusingexpressionblend
11 wp7 designing applicationsusingexpressionblend
Tao Wang
 
Building Micro Services with Spring Cloud and Docker
Building Micro Services with Spring Cloud and DockerBuilding Micro Services with Spring Cloud and Docker
Building Micro Services with Spring Cloud and Docker
Louis Houghton
 
Mule salesforce
Mule  salesforceMule  salesforce
Mule salesforce
D.Rajesh Kumar
 
Create folder in microsoft office 365 share point using mule esb
Create folder in microsoft office 365 share point using mule esbCreate folder in microsoft office 365 share point using mule esb
Create folder in microsoft office 365 share point using mule esb
Sanjeet Pandey
 
Meteor
MeteorMeteor
Exploring the continuum between Cordova and React Native
Exploring the continuum between Cordova and React NativeExploring the continuum between Cordova and React Native
Exploring the continuum between Cordova and React Native
Simon MacDonald
 
Mule cloudhub application
Mule cloudhub applicationMule cloudhub application
Mule cloudhub application
D.Rajesh Kumar
 
5. servlets
5. servlets5. servlets
5. servlets
AnusAhmad
 
Clean VIP (Clean Swift) architecture
Clean VIP (Clean Swift) architectureClean VIP (Clean Swift) architecture
Clean VIP (Clean Swift) architecture
Jianbin LIN
 

What's hot (12)

Mule connectors
Mule  connectorsMule  connectors
Mule connectors
 
iOS Development (Part 2)
iOS Development (Part 2)iOS Development (Part 2)
iOS Development (Part 2)
 
Leveling up with AngularJS
Leveling up with AngularJSLeveling up with AngularJS
Leveling up with AngularJS
 
11 wp7 designing applicationsusingexpressionblend
11 wp7   designing applicationsusingexpressionblend11 wp7   designing applicationsusingexpressionblend
11 wp7 designing applicationsusingexpressionblend
 
Building Micro Services with Spring Cloud and Docker
Building Micro Services with Spring Cloud and DockerBuilding Micro Services with Spring Cloud and Docker
Building Micro Services with Spring Cloud and Docker
 
Mule salesforce
Mule  salesforceMule  salesforce
Mule salesforce
 
Create folder in microsoft office 365 share point using mule esb
Create folder in microsoft office 365 share point using mule esbCreate folder in microsoft office 365 share point using mule esb
Create folder in microsoft office 365 share point using mule esb
 
Meteor
MeteorMeteor
Meteor
 
Exploring the continuum between Cordova and React Native
Exploring the continuum between Cordova and React NativeExploring the continuum between Cordova and React Native
Exploring the continuum between Cordova and React Native
 
Mule cloudhub application
Mule cloudhub applicationMule cloudhub application
Mule cloudhub application
 
5. servlets
5. servlets5. servlets
5. servlets
 
Clean VIP (Clean Swift) architecture
Clean VIP (Clean Swift) architectureClean VIP (Clean Swift) architecture
Clean VIP (Clean Swift) architecture
 

Similar to SharePoint Framework y React

ReactJs
ReactJsReactJs
REACTJS.pdf
REACTJS.pdfREACTJS.pdf
REACTJS.pdf
ArthyR3
 
Copy of React_JS_Notes.pdf
Copy of React_JS_Notes.pdfCopy of React_JS_Notes.pdf
Copy of React_JS_Notes.pdf
suryanarayana272799
 
React Interview Questions and Answers by Scholarhat
React Interview Questions and Answers by ScholarhatReact Interview Questions and Answers by Scholarhat
React Interview Questions and Answers by Scholarhat
Scholarhat
 
Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITIntroduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace IT
namespaceit
 
Introduction to React JS.pptx
Introduction to React JS.pptxIntroduction to React JS.pptx
Introduction to React JS.pptx
SHAIKIRFAN715544
 
Introduction to ReactJS UI Web Dev .pptx
Introduction to ReactJS UI Web Dev .pptxIntroduction to ReactJS UI Web Dev .pptx
Introduction to ReactJS UI Web Dev .pptx
SHAIKIRFAN715544
 
React-JS.pptx
React-JS.pptxReact-JS.pptx
React-JS.pptx
AnmolPandita7
 
React + Redux + TypeScript === ♥
React + Redux + TypeScript === ♥React + Redux + TypeScript === ♥
React + Redux + TypeScript === ♥
Remo Jansen
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
Mohammed Fazuluddin
 
Content-Driven Apps with React
Content-Driven Apps with ReactContent-Driven Apps with React
Content-Driven Apps with React
Netcetera
 
reactJS
reactJSreactJS
reactJS
Syam Santhosh
 
React js - The Core Concepts
React js - The Core ConceptsReact js - The Core Concepts
React js - The Core Concepts
Divyang Bhambhani
 
Fundamental concepts of react js
Fundamental concepts of react jsFundamental concepts of react js
Fundamental concepts of react js
StephieJohn
 
Getting started with react &amp; redux
Getting started with react &amp; reduxGetting started with react &amp; redux
Getting started with react &amp; redux
Girish Talekar
 
ReactJS.pptx
ReactJS.pptxReactJS.pptx
ReactJS.pptx
SamyakShetty2
 
React
ReactReact
React Native +Redux + ES6 (Updated)
React Native +Redux + ES6 (Updated)React Native +Redux + ES6 (Updated)
React Native +Redux + ES6 (Updated)
Chiew Carol
 
What are the components in React?
What are the components in React?What are the components in React?
What are the components in React?
BOSC Tech Labs
 
React js
React jsReact js
React js
Alireza Akbari
 

Similar to SharePoint Framework y React (20)

ReactJs
ReactJsReactJs
ReactJs
 
REACTJS.pdf
REACTJS.pdfREACTJS.pdf
REACTJS.pdf
 
Copy of React_JS_Notes.pdf
Copy of React_JS_Notes.pdfCopy of React_JS_Notes.pdf
Copy of React_JS_Notes.pdf
 
React Interview Questions and Answers by Scholarhat
React Interview Questions and Answers by ScholarhatReact Interview Questions and Answers by Scholarhat
React Interview Questions and Answers by Scholarhat
 
Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITIntroduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace IT
 
Introduction to React JS.pptx
Introduction to React JS.pptxIntroduction to React JS.pptx
Introduction to React JS.pptx
 
Introduction to ReactJS UI Web Dev .pptx
Introduction to ReactJS UI Web Dev .pptxIntroduction to ReactJS UI Web Dev .pptx
Introduction to ReactJS UI Web Dev .pptx
 
React-JS.pptx
React-JS.pptxReact-JS.pptx
React-JS.pptx
 
React + Redux + TypeScript === ♥
React + Redux + TypeScript === ♥React + Redux + TypeScript === ♥
React + Redux + TypeScript === ♥
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
 
Content-Driven Apps with React
Content-Driven Apps with ReactContent-Driven Apps with React
Content-Driven Apps with React
 
reactJS
reactJSreactJS
reactJS
 
React js - The Core Concepts
React js - The Core ConceptsReact js - The Core Concepts
React js - The Core Concepts
 
Fundamental concepts of react js
Fundamental concepts of react jsFundamental concepts of react js
Fundamental concepts of react js
 
Getting started with react &amp; redux
Getting started with react &amp; reduxGetting started with react &amp; redux
Getting started with react &amp; redux
 
ReactJS.pptx
ReactJS.pptxReactJS.pptx
ReactJS.pptx
 
React
ReactReact
React
 
React Native +Redux + ES6 (Updated)
React Native +Redux + ES6 (Updated)React Native +Redux + ES6 (Updated)
React Native +Redux + ES6 (Updated)
 
What are the components in React?
What are the components in React?What are the components in React?
What are the components in React?
 
React js
React jsReact js
React js
 

More from SUGES (SharePoint Users Group España)

SharePoint Saturday Madrid 2017 - KeyNote
SharePoint Saturday Madrid 2017 - KeyNoteSharePoint Saturday Madrid 2017 - KeyNote
SharePoint Saturday Madrid 2017 - KeyNote
SUGES (SharePoint Users Group España)
 
How to use SharePoint PnP assets in real world use cases
How to use SharePoint PnP assets in real world use casesHow to use SharePoint PnP assets in real world use cases
How to use SharePoint PnP assets in real world use cases
SUGES (SharePoint Users Group España)
 
Domotica #Skype4 b #IoT #Azure #Windows10IoTCore
Domotica #Skype4 b #IoT #Azure #Windows10IoTCoreDomotica #Skype4 b #IoT #Azure #Windows10IoTCore
Domotica #Skype4 b #IoT #Azure #Windows10IoTCore
SUGES (SharePoint Users Group España)
 
Beyond cards: How to get the most out of Delve
Beyond cards: How to get the most out of DelveBeyond cards: How to get the most out of Delve
Beyond cards: How to get the most out of Delve
SUGES (SharePoint Users Group España)
 
CDNs para el SharePoint Framework (SPFx)
CDNs para el SharePoint Framework (SPFx)CDNs para el SharePoint Framework (SPFx)
CDNs para el SharePoint Framework (SPFx)
SUGES (SharePoint Users Group España)
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
SUGES (SharePoint Users Group España)
 
Probots: Azure Bots y Project Online
Probots: Azure Bots y Project OnlineProbots: Azure Bots y Project Online
Probots: Azure Bots y Project Online
SUGES (SharePoint Users Group España)
 
Cómo gestionar el ciclo de vida de soluciones SPFx
Cómo gestionar el ciclo de vida de soluciones SPFxCómo gestionar el ciclo de vida de soluciones SPFx
Cómo gestionar el ciclo de vida de soluciones SPFx
SUGES (SharePoint Users Group España)
 
Extending Microsoft Teams
Extending Microsoft TeamsExtending Microsoft Teams
Extending Microsoft Teams
SUGES (SharePoint Users Group España)
 
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
SUGES (SharePoint Users Group España)
 
How to execute SharePoint 2016 upgrade strategy and ensure business continuity
How to execute SharePoint 2016 upgrade strategy and ensure business continuityHow to execute SharePoint 2016 upgrade strategy and ensure business continuity
How to execute SharePoint 2016 upgrade strategy and ensure business continuity
SUGES (SharePoint Users Group España)
 
Bots & Teams: el poder de Grayskull
Bots & Teams: el poder de GrayskullBots & Teams: el poder de Grayskull
Bots & Teams: el poder de Grayskull
SUGES (SharePoint Users Group España)
 
Análisis de sentimiento con Flow y Text Analytics
Análisis de sentimiento con Flow y Text AnalyticsAnálisis de sentimiento con Flow y Text Analytics
Análisis de sentimiento con Flow y Text Analytics
SUGES (SharePoint Users Group España)
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
SUGES (SharePoint Users Group España)
 
Text Analytics y Machine Learning como sistema de catalogación
Text Analytics y Machine Learning como sistema de catalogaciónText Analytics y Machine Learning como sistema de catalogación
Text Analytics y Machine Learning como sistema de catalogación
SUGES (SharePoint Users Group España)
 
Proyecto 360: Combinar lo mejor de Azure y Office 365
Proyecto 360: Combinar lo mejor de Azure y Office 365Proyecto 360: Combinar lo mejor de Azure y Office 365
Proyecto 360: Combinar lo mejor de Azure y Office 365
SUGES (SharePoint Users Group España)
 
Empowering SharePoint with search capabilities
Empowering SharePoint with search capabilitiesEmpowering SharePoint with search capabilities
Empowering SharePoint with search capabilities
SUGES (SharePoint Users Group España)
 
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
SUGES (SharePoint Users Group España)
 
Aprovisionamiento remoto de SharePoint con Azure Functions
Aprovisionamiento remoto de SharePoint con Azure FunctionsAprovisionamiento remoto de SharePoint con Azure Functions
Aprovisionamiento remoto de SharePoint con Azure Functions
SUGES (SharePoint Users Group España)
 

More from SUGES (SharePoint Users Group España) (19)

SharePoint Saturday Madrid 2017 - KeyNote
SharePoint Saturday Madrid 2017 - KeyNoteSharePoint Saturday Madrid 2017 - KeyNote
SharePoint Saturday Madrid 2017 - KeyNote
 
How to use SharePoint PnP assets in real world use cases
How to use SharePoint PnP assets in real world use casesHow to use SharePoint PnP assets in real world use cases
How to use SharePoint PnP assets in real world use cases
 
Domotica #Skype4 b #IoT #Azure #Windows10IoTCore
Domotica #Skype4 b #IoT #Azure #Windows10IoTCoreDomotica #Skype4 b #IoT #Azure #Windows10IoTCore
Domotica #Skype4 b #IoT #Azure #Windows10IoTCore
 
Beyond cards: How to get the most out of Delve
Beyond cards: How to get the most out of DelveBeyond cards: How to get the most out of Delve
Beyond cards: How to get the most out of Delve
 
CDNs para el SharePoint Framework (SPFx)
CDNs para el SharePoint Framework (SPFx)CDNs para el SharePoint Framework (SPFx)
CDNs para el SharePoint Framework (SPFx)
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
 
Probots: Azure Bots y Project Online
Probots: Azure Bots y Project OnlineProbots: Azure Bots y Project Online
Probots: Azure Bots y Project Online
 
Cómo gestionar el ciclo de vida de soluciones SPFx
Cómo gestionar el ciclo de vida de soluciones SPFxCómo gestionar el ciclo de vida de soluciones SPFx
Cómo gestionar el ciclo de vida de soluciones SPFx
 
Extending Microsoft Teams
Extending Microsoft TeamsExtending Microsoft Teams
Extending Microsoft Teams
 
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
 
How to execute SharePoint 2016 upgrade strategy and ensure business continuity
How to execute SharePoint 2016 upgrade strategy and ensure business continuityHow to execute SharePoint 2016 upgrade strategy and ensure business continuity
How to execute SharePoint 2016 upgrade strategy and ensure business continuity
 
Bots & Teams: el poder de Grayskull
Bots & Teams: el poder de GrayskullBots & Teams: el poder de Grayskull
Bots & Teams: el poder de Grayskull
 
Análisis de sentimiento con Flow y Text Analytics
Análisis de sentimiento con Flow y Text AnalyticsAnálisis de sentimiento con Flow y Text Analytics
Análisis de sentimiento con Flow y Text Analytics
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
Text Analytics y Machine Learning como sistema de catalogación
Text Analytics y Machine Learning como sistema de catalogaciónText Analytics y Machine Learning como sistema de catalogación
Text Analytics y Machine Learning como sistema de catalogación
 
Proyecto 360: Combinar lo mejor de Azure y Office 365
Proyecto 360: Combinar lo mejor de Azure y Office 365Proyecto 360: Combinar lo mejor de Azure y Office 365
Proyecto 360: Combinar lo mejor de Azure y Office 365
 
Empowering SharePoint with search capabilities
Empowering SharePoint with search capabilitiesEmpowering SharePoint with search capabilities
Empowering SharePoint with search capabilities
 
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
 
Aprovisionamiento remoto de SharePoint con Azure Functions
Aprovisionamiento remoto de SharePoint con Azure FunctionsAprovisionamiento remoto de SharePoint con Azure Functions
Aprovisionamiento remoto de SharePoint con Azure Functions
 

Recently uploaded

GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 

Recently uploaded (20)

GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 

SharePoint Framework y React

  • 1. May 20th, 2017 SharePoint Saturday Madrid SharePoint Framework & React Iván Gómez R.
  • 2. Iván Gómez R. SharePoint Consultant Plain Concepts https://geeks.ms/rockyouroffice365 https://twitter.com/ivangomezrod Proud father, biker, geek and developer
  • 3. WiFi Keys for Attendees  Connect to the wireless network MSFTGUEST  Click on Event Attendee Code and enter the access code: msevent47pu
  • 4.
  • 5.
  • 6. What is React?  “React is an engine for building composable user interfaces using Javascript and (optionally) XML.” Engine: why engine? Because of reactive UI rendering that separates state from the UI presented. You define how state is represented on DOM elements and how state changes updates DOM. Creating composable user interfaces: React is oriented to creating UI components blocks easy to reuse, extend and maintain. Javascript: React is a pure Javascript library that can be used on the browser, the server and mobile devices.
  • 7. Reactive rendering  Let us write in a declarative way how components should look and behave.  When the data changes React renders the whole interface again.  React uses an in-memory lightweight representation of the DOM (virtual DOM).  Manipulating virtual DOM is faster than manipulating real DOM.  React compares current state of the UI with the desired state and perform the minimal set of real DOM changes.  This is why React is the most fast and efficient framework.
  • 8. Component-Oriented development  Easy to create complex made of smaller components  Written in plain JavaScript instaead of template languages or the HTML directives.  Separtation of concerns
  • 9. Our first react component class Hello extends React.Component<any,any>{ render(){ return <h1>Ola k ase</h1> } }
  • 10. Our first react component with dynamic values class Hello extends React.Component<any, any>{ private message: string = "Welcome to SPS!"; render() { return <h1>Message {this.message}</h1> } }
  • 11. Component hierarchy  Divide all UI into nested components.  Components should be small and have single concern.  If a component grows, it should be broken into smaller components.  Components usually represent one piece of your data model.
  • 12. Props  Props are of key importance in component composition  Mechanism used for passing data from parent to child components.  Props can’t be changed inside the component.  Component “configuration”
  • 13. Our first react component with props export interface HelloProps { message: string; user: string; } class Hello extends React.Component<HelloProps, any> { render() { return <h1>Hello {this.props.user}, you have a message: {this.props.message}!</h1>; } }
  • 14. Using our first react component ReactDOM.render( <Hello user="Iván" message="React is better than angular" />, document.getElementById("example") );
  • 15. State  Mutable data that represents component internal state.  When the state is updated, the component itself and its children are re-rendered.  State is initialized in component constructor.  Events can change component state.
  • 16. Events  React implements a synthetic event system.  It achieves high performance by automatically using event delegation.  Single event listener is attached to the root of the document.  Event listeners automatically are removed when component unmounts.
  • 17. React component with state and events export class Search extends React.Component<InputProps, SearchState>{ constructor() { super(); this.handleChange = this.handleChange.bind(this); this.state = { searchTerm: "React" }; } private handleChange(event: any): void { this.setState({ searchTerm: event.target.value }); } render() { return ( <div> Search term: <input type="search" value={this.state.searchTerm} onChange={this.handleChange}} /> </div> ); } }
  • 18. JSX  Looks like HTML, but it is not HTML.  Tags attributes are camel cased.  All elements must be balanced.  Attributes names are based on the DOM API.  Single root node.
  • 20.
  • 21.
  • 22. Resources  https://dev.office.com/sharepoint/docs/spfx/sharepoint-framework-overview  https://dev.office.com/fabric  https://facebook.github.io/react/  https://www.typescriptlang.org/  https://react.rocks/  https://geeks.ms/rockyouroffice365/
  • 23.
  • 24. Please, fill your SPS Madrid passport if you want to participate. You can win one of these gifts: Raffle 10 9 8 Odor Odor@winterfell.com
  • 25. Gold sponsors ______________ Silver sponsors Bronze sponsors Collaborate Platinum sponsor

Editor's Notes

  1. This slide is mandatory. Please do not remove.
  2. Hipsters Historia desarrollo SP Typescript Falta material con typescript
  3. This slide is mandatory. Please do not remove and try to use it during Q&A at the end of your session. Thank you!