Open4

React Nativeで便利なライブラリ

kazutoyo@TellerNovelkazutoyo@TellerNovel

アプリ全般

React Native Legals (ライセンス表示)

https://callstackincubator.github.io/react-native-legal/

ExpoのConfig Pluginにも対応しており、簡単なセットアップでライセンス情報を自動的に生成してくれる。
AndroidではAboutLibraries
を内部的に利用しており、iOSはplistを生成して、アプリの設定画面からも参照できるようになっている。

HotUpdater

https://hot-updater.dev/
セルフホスティングでOTAを利用することができるライブラリ。
CloudflareやSupabase、AWSなど好きなホスティングサービスを利用することができる。
特にCloudflareのR2を使えばエグレスがかからないため、低価格で利用することができる。

Xavia OTA Updates Server

https://github.com/xavia-io/xavia-ota

expo-updatesのプロトコル仕様に則ったOTAサーバーをホスティングすることができる。
Next.jsで開発されている。

react-native-ota-hot-update

https://github.com/vantuan88291/react-native-ota-hot-update

こちらもセルフホスト可能なOTAライブラリ。
クラウドストレージや、Gitリポジトリでホスティングできる。
ロールバックなどの機能もある。

sp-react-native-in-app-updates

https://github.com/SudoPlz/sp-react-native-in-app-updates

Androidのアプリ内アップデートなどに対応するもの。
https://developer.android.com/guide/playcore/in-app-updates?hl=ja

iOSの場合はreact-native-sirenが使われる。

kazutoyo@TellerNovelkazutoyo@TellerNovel

UI系

React Native Bottom Tabs

https://callstackincubator.github.io/react-native-bottom-tabs/
ネイティブプラットフォームのTabのViewを提供するコンポーネント。
iOS26のLiquid Glassに対応したタブを利用したい場合、こちらを利用すると良さそう。

React Native Bottom Sheet

https://gorhom.dev/react-native-bottom-sheet/

BottomSheetを提供するライブラリ。
Discordなど有名なアプリ多くでも利用されている。

FlashList

https://shopify.github.io/flash-list/
FlatListよりパフォーマンスが良いコンポーネント。
現在v2を開発中で、より高速になるらしい。

LegendList

https://github.com/LegendApp/legend-list
FlatListよりパフォーマンスの良いリストコンポーネント。
現在のFlashListよりも高速らしい。

React Native Reanimated DnD

https://github.com/entropyconquers/react-native-reanimated-dnd

React Native Reanimatedを利用しているドラッグ&ドロップのライブラリ。
パフォーマンスも良さそうで、APIも使いやすそう。

react-native-sortables

https://react-native-sortables-docs.vercel.app/
こちらもソートやドラッグ&ドロップを行えるライブラリ。
Gridをサポートしていたり、オートスクロールなどの機能もある。

react-native-magic-scroll

https://github.com/AppAndFlow/react-native-magic-scroll
縦に長いScrollViewにあるフォームのUIなどで、現在入力しているInputから次のInputへ移る際のスクロールやキーボードのハンドリングなどを綺麗に行ってくれる。

Burnt

https://github.com/nandorojo/burnt

Mobile/Webの両方に対応しているトーストのライブラリ。
iOSではSPAlert/SPIndicator、Androidはreact-nativeの ToastAndroid API、Webではsonnerを利用している

Zeego

https://zeego.dev/

Mobile/Webの両方に対応しているコンテキストメニューのライブラリ。
fernando rojo製。

kazutoyo@TellerNovelkazutoyo@TellerNovel

スタイリング

NativeWind

https://www.nativewind.dev/

Tailwindのように、Utility Classでスタイリングができるライブラリ。
昨今のAIでのUI実装において、Tailwindベースなスタイリングは長所になりそう。

React Native Reusables

https://www.reactnativereusables.com/getting-started/introduction/

NativeWindを利用しているコンポーネント集。
React Nativeにおけるshadcn/uiのようなイメージ。

Unistyles

https://www.unistyl.es/

React NativeのStyleSheet APIのスーパーセットのようなライブラリ。
以下のような場合にUnistylesを利用すると良い。

  • 2つ以上のテーマを使用する
  • ウェブの対応が必要
  • これまでStyleSheet APIを利用してきていた
  • パフォーマンス重視

Tamagui

https://tamagui.dev/

Webでのパフォーマンスに優れたスタイリングライブラリ。
これまでNativeBaseなどを使っていた人に親しみやすい、Utility-FirstなAPIになっている。
UIコンポーネントなども提供されているため、さっとアプリを作りたいときにおすすめ