A cross-platform mobile database framework based on SQLite, offering ORM, encryption, and corruption recovery.
WCDB is a cross-platform mobile database framework developed by WeChat, built on SQLite and SQLCipher. It provides an efficient, feature-rich solution for data persistence in mobile applications, supporting multiple programming languages and operating systems. The framework solves common mobile database challenges like encryption, corruption recovery, and performance optimization.
Mobile developers building applications for iOS, Android, macOS, Windows, Linux, or OpenHarmony who need a reliable, high-performance database layer with cross-language support. It's particularly suited for teams using multiple languages (C++, Java, Kotlin, Swift, Objective-C) within a single project.
Developers choose WCDB for its battle-tested reliability from WeChat's scale, comprehensive feature set including encryption and corruption recovery, and seamless cross-language compatibility. Its ORM and WINQ query system significantly reduce boilerplate code while maintaining type safety and performance.
WCDB is a cross-platform database framework developed by WeChat.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports C++, Java, Kotlin, Swift, and Objective-C with shared underlying logic, enabling seamless database operations across different parts of a project without conflicts, as shown in the uniform code examples for CRUD operations.
Includes encryption via SQLCipher, built-in corruption recovery, full-text search with multilingual tokenizers, and transparent data compression using Zstd, addressing common mobile database challenges out of the box.
Deeply optimized SQLite and SQLCipher for mobile scenarios, with support for concurrent read-read and read-write access via connection pooling, and optimizations for batch operations to enhance efficiency.
WINQ provides language-integrated queries that eliminate SQL string concatenation, reducing injection risks and improving code safety, as demonstrated in the type-safe syntax across all supported languages.
Requires separate building and installing steps for each language (C++, Java/Kotlin, Swift, Objc), as indicated by the multiple wiki links, which can be time-consuming and error-prone compared to simpler drop-in libraries.
Being developed primarily by Tencent for WeChat, it has a smaller community and fewer third-party integrations compared to established alternatives like Room or SQLite.swift, potentially slowing down issue resolution and adoption.
The extensive feature set, including corruption recovery and data compression, might introduce unnecessary complexity and overhead for applications with basic or lightweight database needs, where a simpler solution could be more maintainable.