SlideShare ist ein Scribd-Unternehmen logo
1 von 23
A Hybrid App Development
Framework
Native Hybrid
Introduction
❏ Open source cross-platform framework.
❏ Developed by Facebook and first public preview was released in March
2015.
❏ Build mobile apps using React and JavaScript.
❏ Currently supports Android and iOS platform.
❏ Creates “Real App”.
How does it work?
In React Native, virtual DOM acts as a layer between the developer’s
description of how things look and work done to render the application.
React Native invokes Objective-C APIs and Java APIs to render native
components.
<Text>
Objective-C
API
Java API
UILabel
<TextView>
Converts
Converts
RN Component
Native Views
RCT Bridge
How to get started?
We can start building our Application either by Expo or React Native CLI.
❏ Expo is the easiest way to get started with react native as it doesn’t
require setting up Android Studio and Xcode.
❏ React Native CLI needs both SDKs to be installed for running react native
applications.
To create and run react native app using
CRNA use below commands
npm install -g create-react-
native-app
create-react-native-app ExampleApp
npm run android or npm run ios
Expo
❏ Build a project using Expo (CRNA)
❏ Install Expo app on phone and
connect it to the same network as
our computer.
❏ Has tons of inbuilt libraries.
❏ Doesn’t allow third party libraries
that requires native code linking.
❏ We can eject our Expo project to RN-
CLI project if required.
React Native CLI
❏ Creates app template with native
iOS and Android projects that can
be modified.
❏ Allow us to add third party libraries
with native code linking.
❏ Allow us to modify native code.
To create and run react native app using
CLI use below commands -
npm install -g react-native-cli
react-native init ExampleApp
react-native run-android/run-ios
Core Concepts
❏ Components
❏ Functional/Stateless Component
❏ Class/Stateful Component
❏ JSX
❏ Unidirectional Data Flow
❏ Virtual DOM
STATE
Core features
❏ React Native is like React, but it uses native components instead of web
components as building blocks.
❏ React Native handles layout with Yoga, a cross-platform C library that
handles layout calculations via the flexbox API.
❏ React native supports State/Props to control component. Props are set by
parent and State is the data that is going to change.
❏ React Native Animated library, provides jank-free animations and even
interaction-driven animations such as scrolling parallax.
Lifecycle
Initialization
Mounting
Updation
Unmounting
Lifecycle
Inbuilt Tools
React Native has its own inbuilt tooling such as -
1. Reload
2. Debug JS Remotely
3. Show Perf Monitor
1. Enable Live Reload
2. Enable Hot Reloading
Live Reloading Hot Reloading
1... 2... 3...
4... 5...
6...
6...
7.. 8... 9...
Reloads the whole application Reloads the screen with updated changes
Why Use it?
● Cross Platform Usage
● Open Source - Possible to leverage the extremely vast array of javascript
projects such as redux, reselect, jest, etc.
● Increase in Developer Velocity
● Backed by Native Platforms ( iOS and Android )
● Based on React
● Iteration Speed - Hot reloading enables to test changes on Android and
iOS in just a second or two.
Limitations
❏ React Native Immaturity - React Native is less mature than Android or
iOS. Some trivial things in Native can be complex to implement in react
native.
❏ Gestures - The touch subsystem for Android and iOS are different
enough that coming up with a unified API has been challenging for the
entire React Native community.
❏ Javascript Untyped nature - Lack of type safety is both difficult to scale
and can became a point of contention for mobile engineers used to typed
languages.
❏ Refactoring - A side-effect of JavaScript being untyped is that refactoring
was extremely difficult and error-prone.
React Native - who’s using it?
Note: Please find a complete list of apps built using react native on facebook showcase.
Questions?
Thank you
Sources & Helpful links
➢ React Native Documentation
➢ Expo Documentation
➢ Navigation
➢ Redux
➢ Vector icons
➢ React Native at Airbnb: The Technology
➢ Supporting React Native at Pinterest

Weitere ähnliche Inhalte

Was ist angesagt?

How native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App DevelopmentHow native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App DevelopmentDevathon
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJSKnoldus Inc.
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React NativeSambhu Lakshmanan
 
React js - The Core Concepts
React js - The Core ConceptsReact js - The Core Concepts
React js - The Core ConceptsDivyang Bhambhani
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorialMohammed Fazuluddin
 
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...Edureka!
 
Build beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutterBuild beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutterRobertLe30
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_jsMicroPyramid .
 
React workshop presentation
React workshop presentationReact workshop presentation
React workshop presentationBojan Golubović
 

Was ist angesagt? (20)

How native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App DevelopmentHow native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App Development
 
React Native
React NativeReact Native
React Native
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
 
Reactjs
Reactjs Reactjs
Reactjs
 
React Native
React NativeReact Native
React Native
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
React Native
React Native React Native
React Native
 
React Native
React NativeReact Native
React Native
 
Introduction to React JS
Introduction to React JSIntroduction to React JS
Introduction to React JS
 
