React Native Doubts on Day-1

Ishan SidhayeIshan Sidhaye
4 min read

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.

  1. Story - React Native?

  2. Purpose React Native ?

  3. Why React “Native” ?

  4. How is React Native different from React (for the web)?

  5. 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.

FeatureDescription
Cross-PlatformWrite once, run on both iOS and Android.
Native PerformanceUses real native components, not WebViews.
Based on ReactUses the same component-based approach as React.js.
Live Reload & Fast RefreshSee code changes instantly on your app.
Huge Community & EcosystemTons 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) ?

ReactReact Native
Web developmentMobile app development
Renders in browserRenders in native app
Uses HTML/CSSUses native components & JS styling
AspectReact (Web)React Native
PlatformWeb browsersMobile devices (iOS & Android)
RenderingUses the DOM (HTML)Uses native UI components (e.g. UIView, TextView)
StylingCSS, SCSS, Styled ComponentsUses JavaScript-based styles via StyleSheet.create
NavigationReact Routerreact-navigation, react-native-navigation, etc.
ElementsUses HTML tags like <div>, <p>, <button>Uses components like <View>, <Text>, <TouchableOpacity>
Browser SupportRuns in any modern browserRuns in mobile emulators or on real devices
AnimationsCSS animations, JavaScript librariesAnimated API, Reanimated, etc.
Access to Device APIsLimited (via browser APIs)Full native access (camera, GPS, sensors, etc.)

React Native CLI vs Expo

AspectReact Native CLIExpo
Setup ComplexityRequires Xcode, Android Studio, and manual setupVery 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 APIsAll React Native APIs + custom onesOnly what Expo SDK supports (though it's growing fast)
Development SpeedSlower initial setup, but flexible long-termFaster to start, ideal for prototyping and MVPs
OTA (Over-the-Air) UpdatesRequires third-party tools like CodePush✅ Built-in with Expo (expo-updates)
Binary SizeSmaller, more optimized for productionLarger (includes unused SDKs unless using EAS Build)
Ejecting OptionN/A✅ Can eject to use native code if needed (expo eject)
App Store BuildsManual configuration (Gradle, Xcode)Easy builds with EAS Build or expo build
Third-Party LibrariesAll React Native libraries supportedSome native libraries may not work unless ejected
Push NotificationsRequires Firebase or manual setup✅ Built-in with Expo's push service
Debugging ToolsChrome, Flipper, React DevToolsSame tools + Expo Dev Tools
Community SupportLarge, mature, very activeVery beginner-friendly, growing fast
Ideal ForAdvanced apps, full customizationBeginners, 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

0
Subscribe to my newsletter

Read articles from Ishan Sidhaye directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ishan Sidhaye
Ishan Sidhaye