React Native — Introduction

Roshan Maddumage
2 min readMay 12, 2020

--

What is React Native?

React Native is a javascript framework developed by Facebook in 2015. React native will gives javascript and React library to develop beautiful user interfaces by using React components.

Normal React application build for web use and those applications will not run as native mobile applications. That's why to React Native importance here for you to develop an application using React and javascript library only writing a one signal code base for both Android and ios platforms.

https://reactnative.dev/docs/assets/diagram_react-native-components.svg

React native applications build with multiple components and those can be pre-defined React components, React native components, Core components, and Components developed by the community and your own React Native and Native components.

Native component vs React Native Component

Native components those defined in Android and ios native development to build user interfaces and React native defined component itself to achieve the same user interfaces using React native components as below.

Advantages

  • One single code base
  • No need more knowledge in Native android or iOs development.
  • Fast development and build release
  • Easy to maintain, because of one code base and one repository
  • No need special hardware like MacBook for ios development.
  • Easy to learn and move from web development
  • Large community and resources
  • Fewer resources need when compared to developers and equipment.
  • Fast update of code changes — Hot reloading, fast refresh
  • Development time and performance

Disadvantages

  • New version release every month, therefore may have to change the codebase to match the new version.
  • It depends on more third-party libraries.
  • Third-party libraries also change and will have to reorganize and change the codebase according to the new changes.
  • More changes mean more issues and development effort needed.
  • Some native features may not be acquired when compared to the React native development tool (Expo or React Native CLI).
  • Release build file size (android bundle/apk or ios build) larger than the native builds.
  • Native developer knowledge may be required for some specific functionalities

Alternatives

Native Android & ios, Flutter, Ionic, and angular.

References

Read More

--

--