React js - The Core Concepts
React js - The Core ConceptsReact js - The Core Concepts
React js - The Core Concepts
 
React workshop
React workshopReact workshop
React workshop
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
 
Reactjs
ReactjsReactjs
Reactjs
 
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
 
Build beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutterBuild beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutter
 
ReactJS
ReactJSReactJS
ReactJS
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_js
 
React workshop presentation
React workshop presentationReact workshop presentation
React workshop presentation
 
Angular vs React vs Vue
Angular vs React vs VueAngular vs React vs Vue
Angular vs React vs Vue
 
React JS - Introduction
React JS - IntroductionReact JS - Introduction
React JS - Introduction
 

Ähnlich wie React native

Lecture 1 Introduction to React Native.pptx
Lecture 1 Introduction to React Native.pptxLecture 1 Introduction to React Native.pptx
Lecture 1 Introduction to React Native.pptxGevitaChinnaiah
 
React Native - Build Native Mobile App
React Native - Build Native Mobile AppReact Native - Build Native Mobile App
React Native - Build Native Mobile AppMobio Solutions
 
From React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I startedFrom React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I startedsparkfabrik
 
Getting Started With React Native Presntation
Getting Started With React Native PresntationGetting Started With React Native Presntation
Getting Started With React Native PresntationKnoldus Inc.
 
Reactjs Vs React Native – Key Difference, Advantages, And Disadvantages
Reactjs Vs React Native – Key Difference, Advantages, And DisadvantagesReactjs Vs React Native – Key Difference, Advantages, And Disadvantages
Reactjs Vs React Native – Key Difference, Advantages, And DisadvantagesAndolasoft Inc
 
Developing, building, testing and deploying react native apps
Developing, building, testing and deploying react native appsDeveloping, building, testing and deploying react native apps
Developing, building, testing and deploying react native appsLeena N
 
React Native - Framework For Mobile App (Seminar)
React Native - Framework For Mobile App (Seminar)React Native - Framework For Mobile App (Seminar)
React Native - Framework For Mobile App (Seminar)Jaise P Jose
 
Introduction to react native @ TIC NUST
Introduction to react native @ TIC NUSTIntroduction to react native @ TIC NUST
Introduction to react native @ TIC NUSTWaqqas Jabbar
 
Why Businesses Should Hire React Native Developers to Build the Best Mobile A...
Why Businesses Should Hire React Native Developers to Build the Best Mobile A...Why Businesses Should Hire React Native Developers to Build the Best Mobile A...
Why Businesses Should Hire React Native Developers to Build the Best Mobile A...Noman Shaikh
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React NativeWaqqas Jabbar
 
Building our App with React Native
Building our App with React NativeBuilding our App with React Native
Building our App with React NativeNuxeo
 
Rits Brown Bag - React Native and Salesforce
Rits Brown Bag - React Native and SalesforceRits Brown Bag - React Native and Salesforce
Rits Brown Bag - React Native and SalesforceRight IT Services
 
Hire react native developer
Hire react native developer Hire react native developer
Hire react native developer Shivani
 
20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React NativeEric Deng
 
Why React Native Development is the Best Choice for organizations.ppt.pptx
Why React Native Development is the Best Choice for organizations.ppt.pptxWhy React Native Development is the Best Choice for organizations.ppt.pptx
Why React Native Development is the Best Choice for organizations.ppt.pptxSaniyaSharma28
 

Ähnlich wie React native (20)

Lecture 1 Introduction to React Native.pptx
Lecture 1 Introduction to React Native.pptxLecture 1 Introduction to React Native.pptx
Lecture 1 Introduction to React Native.pptx
 
React native
React nativeReact native
React native
 
React Native - Build Native Mobile App
React Native - Build Native Mobile AppReact Native - Build Native Mobile App
React Native - Build Native Mobile App
 
From React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I startedFrom React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I started
 
Getting Started With React Native Presntation
Getting Started With React Native PresntationGetting Started With React Native Presntation
Getting Started With React Native Presntation
 
Reactjs Vs React Native – Key Difference, Advantages, And Disadvantages
Reactjs Vs React Native – Key Difference, Advantages, And DisadvantagesReactjs Vs React Native – Key Difference, Advantages, And Disadvantages
Reactjs Vs React Native – Key Difference, Advantages, And Disadvantages
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react native
 
React vs React Native
React vs React NativeReact vs React Native
React vs React Native
 
Developing, building, testing and deploying react native apps
Developing, building, testing and deploying react native appsDeveloping, building, testing and deploying react native apps
Developing, building, testing and deploying react native apps
 
React Native - Framework For Mobile App (Seminar)
React Native - Framework For Mobile App (Seminar)React Native - Framework For Mobile App (Seminar)
React Native - Framework For Mobile App (Seminar)
 
Introduction to react native @ TIC NUST
Introduction to react native @ TIC NUSTIntroduction to react native @ TIC NUST
Introduction to react native @ TIC NUST
 
