RealmIncrementalStore alternatives and similar libraries
Based on the "Database" category.
Alternatively, view RealmIncrementalStore alternatives based on common mentions on social networks and blogs.
-
Realm
Realm is a mobile database: a replacement for Core Data & SQLite -
MMKV
An efficient, small mobile key-value storage framework developed by WeChat. Works on Android, iOS, macOS, Windows, and POSIX. -
SQLite.swift
A type-safe, Swift-language layer over SQLite3. -
WCDB
WCDB is a cross-platform database framework developed by WeChat. -
GRDB.swift
A toolkit for SQLite databases, with a focus on application development -
SwiftyUserDefaults
Modern Swift API for NSUserDefaults -
YapDatabase
YapDB is a collection/key/value store with a plugin architecture. It's built atop sqlite, for Swift & objective-c developers. -
ParseAlternatives
GraphQLite is a toolkit to work with GraphQL servers easily. It also provides several other features to make life easier during iOS application development. [Moved to: https://github.com/relatedcode/GraphQLite] -
SugarRecord
CoreData/Realm sweet wrapper written in Swift -
Couchbase Mobile
Lightweight, embedded, syncable NoSQL database engine for iOS and MacOS apps. -
FCModel
An alternative to Core Data for people who like having direct SQL access. -
UserDefaults
Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS -
CTPersistance
iOS Database Persistence Layer with SQLite, your next Persistence Layer! -
Zephyr
Effortlessly synchronize UserDefaults over iCloud. -
MongoKitten
Native MongoDB driver for Swift, written in Swift -
SwiftData
Simple and Effective SQLite Handling in Swift -
Unrealm
Unrealm is an extension on RealmCocoa, which enables Swift native types to be saved in Realm. -
Prephirences
Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. UserDefaults -
UserDefaultsStore
Why not use UserDefaults to store Codable objects ๐ -
ObjectBox
Swift database - fast, simple and lightweight (iOS, macOS) -
PredicateEditor
A GUI for dynamically creating NSPredicates at runtime to query data in your iOS app. -
Nora
Nora is a Firebase abstraction layer for FirebaseDatabase and FirebaseStorage -
realm-cocoa-converter
A library that provides the ability to import/export Realm files from a variety of data container formats. -
SecureDefaults
Elevate the security of your UserDefaults with this lightweight โจ wrapper that adds an additional layer of AES-256 encryption -
MySQL
A stand-alone Swift wrapper around the MySQL client library, enabling access to MySQL servers. -
PersistenceKit
Store and retrieve Codable objects to various persistence layers, in a couple lines of code! -
SwiftStore
Key-Value store for Swift backed by LevelDB -
PersistentStorageSerializable
Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk. -
YapDatabaseExtensions
YapDatabase extensions for use with Swift -
TypedDefaults
TypedDefaults is a utility library to type-safely use NSUserDefaults. -
MongoDB
A stand-alone Swift wrapper around the mongo-c client library, enabling access to MongoDB servers. -
ObjectiveRocks
An Objective-C wrapper for RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. -
PostgreSQL
A stand-alone Swift wrapper around the libpq client library, enabling access to PostgreSQL servers. -
Storez
๐พ Safe, statically-typed, store-agnostic key-value storage written in Swift! -
SQLite
A stand-alone Swift wrapper around the SQLite 3 client library. -
FileMaker
A stand-alone Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers.
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of RealmIncrementalStore or a related project?
README
RealmIncrementalStore
Realm-powered Core Data persistent store
Wait, what?
I like Realm. Realm's memory-mapped DB blows other databases out of the water. It's fast and memory efficient.
I also like Core Data. (disclaimer: I'm the author of CoreStore.) It's a very stable ORM framework and it works on top of any persistent store.
Here's the kicker: Core Data is stuck with SQLite until a better lightweight DB comes along, and Realm's database engine is phenomenal but its Cocoa framework is still lacking some features.
Fortunately, Core Data's NSIncrementalStore
interface lets us use the best of both worlds. RealmIncrementalStore
is an NSIncrementalStore
subclass that dynamically creates Realm schema using your Core Data models.
Here's an NSFetchedResultsController
running on Realm back-end (right: Realm Browser):
(Check the RealmIncrementalStoreDemo to see how it works)
That said, this project is still in its prototype stages and is more of a proof-of-concept than a working product. Use at your own risk!
How to setup
Just include RealmIncrementalStore in your project and everything else is good old Core Data code. You just have to specify RealmIncrementalStore.storeType
when calling addPersistentStoreWithType()
on the NSPersistentStoreCoordinator
:
let coordinator = NSPersistentStoreCoordinator(...)
do {
try coordinator.addPersistentStoreWithType(
RealmIncrementalStore.storeType, // here
configuration: nil,
URL: url,
options: nil
)
}
catch {
// ...
}
Features
Right now, most of Core Data's functionality works:
- Inserting / Updating / Deleting
- Fetching
NSFetchedResultsController
s- Relationships
- Basically most of what
NSIncrementalStore
s were designed to work in
Missing bits / To Do
(Pull Requests are welcome!)
Relationships (in progress, halfway there)Done- Migrations
- Fine-grained handling of
NSFetchRequest
s - Optimizations (still waiting for the Realm folks to open-source the realm-core)
- Try to implement
NSPredicates
that are not yet supported in Realm (?) - Benchmark!
Author
https://github.com/JohnEstropia
License
RealmIncrementalStore is released under an MIT license. See the LICENSE file for more information
*Note that all licence references and agreements mentioned in the RealmIncrementalStore README section above
are relevant to that project's source code only.