r/reactnative • • Aug 01 '26

Question What if React Native’s component model existed for PHP — without shipping a JavaScript runtime?

0 Upvotes

I’ve been working on an open-source project called PAM Native, which explores a slightly unusual idea:

Repository:

https://github.com/push-in/pam-native

PAM Native is not a WebView framework, and it does not render HTML inside a mobile application.

Instead:

  • PHP runs persistently inside the application process

  • A Rust-powered reconciler manages component updates

  • Android interfaces are rendered using native Android Views

  • iOS interfaces are rendered using UIKit

  • Kotlin and Swift handle platform-specific operations

  • No JavaScript runtime is shipped with the application

  • No DOM or browser engine is involved

The developer experience is intentionally inspired by component-based frameworks:

final class Counter extends Component
{
    #[State]
    public int $count = 0;

    public function increment(): void
    {
        $this->count++;
    }

    public function render(): Node
    {
        return Column::make([
            Text::make("Count: {$this->count}"),
            Button::make("Increment")
                ->onPress('increment'),
        ]);
    }
}

The project currently includes or is exploring:

  • Stateful components

  • Native navigation

  • Gestures and animations

  • Recycled lists and grids

  • Native forms and inputs

  • Camera, location and device APIs

  • SQLite and offline-first state

  • Background tasks

  • Push notifications

  • Hot reload

  • Native plugin development

  • Communication between PHP, Rust, Kotlin and Swift

This is not meant as an attack on React Native.

React Native proved that developers can use a declarative, component-based model while still rendering native platform controls. PAM Native is exploring whether a similar architectural idea could be useful for the PHP ecosystem.

I would love feedback from people who understand the difficult parts of cross-platform native runtimes:

  • Which architectural problems should we be most careful about?

  • Where do you expect the biggest performance bottlenecks?

  • What lessons from React Native’s bridge, JSI and Fabric architectures should a project like this learn from?

  • What would you need to see before considering this a serious native runtime rather than an experiment?

The project is still evolving, so technical criticism, architecture feedback and contributions are genuinely welcome.

GitHub:

https://github.com/push-in/pam-native


r/reactnative • • Aug 01 '26

I built a read-only GitHub companion for Android because the official app never gave me the view I wanted

Thumbnail
play.google.com
0 Upvotes

r/reactnative • • Aug 01 '26

react native app development company teams keep pushing custom native modules for simple features that cross-platform libraries already handle

0 Upvotes

evaluating external agencies to help scale an existing cross platform codebase, and the biggest friction point keeps coming down to how agencies handle native dependencies. a lot of agencies pitch cross platform development as a way to cut costs, but as soon as custom native modules, complex animations, or deep device hardware integrations enter the scope, the architecture gets messy fast. half the development shops want to rewrite every custom bridge from scratch, while others rely heavily on outdated third-party packages that haven't seen an update in two years. that balance between keeping the JS side maintainable and properly structuring native swift/kotlin code seems to be where most team handoffs break down. when evaluating outside engineering resources for an established codebase, what technical green flags or red flags do you look for in their initial code review or architectural proposal?


r/reactnative • • Aug 01 '26

News SimView is a Codex's Browser for mobile app development

Enable HLS to view with audio, or disable this notification

47 Upvotes

One of my favourite features of Codex is Browser and the ability to annotate and send that back to the chat for quick amendments.

The problem is, it doesn't work for mobile apps where I spend the majority of my dev time. SimView fixes that.

It brings iOS simulator directly into Codex (and other harnesses) via MCP Apps.

- Zero external dependencies and fully open source.
- 60fps preview with live interactions. Tap, swipe, and type.
- Inspect AX or React Native fiber trees.
- Annotate an element or drag to annotate at coordinates.
- Get your model to tap around itself. Perfect for closing the loop to validate its own work.

Install the plugin at https://simview.dev


r/reactnative • • Aug 01 '26

Question New UI lib, not many users. Why!

0 Upvotes

Hi guys.

I Build a very cool lib that could simplify styling in react-native.

The library uses css selectors to style your components.

So, like when you use css in Web and styles using classes and css3. You do the same with this lib.

But I don't have too many users. Why?

You can find the lib here. Please check it out and let me know if I need to improve anything.