Why Businesses Should Hire React Native Developers to Build the Best Mobile A...
Why Businesses Should Hire React Native Developers to Build the Best Mobile A...Why Businesses Should Hire React Native Developers to Build the Best Mobile A...
Why Businesses Should Hire React Native Developers to Build the Best Mobile A...
 
Web summit.pptx
Web summit.pptxWeb summit.pptx
Web summit.pptx
 
React native
React nativeReact native
React native
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
Building our App with React Native
Building our App with React NativeBuilding our App with React Native
Building our App with React Native
 
Rits Brown Bag - React Native and Salesforce
Rits Brown Bag - React Native and SalesforceRits Brown Bag - React Native and Salesforce
Rits Brown Bag - React Native and Salesforce
 
Hire react native developer
Hire react native developer Hire react native developer
Hire react native developer
 
20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native
 
Why React Native Development is the Best Choice for organizations.ppt.pptx
Why React Native Development is the Best Choice for organizations.ppt.pptxWhy React Native Development is the Best Choice for organizations.ppt.pptx
Why React Native Development is the Best Choice for organizations.ppt.pptx
 

Kürzlich hochgeladen

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
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
 
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
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - 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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
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
 
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!
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - 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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

React native

  • 1. A Hybrid App Development Framework
  • 3. Introduction ❏ Open source cross-platform framework. ❏ Developed by Facebook and first public preview was released in March 2015. ❏ Build mobile apps using React and JavaScript. ❏ Currently supports Android and iOS platform. ❏ Creates “Real App”.
  • 4. How does it work? In React Native, virtual DOM acts as a layer between the developer’s description of how things look and work done to render the application. React Native invokes Objective-C APIs and Java APIs to render native components.
  • 6. How to get started? We can start building our Application either by Expo or React Native CLI. ❏ Expo is the easiest way to get started with react native as it doesn’t require setting up Android Studio and Xcode. ❏ React Native CLI needs both SDKs to be installed for running react native applications.
  • 7. To create and run react native app using CRNA use below commands npm install -g create-react- native-app create-react-native-app ExampleApp npm run android or npm run ios Expo ❏ Build a project using Expo (CRNA) ❏ Install Expo app on phone and connect it to the same network as our computer. ❏ Has tons of inbuilt libraries. ❏ Doesn’t allow third party libraries that requires native code linking. ❏ We can eject our Expo project to RN- CLI project if required.
  • 8. React Native CLI ❏ Creates app template with native iOS and Android projects that can be modified. ❏ Allow us to add third party libraries with native code linking. ❏ Allow us to modify native code. To create and run react native app using CLI use below commands - npm install -g react-native-cli react-native init ExampleApp react-native run-android/run-ios
  • 9. Core Concepts ❏ Components ❏ Functional/Stateless Component ❏ Class/Stateful Component ❏ JSX ❏ Unidirectional Data Flow ❏ Virtual DOM
  • 10.
  • 11. STATE
  • 12. Core features ❏ React Native is like React, but it uses native components instead of web components as building blocks. ❏ React Native handles layout with Yoga, a cross-platform C library that handles layout calculations via the flexbox API. ❏ React native supports State/Props to control component. Props are set by parent and State is the data that is going to change. ❏ React Native Animated library, provides jank-free animations and even interaction-driven animations such as scrolling parallax.
  • 15. Inbuilt Tools React Native has its own inbuilt tooling such as - 1. Reload 2. Debug JS Remotely 3. Show Perf Monitor 1. Enable Live Reload 2. Enable Hot Reloading
  • 16. Live Reloading Hot Reloading 1... 2... 3... 4... 5... 6... 6... 7.. 8... 9... Reloads the whole application Reloads the screen with updated changes
  • 17. Why Use it? ● Cross Platform Usage ● Open Source - Possible to leverage the extremely vast array of javascript projects such as redux, reselect, jest, etc. ● Increase in Developer Velocity ● Backed by Native Platforms ( iOS and Android ) ● Based on React ● Iteration Speed - Hot reloading enables to test changes on Android and iOS in just a second or two.
  • 18.
  • 19. Limitations ❏ React Native Immaturity - React Native is less mature than Android or iOS. Some trivial things in Native can be complex to implement in react native. ❏ Gestures - The touch subsystem for Android and iOS are different enough that coming up with a unified API has been challenging for the entire React Native community. ❏ Javascript Untyped nature - Lack of type safety is both difficult to scale and can became a point of contention for mobile engineers used to typed languages. ❏ Refactoring - A side-effect of JavaScript being untyped is that refactoring was extremely difficult and error-prone.
  • 20. React Native - who’s using it? Note: Please find a complete list of apps built using react native on facebook showcase.
  • 23. Sources & Helpful links ➢ React Native Documentation ➢ Expo Documentation ➢ Navigation ➢ Redux ➢ Vector icons ➢ React Native at Airbnb: The Technology ➢ Supporting React Native at Pinterest