SlideShare a Scribd company logo
1 of 28
Intro to React
What is React?
Library for building user interfaces
View
Component Based
React is Awesome!
Declarative
Fast
Simple
But First…
JSX and ES6
Hello, world!
Component
Props
{ … }
<Element/>
State
{ … }
There are actually a few different
ways to create components
Class Component
Functional Component
or
Strive to use
stateless functional
components
whenever possible.
Rendering
Props
State
State
See the Calculator
Working
http://codepen.io/ewestfal/pen/XNWRdR
Component Lifecycle
Mounting
Updating
Unmounting
Mounting
constructor()
componentWillMount()
render()
componentDidMount()
{
Updating
componentWillReceiveProps()
shouldComponentUpdate()
componentWillUpdate()
render()
componentDidUpdate()
{
Unmounting componentWillUnmount()
{
Data flow is unidirectional.
All data flows down the component hierarchy
Virtual DOM
“You’re on a need-to-know basis…
and you don’t need to know.”
That’s
it…simple.
Components
Props
State
{remember
Vibrant Ecosystem
Learning More
https://facebook.github.io/react/
https://egghead.io/technologies/react
Eric Westfall
ewestfal@iu.edu

More Related Content

What's hot (20)

Introduction to React
Introduction to ReactIntroduction to React
Introduction to React
 
React js for beginners
React js for beginnersReact js for beginners
React js for beginners
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_js
 
ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentation
 
Introduction to React JS
Introduction to React JSIntroduction to React JS
Introduction to React JS
 
React JS
React JSReact JS
React JS
 
React-JS Component Life-cycle Methods
React-JS Component Life-cycle MethodsReact-JS Component Life-cycle Methods
React-JS Component Life-cycle Methods
 
React js
React jsReact js
React js
 
React js - The Core Concepts
React js - The Core ConceptsReact js - The Core Concepts
React js - The Core Concepts
 
React workshop presentation
React workshop presentationReact workshop presentation
React workshop presentation
 
React + Redux Introduction
React + Redux IntroductionReact + Redux Introduction
React + Redux Introduction
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
 
React Js Simplified
React Js SimplifiedReact Js Simplified
React Js Simplified
 
A Brief Introduction to React.js
A Brief Introduction to React.jsA Brief Introduction to React.js
A Brief Introduction to React.js
 
reactJS
reactJSreactJS
reactJS
 
Reactjs
Reactjs Reactjs
Reactjs
 
Intro to React
Intro to ReactIntro to React
Intro to React
 
React state
React  stateReact  state
React state
 
ReactJs
ReactJsReactJs
ReactJs
 
Tech Talk on ReactJS
Tech Talk on ReactJSTech Talk on ReactJS
Tech Talk on ReactJS
 

Viewers also liked

How to Use Mobile to Build a Brand Customers Love - Digital Summit Seattle
How to Use Mobile to Build a Brand Customers Love - Digital Summit SeattleHow to Use Mobile to Build a Brand Customers Love - Digital Summit Seattle
How to Use Mobile to Build a Brand Customers Love - Digital Summit SeattleApptentive
 
Intro To React Native
Intro To React NativeIntro To React Native
Intro To React NativeFITC
 
REFCHK Presentación de Servicios 2017
REFCHK Presentación de Servicios 2017REFCHK Presentación de Servicios 2017
REFCHK Presentación de Servicios 2017Fernando Nunez
 
Le PIM, levier d'une transformation digitale réussie et efficace (Akeneo + Eram)
Le PIM, levier d'une transformation digitale réussie et efficace (Akeneo + Eram)Le PIM, levier d'une transformation digitale réussie et efficace (Akeneo + Eram)
Le PIM, levier d'une transformation digitale réussie et efficace (Akeneo + Eram)Fred de GOMBERT
 
United Grinding - Studer - CNC Universal Grinders - Flex Load Automationn
United Grinding - Studer - CNC Universal Grinders - Flex Load AutomationnUnited Grinding - Studer - CNC Universal Grinders - Flex Load Automationn
United Grinding - Studer - CNC Universal Grinders - Flex Load AutomationnMachine Tool Systems Inc.
 
R. Villano - Pubblicazioni rotariane
R. Villano - Pubblicazioni rotarianeR. Villano - Pubblicazioni rotariane
R. Villano - Pubblicazioni rotarianeRaimondo Villano
 
A depressao como mal estar contemporaneo
A depressao como mal estar contemporaneoA depressao como mal estar contemporaneo
A depressao como mal estar contemporaneoFabíola Mapin
 
Temperatura superficial del mar del perú 28.03.2017
Temperatura superficial del mar del perú 28.03.2017Temperatura superficial del mar del perú 28.03.2017
Temperatura superficial del mar del perú 28.03.2017Manuel Placido
 
Developing a Long-Term Digital Strategy
Developing a Long-Term Digital StrategyDeveloping a Long-Term Digital Strategy
Developing a Long-Term Digital StrategyOne North
 
Apprenticeship Statistics Report 2017
Apprenticeship Statistics Report 2017Apprenticeship Statistics Report 2017
Apprenticeship Statistics Report 2017Legalo Ltd
 
GBMiners Vision & Leadership Team
GBMiners Vision & Leadership TeamGBMiners Vision & Leadership Team
GBMiners Vision & Leadership TeamGBMiners.com
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門Etsuji Nakai
 
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発LINE Corporation
 
Soy mi marca o no soy nada, lo mejor de la cosecha de 2013 en marca personal ...
Soy mi marca o no soy nada, lo mejor de la cosecha de 2013 en marca personal ...Soy mi marca o no soy nada, lo mejor de la cosecha de 2013 en marca personal ...
Soy mi marca o no soy nada, lo mejor de la cosecha de 2013 en marca personal ...Soymimarca
 
Top 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsTop 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsCloudera, Inc.
 
Configuration beyond Java EE 8
Configuration beyond Java EE 8Configuration beyond Java EE 8
Configuration beyond Java EE 8Anatole Tresch
 

Viewers also liked (20)

How to Use Mobile to Build a Brand Customers Love - Digital Summit Seattle
How to Use Mobile to Build a Brand Customers Love - Digital Summit SeattleHow to Use Mobile to Build a Brand Customers Love - Digital Summit Seattle
How to Use Mobile to Build a Brand Customers Love - Digital Summit Seattle
 
Intro To React Native
Intro To React NativeIntro To React Native
Intro To React Native
 
REFCHK Presentación de Servicios 2017
REFCHK Presentación de Servicios 2017REFCHK Presentación de Servicios 2017
REFCHK Presentación de Servicios 2017
 
Le PIM, levier d'une transformation digitale réussie et efficace (Akeneo + Eram)
Le PIM, levier d'une transformation digitale réussie et efficace (Akeneo + Eram)Le PIM, levier d'une transformation digitale réussie et efficace (Akeneo + Eram)
Le PIM, levier d'une transformation digitale réussie et efficace (Akeneo + Eram)
 
United Grinding - Studer - CNC Universal Grinders - Flex Load Automationn
United Grinding - Studer - CNC Universal Grinders - Flex Load AutomationnUnited Grinding - Studer - CNC Universal Grinders - Flex Load Automationn
United Grinding - Studer - CNC Universal Grinders - Flex Load Automationn
 
How to Combat EMV Chargebacks
How to Combat EMV Chargebacks How to Combat EMV Chargebacks
How to Combat EMV Chargebacks
 
R. Villano - Pubblicazioni rotariane
R. Villano - Pubblicazioni rotarianeR. Villano - Pubblicazioni rotariane
R. Villano - Pubblicazioni rotariane
 
A depressao como mal estar contemporaneo
A depressao como mal estar contemporaneoA depressao como mal estar contemporaneo
A depressao como mal estar contemporaneo
 
Temperatura superficial del mar del perú 28.03.2017
Temperatura superficial del mar del perú 28.03.2017Temperatura superficial del mar del perú 28.03.2017
Temperatura superficial del mar del perú 28.03.2017
 
Eski Türklerde Spor
Eski Türklerde SporEski Türklerde Spor
Eski Türklerde Spor
 
Developing a Long-Term Digital Strategy
Developing a Long-Term Digital StrategyDeveloping a Long-Term Digital Strategy
Developing a Long-Term Digital Strategy
 
Apprenticeship Statistics Report 2017
Apprenticeship Statistics Report 2017Apprenticeship Statistics Report 2017
Apprenticeship Statistics Report 2017
 
Electricidad
ElectricidadElectricidad
Electricidad
 
GBMiners Vision & Leadership Team
GBMiners Vision & Leadership TeamGBMiners Vision & Leadership Team
GBMiners Vision & Leadership Team
 
How To Be A Citizen Activist - Guide for Taking Political Action NOW
How To Be A Citizen Activist - Guide for Taking Political Action NOWHow To Be A Citizen Activist - Guide for Taking Political Action NOW
How To Be A Citizen Activist - Guide for Taking Political Action NOW
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門
 
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
 
Soy mi marca o no soy nada, lo mejor de la cosecha de 2013 en marca personal ...
Soy mi marca o no soy nada, lo mejor de la cosecha de 2013 en marca personal ...Soy mi marca o no soy nada, lo mejor de la cosecha de 2013 en marca personal ...
Soy mi marca o no soy nada, lo mejor de la cosecha de 2013 en marca personal ...
 
Top 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsTop 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark Applications
 
Configuration beyond Java EE 8
Configuration beyond Java EE 8Configuration beyond Java EE 8
Configuration beyond Java EE 8
 

Similar to Intro to React

Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsJeff Durta
 
React JS and Redux
React JS and ReduxReact JS and Redux
React JS and ReduxGlib Kechyn
 
Combining Angular and React Together
Combining Angular and React TogetherCombining Angular and React Together
Combining Angular and React TogetherSebastian Pederiva
 
React JS: A Secret Preview
React JS: A Secret PreviewReact JS: A Secret Preview
React JS: A Secret Previewvaluebound
 
ReactJS - A quick introduction to Awesomeness
ReactJS - A quick introduction to AwesomenessReactJS - A quick introduction to Awesomeness
ReactJS - A quick introduction to AwesomenessRonny Haase
 
React - Start learning today
React - Start learning today React - Start learning today
React - Start learning today Nitin Tyagi
 
Corso su ReactJS
Corso su ReactJSCorso su ReactJS
Corso su ReactJSLinkMe Srl
 
Intro to React - Featuring Modern JavaScript
Intro to React - Featuring Modern JavaScriptIntro to React - Featuring Modern JavaScript
Intro to React - Featuring Modern JavaScriptjasonsich
 
OttawaJS - React
OttawaJS - ReactOttawaJS - React
OttawaJS - Reactrbl002
 
Entity Framework V1 and V2
Entity Framework V1 and V2Entity Framework V1 and V2
Entity Framework V1 and V2ukdpe
 
EJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLinkEJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLinkBill Lyons
 
Entity Framework v1 and v2
Entity Framework v1 and v2Entity Framework v1 and v2
Entity Framework v1 and v2Eric Nelson
 
Full Stack React Workshop [CSSC x GDSC]
Full Stack React Workshop [CSSC x GDSC]Full Stack React Workshop [CSSC x GDSC]
Full Stack React Workshop [CSSC x GDSC]GDSC UofT Mississauga
 
Effective JavaFX architecture with FxObjects
Effective JavaFX architecture with FxObjectsEffective JavaFX architecture with FxObjects
Effective JavaFX architecture with FxObjectsSrikanth Shenoy
 

Similar to Intro to React (20)

Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applications
 
ReactJS presentation.pptx
ReactJS presentation.pptxReactJS presentation.pptx
ReactJS presentation.pptx
 
React JS and Redux
React JS and ReduxReact JS and Redux
React JS and Redux
 
Combining Angular and React Together
Combining Angular and React TogetherCombining Angular and React Together
Combining Angular and React Together
 
React JS: A Secret Preview
React JS: A Secret PreviewReact JS: A Secret Preview
React JS: A Secret Preview
 
Internal workshop react-js-mruiz
Internal workshop react-js-mruizInternal workshop react-js-mruiz
Internal workshop react-js-mruiz
 
ReactJS - A quick introduction to Awesomeness
ReactJS - A quick introduction to AwesomenessReactJS - A quick introduction to Awesomeness
ReactJS - A quick introduction to Awesomeness
 
React - Start learning today
React - Start learning today React - Start learning today
React - Start learning today
 
BackboneJS + ReactJS
BackboneJS + ReactJSBackboneJS + ReactJS
BackboneJS + ReactJS
 
ReactJS (1)
ReactJS (1)ReactJS (1)
ReactJS (1)
 
Corso su ReactJS
Corso su ReactJSCorso su ReactJS
Corso su ReactJS
 
Intro to React - Featuring Modern JavaScript
Intro to React - Featuring Modern JavaScriptIntro to React - Featuring Modern JavaScript
Intro to React - Featuring Modern JavaScript
 
OttawaJS - React
OttawaJS - ReactOttawaJS - React
OttawaJS - React
 
Entity Framework V1 and V2
Entity Framework V1 and V2Entity Framework V1 and V2
Entity Framework V1 and V2
 
Intro to React.js
Intro to React.jsIntro to React.js
Intro to React.js
 
EJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLinkEJB 3.0 Java Persistence with Oracle TopLink
EJB 3.0 Java Persistence with Oracle TopLink
 
Entity Framework v1 and v2
Entity Framework v1 and v2Entity Framework v1 and v2
Entity Framework v1 and v2
 
Intro react js
Intro react jsIntro react js
Intro react js
 
Full Stack React Workshop [CSSC x GDSC]
Full Stack React Workshop [CSSC x GDSC]Full Stack React Workshop [CSSC x GDSC]
Full Stack React Workshop [CSSC x GDSC]
 
Effective JavaFX architecture with FxObjects
Effective JavaFX architecture with FxObjectsEffective JavaFX architecture with FxObjects
Effective JavaFX architecture with FxObjects
 

Recently uploaded

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Editor's Notes

  1. Eric Westfall, Chief Software Architect at Indiana University and I’m going to introduce you all to React Before we get started, how many of you have used React or are using it? For those who don’t know, I spent a number of years working on Kuali software, and in the original Kuali software we used Java technologies and Apache Struts to implement our web application functionality. This included using JSP and taglibs, I remember thinking back then, “this is just horrible, there has to be a better way”. First of all the syntax and capabilities of JSP are just awful, second we were doing all of this work to track state in our server side code, we actually had code that would track the current state of things like tabs and whether they were open or not on the server side, it was awful I think that managing a large amount of state that can be modified or changed in multiple ways is one of the hardest things about programming and causes the bugs So I was wishing for that better way to develop user interfaces…React is that better way
  2. It’s not a framework! Unlike AngularJS It’s also not MVC
  3. Many people think of React as the “V” in MVC, it for building application UI’s ‘
  4. Create your apps as a hierarchy of components
  5. We’ve been using React for development on my team at IU for over a year now and it’s changed the way that we approach application development, it has truly been revolutionary and refreshing for our team It’s really a joy to work with It’s declarative – when you implement your components you are saying “this is how I want it to look”, you simply write your render method and you don’t have to worry about telling the system when it should be rendered It’s simple – there are really only a handful of concepts you have to understand to understand how react works, and I’m going to try to cover most all of those in this 20 minute segment It’s fast, both from a speed of development perspective, but also a performance/execution perspective, it utilizes a technique that I will talk about later which allows it to be very performant
  6. Our examples will contain javascript code that includes both JSX and ES6 JSX is a syntax extension to javascript which support and XML-like syntax ES6 (aka ES2015) is an updated version of javascript Includes classes, arrow notation for functions, and a bunch of other stuff So how does this stuff actually get executed by the browser? It doesn’t! we use a compiler called babel to transpile it specifics are beyond the scope of this intro Just know that you will see both of these in the examples, and I’ll explain it as we go through
  7. Pure functions are just simpler and easier to understand Avoids the use of classes Helps to spot code bloat by making it easier to see code that should be refactored into simpler components They are super easy to test
  8. Each component goes through a lifecycle and there are various hooks available that can be implemented on a component class for tapping into that lifecycle
  9. These methods are called when an instance of a component is being created and inserted into the DOM
  10. Benefits JS applications must manage more and more state these days, this ever changing state is hard to manage Leads to situations where it is difficult to understand what is happening with the state in your application Unidirectional data flow is much easier to reason about and program with because data flow is deterministic and predictable
  11. While the core of react is very simple, it has a large and vibrant ecosystem of other libraries that it can be paired with Including libraries to handle routing, forms, redux (which we already mentioned briefly), bootstrap, and much more