A lightweight SQLite-based model layer for iOS/macOS, offering Core Data-like convenience with direct SQL access.
FCModel is an open-source model layer for SQLite on iOS and macOS, providing an alternative to Apple's Core Data framework. It offers Core Data-like convenience for object-relational mapping while allowing developers direct access to SQLite for schemas, queries, and migrations. It solves the need for more control over database implementation and performance without sacrificing a structured object interface.
iOS and macOS developers who prefer direct SQL access and more control over their database layer than Core Data provides, particularly those building apps with complex queries or specific performance requirements.
Developers choose FCModel over Core Data for its simplicity, smaller footprint, and the ability to use raw SQL and SQLite features directly, offering greater transparency and control without the overhead of a full ORM.
An alternative to Core Data for people who like having direct SQL access.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides full access to raw SQL queries and SQLite features, allowing developers to optimize schemas, indexes, and migrations directly, as emphasized in the philosophy section.
Ensures a single in-memory instance per unique table/primary-key pair, reducing redundancy and simplifying caching, which is highlighted in the retention and caching documentation.
Prioritizes a small footprint and straightforward mental model by avoiding automatic relationship mapping, making it easier to understand than heavier ORMs like Core Data.
Supports random 64-bit integer primary keys or custom keys, offering flexibility without manual key management, as detailed in the schema-to-object mapping examples.
The README explicitly labels it as beta with potential backward-incompatible API changes, introducing risk for production apps that require stability.
Admits limited documentation beyond header files and an example project, which can hinder onboarding and troubleshooting for new developers.
Serializes all database reads and writes on the main thread, potentially causing performance issues in apps with heavy or concurrent data operations.
Intentionally omits automatic relationship mapping, forcing developers to write custom SQL joins and caching logic, increasing complexity for data with interdependencies.
FCModel is an open-source alternative to the following products: