mrkeyoor.com_
Fri 16 Oct 18:53 UTC
Dev Toolsevaluationupdated 08 Oct 2026

react-native review

React Native lets you build Android and iOS apps with React while rendering platform-native interface elements. It gives a React team a shared application layer, with direct access to native code when a device API or SDK sits outside that layer.

+74stars / 7d
Verdict

Our React Native run installed 1,052 packages, built in 26 seconds, and passed 6,109 of 6,110 Jest tests with 1 skipped. That is convincing source-level evidence for React teams that already accept native mobile ownership. Start through Expo for the usual new app, and use bare React Native when a native integration or existing app gives you a specific reason.

We ran it

Lab card: what happened when we ran react-nativeScreenshot of react-native (reactnative.dev)
Install✓ · 285s1052 packages · 1049 MB
Build✓ · 26s
Tests✓ · 154s6109 passed · 0 failed · 1 skipped of 6110 (jest)
Repo7249 files~873,400 lines of source · 58.6 MB · 36 CI workflows

Answers from our run

Does react-native build from source?

Dependencies installed in 285 seconds (1052 packages), and the build succeeded in 26 seconds. We cloned commit 99d327c into a clean Debian container with 3 CPUs and no project-specific setup.

Do react-native's tests pass?

Yes: 6109 of 6110 passed when we ran the project's own test command (jest). Some failures need services or credentials a bare container does not have.

Who should not use react-native?

Web-only teams expecting JavaScript to remove native mobile work: the README keeps Native Modules as the route to platform code, and bare apps still use Android and iOS build systems.

What are the alternatives to react-native?

Flutter, Ionic Framework, NativeScript. Our React Native run installed 1,052 packages, built in 26 seconds, and passed 6,109 of 6,110 Jest tests with 1 skipped.

Setup3/5285-second install, 1,049 MB, plus native toolchains
Docs5/5Clear framework choice, platform setup, and upgrade guidance
Community5/5126,810 stars and active work on October 8, 2026
Maturity5/56,109 passing tests and an active 0.87 release line

Discussed on

  1. hnReact Native is now open source1,039 points
  2. hnReact Native for OS X637 points
  3. hnReact Native for Ubuntu380 points
  4. hnReact Native and Yoga Both Given MIT Licence by Facebook375 points
  5. hnReact Native Touchbar155 points

Who it’s for

React teams shipping the same product on Android and iOS.
Mobile groups that can own JavaScript code and the native build projects around it.
Existing native apps that want to add selected React Native screens or flows.
Contributors who need an active, well-tested open-source mobile framework.

Who it’s NOT for

Web-only teams expecting JavaScript to remove native mobile work: the README keeps Native Modules as the route to platform code, and bare apps still use Android and iOS build systems.
Developers who want routing and a standard set of native modules from the core package: React Native recommends a framework such as Expo for most new apps.
Teams that cannot maintain a Mac for native iOS builds: the 0.87 setup guide says Linux and Windows cannot build iOS projects with native code.
Release processes that treat framework upgrades as a package-only change: the upgrade guide says Android, iOS, and JavaScript project files may need manual edits.

Setup reality

Our sandbox installed 1,052 Yarn packages in 285 seconds and used 1,049 MB on disk. The build succeeded in 26 seconds. Tests succeeded in 154 seconds: Jest reported 6,109 passed, 0 failed, and 1 skipped of 6,110.

The repository build needed no service credentials. A bare Android app still needs Node, JDK 17, Android Studio, and its SDK configuration. Native iOS work needs a Mac, Xcode, and CocoaPods. React Native recommends using a framework such as Expo when you do not want to manage those local tools yourself.

Our Debian run checked the Node monorepo, not a signed or installed mobile app. The 58.6 MB checkout used workspaces and 36 CI workflow files, with no Dockerfile or top-level tests directory. Device behavior, native compilation, app size, and interface speed were outside this run.

React Native 0.87 shares React code while keeping native ownership

React Native 0.87 lets a team write components, hooks, and application logic in React, then render through Android and iOS platform UI. Fast Refresh shortens the edit loop for JavaScript changes. Native Modules cover capabilities that the shared layer cannot reach. The practical bargain is useful code reuse without pretending that mobile platforms have become browsers.

That boundary decides whether React Native fits your team. Permissions, signing, store delivery, native SDKs, and platform-specific failures still belong to mobile engineering. Existing apps can adopt one screen or user flow at a time, which is a more controlled commitment than a rewrite. A web group with no appetite for Xcode or Android Studio will eventually hit work it cannot solve from JavaScript alone.

The 0.87 README sends most new apps through Expo