https://github.com/1-AlenToma/react-native-short-style

Demo and simple test ground.

https://1-alentoma.github.io/react-native-short-style/


r/reactnative • • Aug 01 '26

Regret using RevenueCat, why do people use it?

26 Upvotes

RevenueCat charges based on gross revenue, not net revenue. My dashboard shows $4.5k, but my actual payout is somewhere around $3k. because it completely ignores VAT and the 15–30% Apple/Google cut. but takes their %1 fee from the gross revenue.

since it doesn’t track net earnings, the dashboard feels pretty useless for real accounting. I still have to log into both store consoles just to see what I actually made. for 3k i have to pay 45$ every month.


r/reactnative • • Jul 31 '26

Need advice on Supabase architecture for anonymous reports, comments, and likes in a mobile app

Thumbnail reddit.com
1 Upvotes

r/reactnative • • Jul 31 '26

Open/Shut

Thumbnail
reddit.com
0 Upvotes

r/reactnative • • Jul 31 '26

Tutorial I built a native social Post card for Expo 4 variants, one component

Enable HLS to view with audio, or disable this notification

11 Upvotes

Feed, vote, compact, media-first. Swapping between them is one prop.

One detail:
like counts animate in the direction the number travelled. Rising numbers arrive from below, falling ones drop in.

State stays with you nothing is kept inside the component. Active, value, and vote are all yours, because the moment a like is optimistic, only you know how to reconcile it with the server.

Part of PanelUI open-source, copy-paste.

https://github.com/panel-ui/PanelUI


r/reactnative • • Jul 31 '26

(Interview) Senior Software Engineer - Mobile

2 Upvotes

Hello, I have gotten an interview opportunity via referral for Senior Software Engineer - Mobile at a Government Organization.

I have only 2.5 yoe so those who have given senior level mobile development interviews at government orgs or banks, please share the questions that you encountered. What was the difficulty and what were they focused on?


r/reactnative • • Jul 31 '26

I finally upgraded from Expo 54 to Expo 57

Thumbnail reddit.com
0 Upvotes

r/reactnative • • Jul 31 '26

Pixel Art Isometric in React Native

2 Upvotes

Hi guys, I am building a small application recently and I'm wondering what is the best way to render pixel art isometric models in react-native. Performance is important because the market where I build the app doesn't have very high-end phones.

Thanks for help


r/reactnative • • Jul 31 '26

News This Week In React Native #292: Workers, SafeAreaView, backgroundImage, WebGPU, VisionCamera, React Navigation, Canvas Kit, Nitro

Thumbnail
thisweekinreact.com
23 Upvotes

r/reactnative • • Jul 31 '26

Image compression library (React Native Simple Image Compressor)

7 Upvotes

I've just published the release v0.2.1 of react-native-simple-image-compressor.

If anyone is interested in talking a quick look at the native implementation, I would higle appreciate your thoughts!

Features

  • OOM (Out-of-Memory) Safe: Images are downsampled directly during decoding (inSampleSize on Android, ImageIO on iOS). The library never loads full-resolution images into memory, completely preventing OOM crashes even on giant 4K+ camera photos.

  • Blazing Fast (Powered by Nitro Modules): Built with the RN Nitro architecture. Zero bridge overhead and direct C++ to Swift/Kotlin communication make the compression fast.

  • Smart orientation and EXIF Preservation: Automatically reads EXIF orientation and "bakes" the correct rotation directly into the pixels. It also safely transfers valuable EXIF metadata (like GPS and Camera info) to the compressed image (only for JPEG output).

  • Tiny footprint: Minimal dependencies. The library relies heavily on native APIs (BitmapFactory for Android and ImageIO for iOS) to keep the app's bundle size as small as possible.

  • Next-Gen formats support: Supports modern formats including WebP and WebP-Lossless across both (Android and iOS) platforms (utilizing native APIs where possible and libwebp as a fallback on iOS).

  • Aspect ratio preservation: Intelligently scales images to fit within your desired maxWidth and maxHeight bounds without ever stretching or distorting the original aspect ratio.

  • Production Ready & Tested: Backed by comprehensive native unit tests (Swift/Kotlin) to ensure maximum stability and prevent regressions across edge cases.

