Tech3 views

React Native 0.85: A Polished Upgrade Built on the New Architecture

When React Native 0.85 was released, the official team didn't use any "revolutionary" taglines, because this update was essentially a systematic polish of infrastructure like animations, debugging, and testing, built on the premise that the new architecture has already been established.

If you're currently in a technology selection phase, or considering an upgrade from an older version, the signal from this version is:the new architecture can now be considered the default, and future efforts will focus on experience and ecosystem quality.

Below, we cover three dimensions: the core changes in 0.85, the key points of the current React Native architecture, and a comparison with Flutter, Ionic, and native solutions in terms of performance and ecosystem.

What does 0.85 bring?

A unified animation backend: bringing critical paths back under "official control"

The most noteworthy aspect of 0.85 is the introduction of a shared animation backend. For a long time, React Native's built-in Animated and the community's Reanimated were essentially two separate worlds: one for simple scenarios, and the other taking over much of the logic for performance and expressiveness.

In 0.85, the underlying logic for animation execution has been pushed down to the RN Core. The official team and Software Mansion have converged the animation scheduling and execution path into a single universal backend. From an architectural standpoint, this has several practical implications:

If your app doesn't have a lot of animations, this might not immediately change your experience; but for apps with complex interactions and heavy animations, it's a positive for "long-term health."

Debugging workflow improvements: multi-client, TLS, test preset separation

Several other changes are less flashy but impact daily development experience:

The common thread of these changes: they don't suddenly unlock any dazzling capabilities, but they reduce time wasted on the toolchain.

Core understanding of the current React Native architecture

If you ignore the version number, it's hard to discuss React Native nowadays without mentioning the "new architecture." Let's briefly recap its key points, which will aid in framework-level comparisons.

From Bridge to JSI: a generational change in communication

The older React Native relied on a "bridge": communication between JS and native happened through a serialized message queue, inherently asynchronous, and required JSON-level packaging and unpacking for cross-language data.

The new architecture replaces this layer directly with JSI: JS can obtain references to C++ objects, and the two sides can interact in a manner closer to "direct invocation."

The direct results:

For technology selection, this means: the old impression that "the bridge is a performance bottleneck" needs to be updated to "it depends on how you use JSI and TurboModules."

TurboModules and Fabric: module and rendering refactoring

On the other side of the new architecture are TurboModules (the new native module system) and Fabric (the new renderer).

The direct impact on business teams:

React Native 0.85 doesn't make drastic architectural changes; instead, it assumes you're already on this new architecture and starts transitioning to a "normal maintenance period." This is the key signal for technology selection:the framework's structure is essentially settled, and subsequent efforts will shift to experience and ecosystem quality rather than another comprehensive overhaul.

Performance: Where does React Native 0.85 stand?

Technology selection inevitably involves performance, so let's compare React Native with other approaches.

Differences from Flutter: rendering control and controllability

Therefore, in extreme performance tests, Flutter often delivers better first-screen times and smoother long-list scrolling. For complex UI and animation scenarios with extreme peak performance requirements, Flutter is more reliable.

However, for most business apps, bottlenecks often lie in data organization, rendering strategies, and animation design, not the engine itself. React Native's new architecture + new animation backend maximize the amount that can run natively on native threads, which is sufficient for mainstream scenarios like e-commerce, content, and community apps. If your team is more familiar with React, the performance gap alone is unlikely to be a deal-breaker.

Compared to the Ionic / WebView approach: trade-offs between experience and reuse

If your project only needs simple information display and form submission with low dynamic interaction requirements, cost advantages of Ionic and similar approaches are obvious. But once you enter "heavy interaction + experience-focused" business (e.g., content communities, e-commerce, utility apps), a "framework + native" approach like React Native/Flutter is more suitable; the boundaries of a WebView approach quickly become apparent.

Compared to pure native development: ceiling vs. productivity

Pure native (Swift/Kotlin) needs no explanation; it offers the highest performance and system integration ceiling, and remains the only reliable choice for latency-sensitive scenarios (gaming, audio/video processing, automotive, human-computer interfaces, etc.). React Native's new architecture narrows the gap with native for "normal business scenarios," aiming for most pages and interactions to reach a level where users "can't tell the difference."

From a team and cost perspective:

This hybrid model is the practical reality for many mid-to-large companies' mobile tech stacks: core performance-sensitive modules are written natively, while peripheral business is react-native-ified to boost iteration efficiency and unify the business development model.

Ecosystem: It's not just about "how many libraries there are"

When making technology choices, the quality of the framework's ecosystem often affects "long-term satisfaction" more than isolated performance metrics.

React Native: React ecosystem backing + new architecture migration phase

React Native is backed by the React ecosystem, meaning:

However, a practical consideration is that the new architecture migration didn't happen overnight; you may still encounter libraries that haven't been updated or are only partially adapted. For new projects, it's advisable to start selecting libraries that "explicitly support TurboModules and Fabric"; for old projects, assess the maintenance status of core dependencies before deciding on an upgrade cadence.

Flutter: high integration, clear path

Flutter's ecosystem is more concentrated in its own "unified world": plugin system and official components are fairly complete, with high consistency in style and behavior. Desktop/Web support has also been pursued aggressively.

Its challenges are more about the bundle size and engine overhead when going to "other platforms," as well as whether the team is willing to accept Dart and Flutter's unique development paradigm.

If you want to potentially move as much of a single UI as possible to desktop/web, and can accept the bundle size and tech stack switching cost, Flutter is a more stable path.

WebView / Ionic: extreme reuse vs. limited ceiling

Ionic and similar solutions are best suited for teams that already have a mature web frontend system and don't have high mobile experience requirements—fast delivery, unified stack, low maintenance costs are their main battlefield.

The problem is also straightforward: rendering and interaction are entirely constrained by the browser; when performance bottlenecks arise, it's hard to optimize much at the framework level, forcing compromises in product and interaction design.

Native: the fallback option for compliance and high-risk scenarios

In industries that require strong compliance and high security (finance, healthcare, automotive, government projects), native is often the easier path to take: official platform documentation is complete, toolchains are mature, and regulators and auditors are more familiar.

In such scenarios, even if the business layer uses a cross-platform solution like React Native, it's common to require that critical flows stay in the native layer or undergo additional security reviews.

Final - Practical advice for architecture/selection

Standing at the 0.85 release, if you're making mobile technology decisions, you can filter based on the following questions:

  1. Team situation: Do you have extensive React experience and web assets, or can you start from scratch and accept Dart?

  2. Business characteristics: Is it mainly information and forms, or are there complex interfaces requiring smooth interactions?

  3. Performance ceiling requirement: Are there scenarios that must be "almost native" or even surpass native performance?

  4. Expectations for multi-end unification: Are you only targeting iOS/Android, or do you want to unify to desktop/web in the long run?

Combining these dimensions, the rough landing points are:

SHARE

Share

Share this article.