tencent/wcdb

WCDB is a cross-platform database framework developed by WeChat.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 18 minutes ago
Added to GitGenius on September 5th, 2026
Created on May 11th, 2017
Open Issues & Pull Requests: 25 (+0)
GitHub issues: Enabled
Number of forks: 1,499
Total Stargazers: 11,634 (+0)
Total Subscribers: 279 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

WCDB is a cross-platform mobile database framework that provides object-relational mapping and integrated query capabilities across C++, Java, Kotlin, Swift, and Objective-C.

The framework addresses the challenge of building efficient, maintainable database layers on mobile platforms by layering abstractions over SQLite and SQLCipher. Its ORM system binds database tables to class definitions, allowing single-line operations for inserting, updating, querying, and deleting objects. WINQ provides a language-integrated query interface that eliminates manual SQL string concatenation. The underlying implementation optimizes SQLite's source code and configuration for mobile scenarios, with specific tuning for concurrent access patterns and batch write operations through connection pooling.

Developers building mobile applications with complex data requirements should consider this tool, particularly those already using WeChat's ecosystem or those needing encryption, corruption recovery, and full-text search as built-in capabilities. The framework handles database schema evolution by binding the model to class definitions, automatically managing field additions and deletions. It includes SQL injection protection, supports transparent data compression via Zstd on specific fields, and provides data migration between databases without requiring developers to manage intermediate states. The multi-language interface design allows mixed-language projects to share the same underlying database logic without conflicts.

The project maintains active development across its core components, with regular updates to both the framework layer and SQLite optimizations. Work spans multiple language bindings and platform support, indicating sustained effort to keep the tool current across the five supported languages. The codebase receives ongoing refinement in performance-critical areas and continues to address practical database challenges encountered in production mobile applications.