React Native Gesture Handler

Declarative, native-driven touch and gesture handling for React Native, recognized on the UI thread.

Library
npm
v3.2.1
6,776stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
92/100Excellent
Development Activity100
Maintenance96
Community72
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
84/100Excellent
Architecture90
Code Quality88
Innovation87
Learning Curve60

React Native Gesture Handler replaces the JavaScript responder system with a declarative API that recognizes and tracks gestures directly on the native UI thread. Because touch handling never has to round-trip through the JS bridge, interactions stay smooth, deterministic, and responsive even when the JS thread is busy.

The library ships a rich gesture vocabulary — pan, pinch, rotation, tap, long-press, fling, hover, and more — that can be composed together, plus native-backed buttons, touchables, and drop-in replacements for common React Native components. It pairs naturally with Reanimated to build high-performance, fully native touch experiences.

What You Get

  • A declarative Gesture API with GestureDetector for defining and composing recognizers
  • A full set of built-in gestures: pan, pinch, rotation, tap, long-press, fling, hover, native, and manual
  • Native-backed buttons and touchables (RectButton, BorderlessButton, TouchableOpacity, and more)
  • First-class integration with Reanimated for UI-thread-driven animations
  • Cross-platform support across iOS, Android, web, and macOS

Common Use Cases

  • Building swipeable rows, drawers, and bottom sheets
  • Implementing pinch-to-zoom and rotation on images or maps
  • Creating draggable and reorderable list interfaces
  • Wiring smooth, gesture-driven animations together with Reanimated

Under The Hood

Architecture - The library is split between a TypeScript surface in packages/react-native-gesture-handler/src and native implementations in Kotlin (Android), Objective-C++/Objective-C (iOS), and shared C++. The JS layer (src/handlers/gestures) defines composable Gesture objects — pan, pinch, rotation, tap, long-press, fling, hover, native, and manual — that are attached to views through a single GestureDetector. Gesture configuration is serialized down to the native RNGestureHandlerModule (with .web, .windows platform variants), where recognition and tracking happen on the UI thread; results flow back through an event receiver so gestures resolve without a JS-bridge round-trip.

Tech Stack - Written primarily in TypeScript (~58%) with Kotlin, Objective-C++, and C++ for the native modules. The package is built with react-native-builder-bob and tsc, managed in a Yarn 4 workspaces monorepo alongside example apps. It targets the three latest React Native minor releases and integrates optionally with Reanimated for worklet-driven animation.

Code Quality - The codebase is strongly typed with dedicated type files (typeUtils.ts, per-gesture prop types) and platform-specific file resolution (.web.ts, .android.tsx, .windows.ts). A Jest test suite lives under src/__tests__ with mocks in src/__mocks__, and the project enforces ESLint, Prettier, and a circular-dependency check via madge. Native formatting is gated through spotless and clang-format in CI.

API Design - The modern Gesture API is ergonomic and declarative: recognizers are created via a Gesture factory, configured with chained methods, composed with Race/Simultaneous/Exclusive relations, and attached with one GestureDetector. Extensive documentation, a versioned compatibility table, and a runnable example app lower the barrier, though the breadth of gestures, composition rules, and required root-view setup give it a moderate learning curve.

Used by 22 apps in this directory

TypeScript
95%
Apache 2.0

AionUi

AI Agents · Productivity

32,102

Free, open-source Cowork desktop app that unifies Claude Code, Codex, Gemini CLI, and 20+ AI agents into a single platform with multi-agent teams, 24/7 cron automation, and zero-config built-in agent.

View details
88
Repo Health
76
Technical
66
Dependency
Built with
TypeScript95%
Updated today
Rust
67%
MIT

Bun

Developer Tools

95,452

An all-in-one JavaScript and TypeScript toolkit — one Rust-and-JavaScriptCore binary that replaces Node.js, npm, a bundler, and a test runner with faster equivalents.

View details
92
Repo Health
91
Technical
66
Dependency
Built with
Rust67%
C++19%
Updated today
TypeScript
55%
Other

Cap

Team Chat · Video Conferencing

20,986

Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.

View details
89
Repo Health
81
Technical
65
Dependency
Built with
TypeScript55%
Rust40%
Updated yesterday
TypeScript
45%
Other

Convex Backend

Developer Tools · Databases

12,394

Open-source reactive database that lets developers build live-updating apps with pure TypeScript, strong consistency, and real-time subscriptions—no separate API layer required.

View details
88
Repo Health
82
Technical
70
Dependency
Built with
TypeScript45%
Rust43%
Updated today
TypeScript
71%
Other

highlight.io

Developer Tools · Analytics · Monitoring

9,367

Open-source full-stack monitoring that unifies session replay, error tracking, logging, and distributed tracing so you can stop context-switching between tools.

View details
69
Repo Health
78
Technical
66
Dependency
Built with
TypeScript71%
Go16%
Updated yesterday
TypeScript
74%
Apache 2.0

Jitsi Meet

Team Chat · Collaboration · Video Conferencing

29,767

Open-source, end-to-end encrypted video conferencing you can self-host or embed into any web or mobile app.

View details
96
Repo Health
85
Technical
70
Dependency
Built with
TypeScript74%
JavaScript10%
Updated yesterday
TypeScript
99%
AGPL 3.0

Karakeep

Bookmarks Archiving

28,454

Self-hosted bookmark manager that captures links, notes, images, and PDFs with AI tagging, full-text search, and automatic archiving.

View details
88
Repo Health
76
Technical
67
Dependency
Built with
TypeScript99%
Updated 3 days ago
Python
60%
MIT

LibrePhotos

File Storage

8,044

Self-hosted photo library with AI-powered face recognition, semantic search, and automatic event albums — no cloud required.

View details
82
Repo Health
78
Technical
67
Dependency
Built with
Python60%
TypeScript37%
Updated 3 days ago
TypeScript
93%
AGPL 3.0

Linkwarden

Bookmarks Archiving · Knowledge Management

19,527

Self-hosted collaborative bookmark manager that captures full-page archives, enables annotation, and keeps your knowledge accessible forever.

View details
90
Repo Health
72
Technical
66
Dependency
Built with
TypeScript93%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search