Skip to main content

React Native: Building Mobile Apps with React

React Native: Building Mobile Apps with React

React Native is an open-source framework developed by Facebook that allows developers to build mobile applications using React JavaScript library. React Native is a cross-platform framework that allows developers to create mobile applications for both iOS and Android platforms using a single codebase. This makes it a popular choice for developers who want to build mobile applications quickly and efficiently.


Getting Started with React Native

To get started with React Native, you will need to have some knowledge of React and JavaScript. If you are new to React, it's recommended that you first learn basics of React before diving into React Native.

To install React Native, you will need to have Node.js and React Native command-line interface (CLI) installed on your computer. Once you have these installed, you can create a new React Native project using following command:


            npx react-native init MyProject            
    

This will create a new React Native project in a directory named MyProject.

Components in React Native

In React Native, components are building blocks of your application. Components can be either functional or class-based. Functional components are stateless and are used for displaying data, while class-based components have state and are used for handling user interactions.

React Native provides several built-in components, such as View, Text, and Image, which can be used to build UI of your application.

Styling in React Native

Styling in React Native is done using JavaScript. React Native provides a StyleSheet API that allows developers to define styles for their components. Styles can be defined using properties such as backgroundColor, color, and fontSize.

React Native also supports Flexbox for layout, which makes it easy to create responsive designs that work across different screen sizes.

Navigation in React Native is handled using third-party libraries such as React Navigation and React Native Navigation. These libraries provide several navigation components such as StackNavigator, TabNavigator, and DrawerNavigator, which can be used to create different types of navigation patterns in your application.

Building a Simple App with React Native

Now that you have a basic understanding of React Native, let's build a simple mobile application using this framework. In this example, we will create a basic calculator app that can perform addition, subtraction, multiplication, and division.

Step 1: Creating App Component

The first step is to create a new component called "App" that will serve as root component for our application. To create this component, open App.js file in your project directory and add following code:

   
import React, { useState } from 'react';
import { View, Text, TextInput, Button } from 'react-native';

export default function App() {
  const [num1, setNum1] = useState('');
  const [num2, setNum2] = useState('');
  const [result, setResult] = useState(0);

  const add = () => setResult(Number(num1) + Number(num2));
  const subtract = () => setResult(Number(num1) - Number(num2));
  const multiply = () => setResult(Number(num1) * Number(num2));
  const divide = () => setResult(Number(num1) / Number(num2));

  return (
    <View style={{ padding: 10 }}>
      <TextInput
        style={{ height: 40 }}
        placeholder="Enter first number"
        onChangeText={text => setNum1(text)}
        value={num1}
        keyboardType="numeric"
      />
      <TextInput
        style={{ height: 40 }}
        placeholder="Enter second number"
        onChangeText={text => setNum2(text)}
        value={num2}
        keyboardType="numeric"
      />
      <Button title="Add" onPress={add} />
      <Button title="Subtract" onPress={subtract} />
      <Button title="Multiply" onPress={multiply} />
      <Button title="Divide" onPress={divide} />
      <Text style={{ fontSize: 24, paddingTop: 20 }}>Result: {result}</Text>
    </View>
  );
}
        

In this code, we define a functional component called "App" that uses "useState" hook to manage state of two input fields ("num1" and "num2") and "result" field. We also define four functions ("add", "subtract", "multiply", and "divide") that perform corresponding mathematical operations based on values entered in input fields. Finally, we render a set of TextInput and Button components, as well as a Text component that displays calculated result.

Step 2: Running App

Now that we have created "App" component, we can run our application to see how it looks and behaves on a mobile device or emulator. To do this, open a terminal window and navigate to your project directory. Then, run following command:

            
        npx react-native run-android
   

This will launch Android emulator and install application on it. If you are using an iOS emulator or a physical device, you can run following command instead:


        npx react-native run-ios
   

Once application is running, you should see a screen that looks like following:

You can now enter two numbers in input fields and perform one of four mathematical operations by clicking on corresponding buttons. The result of operation will be displayed below buttons.

Conclusion

React Native is a powerful framework that allows you to build mobile applications using familiar web development technologies such as React and JavaScript. With React Native, you can create high-performance, cross-platform apps that look and feel native on both iOS and Android devices. In this article, we have covered basics of React Native, including its architecture, components, and styling system. We have also demonstrated how to build a simple calculator app using this framework. With this knowledge, you should be well-equipped to start building your own React Native applications.

Comments

Popular posts from this blog

How to Create a Circular Scroll Progress with HTML, CSS & JavaScript

See the Pen How to Create a Circular Scroll Progress with HTML, CSS & JavaScript by Mushtaq Ahmad ( @MushtaqPhysicist ) on CodePen . How to Create a Circular Scroll Progress with HTML, CSS & JavaScript In this guide, we will explore process of using HTML, CSS, and JavaScript to design a circular scroll progress indicator. This type of indicator displays percentage of a webpage that has been scrolled. Specifically, we will create a circular indicator and position it in bottom right corner of webpage. The indicator's fill level will correspond to amount of page that has been scrolled. HTML Copy Code <!DOCTYPE html> <html lang="en"> <head> <title>Scroll Percentage</title> <!-- Stylesheet --> <link rel="stylesheet" href="style.css"> </head> <body>...

Find Your Location using HTML, CSS & JavaScript

See the Pen Untitled by Mushtaq Ahmad ( @MushtaqPhysicist ) on CodePen . Find Your Location using HTML, CSS & JavaScript It is against policy to access Geolocation in Blogger.com . However, you can still find your location by clicking on CodePen button and then clicking the Get Location button to retrieve your location data Source Code HTML Copy Code <div class="container"> <h1>Find Your Location</h1> <p>Your location: <span id="location"></span></p> <button id="getLocation">Get Location</button> </div> CSS Copy Code body { font-family: Arial, sans-serif; margin: 0; padding: 0; background-color: #f5f5f5; } .container { max-width: 800px; margin: 0 auto; padding: 50px; background-color: #fff; border...

Develop a Quiz App with Timer using HTML CSS & JavaScript

Develop a Quiz App with Timer using HTML CSS & JavaScript See the Pen Create a Quiz App with Timer using HTML CSS & JavaScript by Mushtaq Ahmad ( @MushtaqPhysicist ) on CodePen . In this article you’ll learn how to Create a Quiz Application with Timer using HTML CSS & JavaScript. The Quiz App with Timer program consists of three layers or boxes that are sequentially displayed when a specific button is clicked. Initially, the webpage displays a "Start Quiz" button, which, upon clicking, triggers a pop-up animation displaying an info box. The info box contains the rules of the quiz and two buttons labeled "Exit" and "Continue." Clicking on the "Exit" button hides the info box, while clicking on "Continue" button displays the Quiz Box. Within the Quiz Box, there is a header with a title on the left side and a timer box on the right side. The timer starts at 15 seconds and decremen...