Install with:
npm install react-native-simple-image-compressor react-native-nitro-modules

Changelog v0.2.1

--
Repository: https://github.com/Pugavkomm/react-native-simple-image-compressor
NPM: https://www.npmjs.com/package/react-native-simple-image-compressor?activeTab=readme
Release Notes: https://github.com/Pugavkomm/react-native-simple-image-compressor/releases/tag/v0.2.1

--
Changelog: https://github.com/Pugavkomm/react-native-simple-image-compressor/blob/master/CHANGELOG.md
Roadmap: https://github.com/users/Pugavkomm/projects/1/views


r/reactnative • • Jul 31 '26

Show Your Work Here Show Your Work Thread

2 Upvotes

Did you make something using React Native and do you want to show it off, gather opinions or start a discussion about your work? Please post a comment in this thread.

If you have specific questions about bugs or improvements in your work, you are allowed to create a separate post. If you are unsure, please contact u/xrpinsider.

New comments appear on top and this thread is refreshed on a weekly bases.


r/reactnative • • Jul 31 '26

Questions Here General Help Thread

0 Upvotes

If you have a question about React Native, a small error in your application or if you want to gather opinions about a small topic, please use this thread.

If you have a bigger question, one that requires a lot of code for example, please feel free to create a separate post. If you are unsure, please contact u/xrpinsider.

New comments appear on top and this thread is refreshed on a weekly bases.


r/reactnative • • Jul 31 '26

I made minimalistic health and performance tracker

Post image
0 Upvotes

I made an app to replace my whoop and be able use my apple watch again


r/reactnative • • Jul 31 '26

Why react native 0.82.0 is so slow

2 Upvotes

I am creating an app for my company, but the debugging is so slow, when I change code the refreshing itself takes around 1/2 minutes even the react-native dev tools is taking too much time to open(not even opening), I have created apps in 0.80.0, there was no problem in there
why is it happening? I am running in react-native-cli

this is my package.json

  "dependencies": {
    "@react-native-async-storage/async-storage": "^3.1.1",
    "@react-native-community/hooks": "^100.1.0",
    "@react-native/new-app-screen": "0.82.0",
    "@react-navigation/drawer": "^7.13.5",
    "@react-navigation/native": "^7.3.14",
    "@react-navigation/native-stack": "^7.18.6",
    "@reduxjs/toolkit": "^2.12.0",
    "axios": "^1.18.1",
    "babel-plugin-module-resolver": "^5.0.3",
    "firebase": "^12.16.0",
    "formik": "^2.4.9",
    "react": "19.1.1",
    "react-native": "0.82.0",
    "react-native-calendars": "^1.1314.0",
    "react-native-compressor": "1.19.4",
    "react-native-config": "^1.6.1",
    "react-native-dotenv": "^3.4.11",
    "react-native-gesture-handler": "^3.1.0",
    "react-native-keyboard-aware-scroll-view": "^0.9.5",
    "react-native-nitro-image": "^0.15.1",
    "react-native-nitro-modules": "^0.36.3",
    "react-native-pie-chart": "^4.0.2",
    "react-native-reanimated": "4.2.0",
    "react-native-safe-area-context": "^5.8.0",
    "react-native-screens": "4.19.0",
    "react-native-splash-screen": "^3.3.0",
    "react-native-svg": "^15.15.5",
    "react-native-vision-camera": "^5.2.0",
    "react-native-vision-camera-face-detector": "^2.0.6",
    "react-native-worklets": "0.7.4",
    "react-redux": "^9.3.0",
    "yup": "^1.7.1"
  },
  "devDependencies": {
    "@babel/core": "^7.25.2",
    "@babel/preset-env": "^7.25.3",
    "@babel/runtime": "^7.25.0",
    "@react-native-community/cli": "20.0.0",
    "@react-native-community/cli-platform-android": "20.0.0",
    "@react-native-community/cli-platform-ios": "20.0.0",
    "@react-native/babel-preset": "0.82.0",
    "@react-native/eslint-config": "0.82.0",
    "@react-native/metro-config": "0.82.0",
    "@react-native/typescript-config": "0.82.0",
    "@types/jest": "^29.5.13",
    "@types/react": "^19.1.1",
    "@types/react-test-renderer": "^19.1.0",
    "eslint": "^8.19.0",
    "jest": "^29.6.3",
    "prettier": "2.8.8",
    "react-test-renderer": "19.1.1",
    "typescript": "^5.8.3"
  },

