r/reactnative • • 19h ago

New Version of Nitro Webview is out! (v0.2.1)

16 Upvotes

Hey everyone! πŸ‘‹

I've been working on Nitro WebView, an open-source React Native WebView implementation powered by Nitro Modules.

It's been a while since the initial release, and v0.2.1 is finally out! πŸš€

What's new since v0.1.0?

  • JavaScript ↔ Native messaging and script evaluation
  • Navigation controls and cookie management
  • File upload/download support
  • Expanded WebView APIs
  • WebView reload and message delivery optimizations
  • More documentation and tests

Performance benchmarks πŸ“Š

I also built an E2E benchmark using React Native Harness to compare Nitro WebView with react-native-webview 16.0.0.

For 64B message round-trip latency:

  • Android: ~38.7x faster (0.430ms vs 16.640ms)
  • iOS: ~1.38x faster (0.112ms vs 0.154ms)

Nitro WebView also showed lower round-trip latency across 1KiB and 64KiB payloads.

Links

I'd love to hear your thoughts, especially if you've worked with WebView-heavy React Native apps or Nitro Modules.

Feedback, bug reports, and contributions are always welcome! πŸ™Œ


r/reactnative • • 12h ago

Building a native open-source macOS screen recorder with SwiftUI

8 Upvotes

I primarily work with React Native, but lately I’ve been exploring native macOS development with SwiftUI.

That led me to Slice, a screen recorder and editor focused on smooth zooms, cursor animations, and polished recordings.

It’s been an interesting project to work on, and I’m making the source code available for people interested in exploring it.

Website: https://slice.rit3zh.dev/
GitHub: https://github.com/rit3zh/Slice


r/reactnative • • 1h ago

I built 136 animated components for Expo (free, open source)

β€’ Upvotes

Hey r/reactnative πŸ‘‹

For the past few months I've been building Kinetik UI, a set of animated components for React Native + Expo. It's at 136 components now (plus 5 full screen templates), so I figured it was time to share it.

It works like shadcn: the components don't live in node_modules, they get copied into your project. So if you like one, it's yours to tweak however you want.

npx kinetik-ui add vinyl-player

Every component respects reduced motion, works with screen readers, and has its frame times measured on a real Android build, listed on its page.

There's also an MCP server (npx kinetik-ui mcp), so if you use Claude or Cursor you can just ask for "a music player card" and it finds and adds the right component.

Live demos: https://kinetik-ui.dev

If you have a component you love using in your own apps, PRs are welcome. Once it's merged, anyone can install it from npm or through MCP. I'd really appreciate any feedback too!


r/reactnative • • 3h ago

Animation for a adjusted calorie target

1 Upvotes

Hi there. Just wanted to share a nice animation I created (with claude ofc).

My app calculates your daily calorie needs from your body, everyday activity and training. Tell it how your target feels, and it adjusts the number until it fits you.

https://reddit.com/link/1x8ccbz/video/d8r03sssk1wh1/player


r/reactnative • • 12h ago

Tutorial Debugging native iOS crashes in React Native 0.87.1 with Xcode 27.1 and LLDB

1 Upvotes

**Setup**

- React Native 0.87.1

- Xcode 27.1

- iOS Simulator (iPhone 18 Pro, iOS 27.0)

I've hit this a lot: the app dies on iOS, the JS console is quiet, and it's not obvious where to start. Most of the time the answer is on the native side, so here's the process I use. I call it RIFT.

**R – Reproduce**

Run the app from Xcode (not just from the terminal) and trigger the crash. Add a breakpoint near where you think it happens so you can pause instead of watching the app die.

**I – Investigate**

When it stops or crashes, look at the exception message and the backtrace in the left panel. In my example, a native module method called from JS threw an uncaught NSException, and the console printed the reason. Then in LLDB:

- `bt` – print the backtrace

- `frame select <n>` – jump to a specific frame

- `po` / `p` / `expression` – inspect values at that point

**F – Fix**

Change the actual cause in the native code (in my case, the method wasn't validating its input), not just the symptom.

**T – Test**

Re-run the exact same steps and confirm the crash is gone. Skipping this step is how "fixed" bugs come back.

I recorded a ~22 min live walkthrough of this on a real crash if it's useful to anyone:

https://youtu.be/oGq0yZ3z9ks

Happy to answer questions. What's your usual first step when a crash shows no JS error?


r/reactnative • • 17h ago

Help Can anyone give me feedback on my cross platform game I’ve been making?

Post image
0 Upvotes

Hey yall - I’ve been working on a board game app, for mobile gaming. This is something that I’ve put a lot of time into, both playing it & designing it. The game is called Tessellata. It’s a strategy puzzle game, you gotta finish your board before your opponent & outscore them! It’s possible to play against the computer (bots, can’t really call it β€œAI” anymore) or against real players online! There is also local up to 4 player game play on one device option.

There is a tutorial & all, but feel free to ask me any questions you may have - if you try it! Available on both Google Play & the Apple App Store.

https://apps.apple.com/us/app/tessellata/id6782201050

https://play.google.com/store/apps/details?id=com.tessellataproduction.tessellata