React Native Doubts on Day-1


Greetings ! fellow developers. This blog is meant for the very beginners in the React-Native. It will cover the following doubts as check-points, which generally a beginner has in mind.
Story - React Native?
Purpose React Native ?
Why React “Native” ?
How is React Native different from React (for the web)?
React Native CLI vs Expo.
Story - React Native
React Native is an opensource framework developed by the Meta that lets you build mobile apps using the JavaScript and React. It started as a Facebook’s internal hackathon project in the summer of 2013. Its first public preview was in January 2015. In March 2015, Facebook announced that React Native is open and available on GitHub.
Purpose - React Native
React Native allows you to create real mobile apps (for iOS and Android) using one codebase, written in JavaScript. Instead of using Swift (for iOS) or Kotlin/Java (for Android), you use React components to build the UI, and React Native translates those into native mobile components. This is the most significant feature of the React Native that almost shadows the rest features that it has.
Feature | Description |
Cross-Platform | Write once, run on both iOS and Android. |
Native Performance | Uses real native components, not WebViews. |
Based on React | Uses the same component-based approach as React.js. |
Live Reload & Fast Refresh | See code changes instantly on your app. |
Huge Community & Ecosystem | Tons of libraries and community support. |
Why React “Native” ?
The word “Native” in React Native often confuses the beginners, especially those who do not have a webdev background. Lets clarify! →
The "Native" in React Native means that the apps you build are not web apps or hybrid apps, but instead they use native components of the platform (Android/iOS).
A native app is one that is built using the language and tools specific to a platform:
Android → Java/Kotlin + Android SDK
iOS → Swift/Objective-C + Xcode
These apps:
Use native UI components.
Have high performance.
Can access device features (camera, GPS, etc.)
React Native = React (for logic & UI structure) + Native rendering (for performance & look)
That’s why it’s called React Native — because it combines React with native app development.
How is the React Native different from the React (for the web) ?
React | React Native |
Web development | Mobile app development |
Renders in browser | Renders in native app |
Uses HTML/CSS | Uses native components & JS styling |
Aspect | React (Web) | React Native |
Platform | Web browsers | Mobile devices (iOS & Android) |
Rendering | Uses the DOM (HTML) | Uses native UI components (e.g. UIView , TextView ) |
Styling | CSS, SCSS, Styled Components | Uses JavaScript-based styles via StyleSheet.create |
Navigation | React Router | react-navigation , react-native-navigation , etc. |
Elements | Uses HTML tags like <div> , <p> , <button> | Uses components like <View> , <Text> , <TouchableOpacity> |
Browser Support | Runs in any modern browser | Runs in mobile emulators or on real devices |
Animations | CSS animations, JavaScript libraries | Animated API, Reanimated , etc. |
Access to Device APIs | Limited (via browser APIs) | Full native access (camera, GPS, sensors, etc.) |
React Native CLI vs Expo
Aspect | React Native CLI | Expo |
Setup Complexity | Requires Xcode, Android Studio, and manual setup | Very easy to set up with just npm install -g expo-cli |
Native Code Access | ✅ Full access to native code | ❌ Limited unless you eject |
Custom Native Modules | ✅ Can write and link your own native modules | ❌ Not supported without ejecting |
Supported APIs | All React Native APIs + custom ones | Only what Expo SDK supports (though it's growing fast) |
Development Speed | Slower initial setup, but flexible long-term | Faster to start, ideal for prototyping and MVPs |
OTA (Over-the-Air) Updates | Requires third-party tools like CodePush | ✅ Built-in with Expo (expo-updates ) |
Binary Size | Smaller, more optimized for production | Larger (includes unused SDKs unless using EAS Build) |
Ejecting Option | N/A | ✅ Can eject to use native code if needed (expo eject ) |
App Store Builds | Manual configuration (Gradle, Xcode) | Easy builds with EAS Build or expo build |
Third-Party Libraries | All React Native libraries supported | Some native libraries may not work unless ejected |
Push Notifications | Requires Firebase or manual setup | ✅ Built-in with Expo's push service |
Debugging Tools | Chrome, Flipper, React DevTools | Same tools + Expo Dev Tools |
Community Support | Large, mature, very active | Very beginner-friendly, growing fast |
Ideal For | Advanced apps, full customization | Beginners, quick prototypes, smaller apps |
Day 1 with React Native is full of questions — and that’s a good thing. Every great app starts with curiosity. Keep building!
- Ishan Sidhaye
Subscribe to my newsletter
Read articles from Ishan Sidhaye directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
