Skip to main content

10 posts tagged with "react-native"

View All Tags

How to Get Live Reload Working in a React Native Keyboard Extension

· 3 min read
Rejaul Islam
Creator of react-native-keyboard-bridge

Before this, changing a single line in KeyboardApp.tsx meant a full rebundle and reinstall on both platforms — no Fast Refresh, no live reload, just the standard edit-rebuild-reinstall loop every time. It turns out the fix required two completely different investigations, because Android and iOS started from opposite places.

How to Package a React Native Library with Native Android and iOS Modules

· 3 min read
Rejaul Islam
Creator of react-native-keyboard-bridge

Early on, this library was four separate workspace packages: a core package (gestures/ prediction/layout types), a raw Gradle module wired in through a hand-edited settings.gradle, a Swift-sources-plus-Ruby-script package hardcoded to one example project's paths, and the actual published react-native-keyboard-bridge npm package. A real external consumer would have needed two npm installs, a git submodule or hand-copy for the native folders, and manual edits across settings.gradle, app/build.gradle, MainApplication.kt, and AndroidManifest.xml.

Can You Build a Custom Keyboard App in React Native? (Yes — Here's How)

· 4 min read
Rejaul Islam
Creator of react-native-keyboard-bridge

Can you actually build a production system keyboard — an Android IME, an iOS Custom Keyboard Extension — entirely in React Native? Not a demo, not a toy, but something you'd ship to real users on both platforms from one codebase?

Yes. This is the proof, and the library that makes it repeatable.

Every mobile app that wants a custom system keyboard has run into the same wall: Android IMEs and iOS Custom Keyboard Extensions are native surfaces. Building one has always meant writing (and maintaining) two separate native UIs in Kotlin and Swift — even if your app is otherwise 100% React Native. Most teams either give up on the idea or pay for a fully native rewrite of a single screen.

react-native-keyboard-bridge removes that wall. You write one component — plain View, Text, TouchableOpacity, useState — and it runs live on both platforms, as a real, live React Native surface hosted inside the IME process on Android and the Custom Keyboard Extension process on iOS. Not a schema. Not a subset. Real React Native, running where conventional wisdom said it couldn't.