Introduction to React Native

React Native is a framework which can surely save you time if you need to develop a mobile app for both iOS and Android.

Well, as times change, technology gets upgraded too, and as technology changes, we developers need to be more up-to-date. From my journey from being a VB 6.0 developer to a mobile app developer including Xcode and Android Studio, I have learned that as a developer, our time has real value.

Okay, so to save time, we often find some platform from where we can minimize our development time. Below are the key points of React Native.

  • When we say React Native, we have to understand first, what is React and what is Native. Don’t worry, you are not going to use both separately. It’s just a terminology.

  • React is a framework created by Facebook. It’s Facebook’s JavaScript library for building user interfaces. It’s not only created by them but also their own apps are developed in it. So,working with this framework  long term looks certain. React is a tool for building UI components. React was initially used by Facebook for web development and then they have started working on Native platforms.

  • React Native is another platform where you can develop an application for iOS and Android at the same time. Yes, another platform is highlighted because there are other platforms too like Ionic, Flutter etc. from where you can achieve this goal.

  • It means you don’t have to develop an application in two different platforms like developing the same app in Android Studio for “apk” and in Xcode for “ipk”. Even if you want to show different outputs, you have the option to do so. For example, suppose I want to say “Hi Android” on Android device and “Hi iOS” on the iOS device, that’s possible.

  • React Native is a JavaScript framework for building native mobile apps.
    So, it’s easy to develop and learn if you know JavaScript already. React Native turns JavaScript code into Native code. If you are from a web development platform and have a hands-on experience on JavaScript, then React Native would be the cherry on the cake for you.

  • We use JSX to write applications.
    Don’t get nervous, there's nothing new her. It’s just a mixture of JavaScript and XML. React Native then translates them into Objective C for iOS and Java for Android respectively. It means you are developing real apps, not WebViews.

  • React Native can also access the camera, location, and phone manager etc.

  • We are actually not working on JS but things which support React library.

  • You have a large number of inbuilt components and APIs.

  • React Native offers strong developer tools and meaningful error messages.

  • As React Native is “just” JavaScript, you don’t need to rebuild your application in order to see your changes reflected. Instead, you can hit “Command+R” to refresh your application just like we do on a web page. All of those minutes spent waiting for your application to build can really add up, and in contrast, React Native’s quick iteration cycle feels like a godsend. This is really amazing since I have seen most of the times emulator getting stuck somewhere and we keep waiting for output in Android.

  • You can use Chrome or Safari’s developer tools also. Isn’t it good for web developers?

  • As React Native is JavaScript, you don’t need to depend on Xcode for iOS and Android Studio for Android, you can use any text editor for JavaScript editing.

  • When we create a React app,

    • We are not creating a web app which opens on the mobile device browser.
    • The web app is hosted by webview in a native app like ionic.
    • We are not working on HTML, CSS.
    • It's JavaScript + Native App compiled to native code.

  • As we are not developing by targeting on a specific platform, you don’t need to have knowledge of that targeted platform. If you know how to code in React Native, you can easily target Android, iOS, and web.

  • At the time of creating an app, one QR code would be generated. You need to just scan it in Expo App available in the Play Store and App Store. Here, you can see or test your developed app live. You can also test the app on real mobile via USB cable or emulators by both the platforms.

Who is using React Native?

  • Adidas Glitch
  • Baidu
  • Bloomberg
  • Chop
  • com
  • F8
  • Facebook
  • Facebook Ads
  • Facebook Analytics
  • Gyroscope
  • Instagram
  • JD
  • Pinterest
  • Salesforce
  • Skype
  • SoundCloud
  • Telsa
  • Tencent QQ
  • Townske
  • Walmart
  • Wix
  • Uber

We will see how to set up React Native, in our next chapter.

Happy Coding!!!