The 0.87 README recommends using a React Native framework and names Expo as the production-grade choice. Expo supplies routing, a standard library of native modules, and build tooling around React Native. That route removes several early decisions while preserving the framework underneath. For a new product, the burden of proof belongs with the bare setup.

Bare React Native makes sense when Expo conflicts with an existing native app, a specialized SDK, or a build process your mobile team already controls. You gain direct ownership of the Android and iOS projects. You also own their configuration changes. The README is unusually honest about this trade: navigation, native dependencies, and platform tooling are problems a framework has already addressed.

What happened when we ran it

Our sandbox cloned commit 99d327c with 3 CPUs, 8 GB of RAM, Node 22, no secrets, and no elevated privileges. The 58.6 MB checkout contained 7,249 files and about 873,400 lines of source. Yarn installation succeeded in 285 seconds, pulled 1,052 packages, and left 1,049 MB on disk.

The configured build passed in 26 seconds. Jest finished in 154 seconds with 6,109 tests passed, 0 failed, and 1 skipped out of 6,110. Our measurement setup proves that this commit installs, builds, and clears its supplied Node test command in a fresh Debian container. It does not measure launch time, scrolling, memory use, generated app size, or native device behavior.

Thirty-six workflows do not replace a device build

The repository had 36 CI workflow files and monorepo workspaces, although our scan found no Dockerfile or top-level tests directory. The workspace configuration still found and ran the suite. Those signals make the source tree credible for contributors, especially beside 6,109 passing tests. They say much less about an app assembled from third-party modules and its own native settings.

Our run never compiled an Android APK or an iOS application. It did not start an emulator, sign a release, or install anything on a phone. That distinction matters because the framework repository and your product have different dependency graphs. Use the 26-second build as evidence about React Native's checked-out source, then test your actual navigation, accessibility, startup, and native modules on representative devices.

Bare Android setup needs Node 22.11 and JDK 17

The version 0.87 Android guide requires Node 22.11 or newer, recommends JDK 17, and directs developers to Android Studio. Its Linux path calls for Android SDK Platform 35, Build Tools 36.0.0, an emulator or physical device, and environment variables for the SDK. The docs estimate about an hour when Android Studio or Xcode is not already installed.

Native iOS work has a harder platform limit: the same 0.87 guide requires a Mac, Xcode, its command-line tools, and CocoaPods. Linux and Windows can use Expo Go on an iOS device, but they cannot build an iOS project containing native code. No hosted credential fixes that limitation. Budget for Mac hardware or a suitable remote build path before promising both stores.

A 0.87 upgrade can change three project layers

React Native's 0.87 upgrade guide describes a typical app as an Android project, an iOS project, and a JavaScript project. Package versions are only the first step. Upgrade Helper shows generated project-file differences, and the guide tells developers to apply relevant changes manually. That is a mobile release task, especially when native modules sit on the same compatibility path.

Release 0.87.1 arrived on August 26, 2026 with Hermes, Animated typing, CocoaPods, and Swift Package Manager changes. Several fixes dealt with header paths, manifest naming, and a Hermes bytecode mismatch in SwiftPM release builds. The list is useful evidence that native packaging details receive active work. It also shows why an upgrade deserves device coverage instead of a dependency bot merge.

October activity supports adoption, while 1,156 open items demand triage

GitHub showed 126,810 stars and a last push on October 8, 2026. Its 1,156 open items split into 683 issues and 473 pull requests, so the combined repository count should not be read as 1,156 confirmed bugs. Same-day pushes, a current 0.87.1 release, and a large incoming queue describe a maintained framework with substantial support traffic.

React Native is the practical choice when React familiarity matters and someone on the team can own the native edges. The 1,049 MB install and 285-second setup are manageable for a framework this large, while 6,109 passing tests give contributors a sound starting point. Choose it for shared product work across two mobile platforms. Keep the native projects staffed, tested, and visible in every release plan.

Alternatives

ProjectWhat it isPick it when
Flutter gh↗Google's Dart toolkit draws a consistent cross-platform widget system.pick this instead when controlling the widget layer matters more than using React and native UI primitives.
Ionic Framework gh↗A web-component UI toolkit for hybrid mobile applications.pick this instead when your product fits a browser-based interface and web code reuse is the main goal.
NativeScript gh↗A JavaScript and TypeScript framework with direct native platform API access.pick this instead when direct native API access matters more than React compatibility.

What people are saying

  1. [velocity-scout] necolas/react-native-web

Sources

  1. React Native repository and README
  2. React Native 0.87 environment setup
  3. React Native 0.87 upgrade guide
  4. React Native 0.87.1 release

More dev tools reviews

compose-samples · librepods · sqlmap · coucou · world-execute-me-dsh-pv · mcp-extensions · the whole board →