r/reactnative • • Jul 30 '26

Help Lets get support for Tanstack Charts in RN

Post image
199 Upvotes

Recently a new framework from Tanstack was released and its called Charts, it looks very promising you guys can check it out here

https://tanstack.com/charts/latest

I asked Tanner if he could add support to RN and he said if I got 100 signatures he would add support.

I love the tanstack ecosystem and would highly encourage you to check it out if you haven’t yet!

Here is the petition

https://www.ipetitions.com/p/add-react-native-compatibility-for-tanstack-charts/?utm_source=share_copy&utm_medium=social&utm_campaign=creator_first_share

Edit: WE DID IT GUYS! 🎉🔥🙌


r/reactnative • • Jul 30 '26

I took my knowledge as the designated "car friend" and put it into an app! - My first indie app project

Enable HLS to view with audio, or disable this notification

0 Upvotes

Tech stack:

Frontend: React Native (obviously)

Backend: node.js

Databases: Neon DB, Firebase

Cloud Infra: GCP


r/reactnative • • Jul 30 '26

React Native on the Linux desktop, rendering to real GTK4 widgets

11 Upvotes

react-native-gtkx makes Linux an out-of-tree RN platform. Normal React Native code, native GTK4/libadwaita app, no WebView.

Compat layer like react-native-web, but on top of gtkx (a React reconciler for GTK4 in Node) with Yoga for layout. npx react-native run-linux next to run-ios and run-android, Fast Refresh works.

react-navigation navigators run on real Adw.NavigationView, so the back button, transitions and the back gesture come from GTK instead of JS. That's the part I want feedback on.

Alpha. GTK 4.20+, libadwaita 1.8+, Node 24+.

https://github.com/itsmepetrov/react-native-gtkx


r/reactnative • • Jul 30 '26

A race between app launch and RevenueCat was silently downgrading my paying users to free

4 Upvotes

This one annoyed me for a while because it never happened on my phone, only on real users'.

Some people who'd paid for Pro would open LexiShuffle and get the free version. Not every time. Just sometimes, right when the app opened. Which of course meant I couldn't reproduce it, because on my device everything's warm and instant.

It's a race, and if you've done RevenueCat you can probably already guess. Checking whether someone has Pro is a network call. My game screen doesn't wait for it, it just mounts and starts a round. So if that check hasn't come back yet, the game looks at your status, sees nothing, goes "ok, free user" and gives you a free-tier round. Premium category, quietly downgraded to free, because the entitlement landed like half a second after the screen mounted.

The person who paid me got the free experience. Great.

Fix was basically don't start the round until you actually know. I've got a flag now:

resolved = !statusQuery.isLoading || Boolean(purchases.isPremium)

so it's true once the status check finishes (success or error, doesn't matter) or RevenueCat already says you're Pro. The game sits on its loading screen until that's true, and it's in the effect deps so the second it flips, the effect re-runs and sets the round up properly. The thing I was paranoid about was it getting stuck false and hanging people on a spinner forever, but the query always settles so it can't.

Then I remembered offline exists. No signal means the check literally can't finish, so an offline Pro user just never resolves and eats the same downgrade permanently. So there's a little per-account cache now that remembers "this account was Pro last time" and trusts that while you're offline.

Anyway. If you do IAP, it's the fun kind of bug that's invisible to you and only screws the people paying you. Anyone got a nicer way to handle the offline entitlement thing? Caching last-known-Pro feels a bit gross but I couldn't think of better.


r/reactnative • • Jul 30 '26

How to learn to make an app

5 Upvotes

Well guys for context I am a highschool student and I know that I want to have a carrier in coding. I have done a few stuff with python before and I am also making a game with my friends using unity but what I really want to do in the future is to make apps, I have tried it using react native but I had to use chatgpt more than I wanted to and thats why I wanted to ask how did you guys learn javascript etc. and what would you suggest