Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. React
  3. realm-js

realm-js

Apache-2.0TypeScriptrealm-react-v0.20.0

A mobile database that runs directly inside phones, tablets, or wearables as an alternative to SQLite and key-value stores.

Visit WebsiteGitHubGitHub
6.0k stars612 forks0 contributors

What is realm-js?

Realm is a mobile database that runs directly on devices like phones, tablets, and wearables, providing local data persistence for mobile applications. It serves as an alternative to SQLite and key-value stores with better performance and an object-oriented data model. The database eliminates the need for ORM layers by allowing developers to work with live objects directly.

Target Audience

Mobile developers building iOS, Android, or cross-platform applications that require efficient local data storage, real-time synchronization, or offline capabilities.

Value Proposition

Developers choose Realm for its superior performance compared to SQLite, intuitive object-oriented API that reduces boilerplate code, and built-in real-time sync capabilities for collaborative applications.

Overview

Realm is a mobile database: an alternative to SQLite & key-value stores

Use Cases

Best For

  • Building mobile apps with complex local data persistence needs
  • Creating offline-first applications that work without network connectivity
  • Developing real-time collaborative features in mobile apps
  • Replacing SQLite with a more performant and developer-friendly alternative
  • Cross-platform mobile development with consistent data layer APIs
  • Applications requiring type-safe database queries with compile-time checking

Not Ideal For

  • Projects primarily targeting web or desktop platforms, as Realm is optimized for mobile devices and may lack server-side features.
  • Applications that rely heavily on complex SQL queries and stored procedures, since Realm uses a different object-oriented query language.
  • Teams seeking a completely open-source solution without proprietary dependencies, especially for sync features tied to Realm's cloud services.
  • Simple apps with trivial data storage needs that could be handled by platform-native storage like SharedPreferences or UserDefaults.

Pros & Cons

Pros

Object-Oriented Simplicity

Stores data as live objects with relationships, eliminating the need for ORM layers and reducing boilerplate code, as highlighted in the README.

Zero-Copy Performance

Uses memory-mapped architecture for fast data access without serialization overhead, offering better performance than SQLite for many use cases.

Built-in Real-time Sync

Provides synchronization capabilities out-of-the-box for enabling collaborative and offline-first applications, as noted in the features.

Cross-Platform Consistency

Works across iOS, Android, and other mobile platforms with consistent APIs, simplifying cross-platform development efforts.

Type-Safe Queries

Features an expressive query language with compile-time type checking for safer data access, reducing runtime errors.

Cons

Sync Service Dependency

Real-time sync capabilities may require using Realm's cloud services, leading to vendor lock-in and potential costs not mentioned as flexible in the README.

Paradigm Shift Required

Developers accustomed to SQL-based databases face a learning curve with the object-oriented model, which the README acknowledges as a departure from traditional approaches.

App Size Overhead

Including Realm can increase application bundle size compared to lighter alternatives like SQLite, a trade-off for its feature set.

Migration Complexities

Schema changes require careful handling with migration blocks, and the README may indicate limitations in tooling for seamless updates.

Open Source Alternative To

realm-js is an open-source alternative to the following products:

R
Room

Room is an Android persistence library that provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.

C
Core Data

Core Data is an Apple framework for managing object graphs and persisting data in macOS, iOS, watchOS, and tvOS applications.

S
SQLite

Frequently Asked Questions

Quick Stats

Stars6,000
Forks612
Contributors0
Open Issues601
Last commit1 day ago
CreatedSince 2015

Tags

#mobile-database#ios#data-persistence#offline-first#android#real-time-sync#nosql#react-native#nosql-database#reactnative#realm#mobile-first#cross-platform#reactive#realtime-database

Links & Resources

Website

Included in

React72.7kReact Native35.6k
Auto-fetched 1 day ago

Related Projects

rxdbrxdb

The local-first database that runs on every JS runtime and replicates with your existing backend - no vendor, no lock-in - https://rxdb.info/

Stars23,411
Forks1,183
Last commit1 day ago
react-native-mapsreact-native-maps

React Native Mapview component for iOS + Android

Stars16,011
Forks4,962
Last commit3 days ago
WatermelonDBWatermelonDB

🍉 Reactive & asynchronous database for powerful React and React Native apps ⚡️

Stars11,793
Forks661
Last commit1 month ago
react-native-device-inforeact-native-device-info

Device Information for React Native iOS and Android

Stars6,685
Forks1,458
Last commit7 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub