2026-09-28 · #44
React Native Weekly #44 Lucent AOT Compilation, Reanimated 4.7 & Worklets, RN 0.88 Variable Fonts and more
Lucent Announced: AOT Compilation of Native Code from TypeScript#
Lucent, an experimental tool that compiles a subset of TypeScript into Swift, Kotlin, and C++ to run native modules via JSI without relying on a JS engine, has been announced. A port of expo-haptics was also showcased, demonstrating how iOS UIKit and Android VibrationEffect can be written within a single file.
Introducing Lucent ✨ Write React Native modules in TypeScript. Compile a checked subset to Swift + Kotlin ahead of time, with no JS engine on the native side. @expo + Nitro. Open source. Still experimental. lucent-lang.dev
Meet Lucent ✨ a new way of writing native modules for @expo & React Native Lucent compiles modules to C++ and calls it through JSI. Here's a bit of expo-haptics ported to Lucent. UIKit on iOS VibrationEffect on Android, one file. lucent-lang.dev
Reanimated 4.7.0 and Worklets 0.13.0 Released Simultaneously#
Reanimated 4.7.0 and Worklets 0.13.0 have been released at the same time. In Reanimated, the new layout animation engine is now enabled by default. On the Worklets side, the Babel plugin has been ported to OXC, and a network module for Worklet Runtimes has been introduced.
Reanimated 4.7.0 released! New layout animations engine by default, animated backgroundImage, and more CSS transitions on the Android platform path. swmansion.com/changelog/reanim…
Worklets 0.13.0 released! Worklet Runtimes get a networking module in Bundle Mode, an OXC port of the Babel plugin, and a fixed-type Synchronizable. swmansion.com/changelog/workle…
Reanimated 4.7 alongside Worklets 0.13 have been released with a pack of new goodies for all you React Native devs… and for your agents, of course! 👇 Check out this thread to find out what’s new
Variable Fonts Support Added to React Native 0.88 Documentation#
The official documentation has been updated to note that Variable Fonts will be officially supported in React Native 0.88.
RN 0.88 will support variable fonts Now officially documented
Nitro Streaming Module for VisionCamera 5 Released#
A Nitro module that extends the outputs of VisionCamera 5 has been released. By simply writing <Camera outputs={[stream.cameraOutput]} />, you can stream live directly from your app to YouTube, Twitch, or any RTMP/RTMPS server.
Last week: my first Nitro module. This week: it's a VisionCamera 5 output. 📡 <Camera outputs={[stream.cameraOutput]} /> That's it. Your VisionCamera app can now go live on YouTube, Twitch or any RTMP/RTMPS server. github.com/bhyoo99/react-nativ… twitter.com/bhyoo99/status/210…
Real-Device Verification Report on Expo Modules 2.0 Released#
Gemcook published an overview article on Expo Modules 2.0, which is included in the Expo SDK 58 beta. It summarizes verification results on actual devices regarding the new syntax that speeds up module calls.
【テックブログ更新⚡️】 今日は、Expo SDK 58 betaでリリースされた「Expo Modules 2.0」の記事です! 呼び出しが爆速になった新しい書き方を、実機で全部試してみました! zenn.dev/gemcook/articles/expo… #gemcook #reactnative
expo-infinite-media Released: Native-Side Playback Control#
The media feed library “@rbayuokt/expo-infinite-media” has been open-sourced. It is designed to handle playback control entirely on the native side to prevent black frames and overlapping audio caused by JS thread load.
open sourced a @reactnative/@expo media feed , called "@rbayuokt/expo-infinite-media" every feed I built died the same way. a Flat/shList <Video> per row, two playing audio at once, black frames whenever JS got busy 😪 so I took playback away from JS. all of it runs native now
Test Agent PoC Using agent-device and jev Released#
A PoC repository and explanatory article on test automation combining the mobile device automation tools agent-device and jev have been published. It shares implementation steps and insights for building an agent that autonomously operates real devices and simulators.
jevil is in the details 😈 built a quick POC running agent-device with jev and learned a ton. check the source code or read a short blog post ⬇️
Check out the repository (and feel free to send a PR to make it more release-ready) 😂 github.com/grabbou/jevil
I also published a short blog post where I explain the steps to build your own: www.callstack.com/blog/explori…
React Native Screens 5.0.0-alpha.3 Released#
React Native Screens 5.0.0-alpha.3 has been released. In addition to improved header customizability in Stack v5 and stacking support in FormSheet v5, it adds Swift Package Manager (SPM) support on iOS.
React Native Screens 5.0.0-alpha.3 released! Stack v5 gains more header customization on Android and iOS; FormSheet v5 adds stacking; iOS supports SPM. swmansion.com/changelog/react-…
react-native-arrangement-view Released for Foldable Devices#
“react-native-arrangement-view 0.1.0” has been announced, enabling cross-screen View layout and hinge state detection for foldable devices. It currently supports iPhone Duo setups, with Android support planned for an upcoming release.
Announcing react-native-arrangement-view 0.1.0 ✨ Easily adapt your React Native app to foldables, arrange views between screens, and fetch hinge state Not prod ready yet, first on iPhone Duo , Android coming next release 🔜 Contributions welcome!
App Size Comparison: New Framework Whisker vs. React Native#
A size comparison benchmark was published for “Whisker,” a new framework that claims to keep UI expressiveness on par with React Native while reducing app size to about one-tenth.
Whiskerと他のフレームワークのアプリサイズ比較してみた UIの表現力はReact Nativeと変わらないくらいあってアプリサイズが10倍小さいのは結構いいのでは twitter.com/whisker_rs/status/…
One More Thing#
Lucent’s approach of AOT-compiling TypeScript into native code is super impressive. Seeing expo-haptics ported to both platforms from a single TypeScript file really makes it feel like the future of native module development is about to change!


