A mobile database that runs directly inside phones, tablets, or wearables as an alternative to SQLite and key-value stores.
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.
Mobile developers building iOS, Android, or cross-platform applications that require efficient local data storage, real-time synchronization, or offline capabilities.
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.
Realm is a mobile database: an alternative to SQLite & key-value stores
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Stores data as live objects with relationships, eliminating the need for ORM layers and reducing boilerplate code, as highlighted in the README.
Uses memory-mapped architecture for fast data access without serialization overhead, offering better performance than SQLite for many use cases.
Provides synchronization capabilities out-of-the-box for enabling collaborative and offline-first applications, as noted in the features.
Works across iOS, Android, and other mobile platforms with consistent APIs, simplifying cross-platform development efforts.
Features an expressive query language with compile-time type checking for safer data access, reducing runtime errors.
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.
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.
Including Realm can increase application bundle size compared to lighter alternatives like SQLite, a trade-off for its feature set.
Schema changes require careful handling with migration blocks, and the README may indicate limitations in tooling for seamless updates.
realm-js is an open-source alternative to the following products:
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.
Core Data is an Apple framework for managing object graphs and persisting data in macOS, iOS, watchOS, and tvOS applications.