wcdb
11,652
Stars
1,500
Forks
276
Watchers
30
Open Issues
NOASSERTION
许可证
C
语言
2017-05-11
创建时间
2026-10-08
最近更新
项目能做什么
微信团队开源的高性能、跨平台移动数据库框架。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# WCDB
[](https://github.com/Tencent/wcdb/pulls)
[](https://github.com/Tencent/wcdb/releases)
[](https://github.com/Tencent/wcdb/wiki)[](https://github.com/Tencent/wcdb/wiki)
中文版本请参看[这里][wcdb-wiki]
WCDB is an **efficient**, **complete**, **easy-to-use** mobile database framework used in the WeChat application. It's based on SQLite and SQLCipher, and supports five languages: C++, Java, Kotlin, Swift and Objective-C.
# Feature
## **Easy-to-use**
* **ORM** (Object Relational Mapping): WCDB provides a flexible, easy-to-use ORM for creating tables, indices and constraints, as well as CRUD through C++/Java/Kotlin/Swift/Objc objects.
* **WINQ** (WCDB language integrated query): WINQ is a native data querying capability which frees developers from writing glue code to concatenate SQL query strings.
With ORM and WINQ, you can insert, update, query and delete objects from database in one line code:
```c++
// C++
database.insertObjects<Sample>(Sample(1, "text"), myTable);
database.updateRow("text2", WCDB_FIELD(Sample::content), myTable, WCDB_FIELD(Sample::id) == 1);
auto objects = database.getAllObjects<Sample>(myTable, WCDB_FIELD(Sample::id) > 0);
database.deleteObjects(myTable, WCDB_FIELD(Sample::id) == 1);
```
```java
// Java
database.insertObject(new Sample(1, "text"), DBSample.allFields(), myTable);
database.updateValue("text2", DBSample.content, myTable, DBSample.id.eq(1));
List<Sample> objects = database.getAllObjects(DBSample.allFields(), myTable, DBSample.id.gt(0));
database.deleteObjects(myTable, DBSample.id.eq(1));
```
```kotlin
// Kotlin
database.insertObject<Sample>(Sample(1, "text"), DBSample.allFields(), myTable)
database.updateValue("text2", DBSample.content, myTable, DBSample.id.eq(1))
val objects = database.getAllObjects<Sample>(DBSample.allFields(), myTable, DBSample.id.gt(0))
database.deleteObjects(myTable, DBSample.id.eq(1))
```
```swift
// Swift
try database.insert(Sample(id:1, content:"text"), intoTable: myTable)
try database.update(table: myTable,
on: Sample.Properties.content,
with: "text2"
where:Sample.Properties.id == 1)
let objects: [Sample] = try database.getObjects(fromTable: myTable,
where: Sample.Properties.id > 0)
try database.delete(fromTable: myTable where: Sample.Properties.id == 1)
```
```objective-c
// Objc
[database insertObject:sample intoTable:myTable];
[database updateTable:myTable
setProperty:Sample.content
toValue:@"text2"
where:Sam
阅读完整原文
商业机会分析 AI 生成
WCDB/SQLCipher 可视化跨平台桌面管理与调试工具
| 产品构想 | 针对WCDB和SQLCipher特有加密机制及损坏恢复机制,打造专门的桌面端(macOS/Windows)GUI查看与调试软件,解决现有普通SQLite查看器无法打开或调试复杂加密与RepairKit机制的痛点。 |
| 核心功能 | 支持WCDB原生加密算法直接解析、WINQ语句调试预览、表结构与ORM模型对比校验、损坏数据文件手动检测与修复可视化。 |
| 目标用户 | 使用WCDB进行移动端开发的iOS/Android工程师、QA测试人员。 |
| 难度/周期 | 中等 · 2-3个月 · 成本:极低(主要是跨平台GUI框架开发时间成本) |
| 收费模式 | 独立商业软件售卖(类似TablePlus/Navicat授权,买断制或订阅制)。 |
| 竞争风险 | 现有SQLite/SQLCipher通用工具有替代空间;目标客群规模局限于WCDB重度开发者。 |
| 依据 | 已验证事实 |
移动端离线数据库紧急数据恢复服务与工具箱
| 产品构想 | 基于WCDB内置RepairKit算法与SQLite底层B-tree恢复技术,向企业提供端侧数据库损坏恢复的自动化工具箱及专家兜底恢复服务。 |
| 核心功能 | 深度B-tree碎片扫描、损坏页特征提取与修复、WCDB专用备份文件解析器、企业级恢复成功率诊断报告。 |
| 目标用户 | 涉及关键金融交易、本地离线账本、医疗或涉密即时通讯的移动应用企业客户。 |
| 难度/周期 | 高 · 3-6个月 · 成本:低至中等(需要深厚的底层存储引擎解析算法积累) |
| 收费模式 | 按次收取专家级数据恢复服务费,或向企业售卖离线数据修复工具SDK/CLI授权。 |
| 竞争风险 | 端侧数据库严重损坏场景属于低频偶发事件;部分数据涉及合规与隐私,企业可能无法外发文件委托修复。 |
| 依据 | 数据支持的判断 |
现代跨平台框架(Flutter/React Native/Rust)生态绑定封装与技术支持
| 产品构想 | 官方目前主要支持C++、Java、Kotlin、Swift、ObjC,将其高性能及加密特性封装为针对Flutter或React Native的高性能开箱即用插件,并提供长期维护及企业技术支持。 |
| 核心功能 | Flutter/RN双端原生绑定FFI、零拷贝ORM映射、跨平台同步全文本搜索支持、多版本持续适配保障。 |
| 目标用户 | 使用Flutter/React Native构建跨平台App且对端侧加密、高并发性能有极高要求的中大型企业团队。 |
| 难度/周期 | 中等 · 1-2个月 · 成本:极低(主要为FFI封装与跨平台打包适配工作) |
| 收费模式 | 开源核心+高级特性商用授权(双重协议)或企业Sponsor/付费定制适配服务。 |
| 竞争风险 | 开源社区可能自发产生高质量第三方Binding削弱溢价能力;大厂开源项目直接跟进原生跨平台SDK。 |
| 依据 | AI推测 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| morluto/rea | 中文介绍暂未生成 Reverse engineer anything with agents, from app behavior dow |
452,328 | TypeScript |
| flutter/flutter | 中文介绍暂未生成 Flutter makes it easy and fast to build beautiful apps for m |
181,204 | Dart |
| Genymobile/scrcpy | 中文介绍暂未生成 Display and control your Android device |
154,580 | C |
| rustdesk/rustdesk | 中文介绍暂未生成 An open-source remote desktop application designed for self- |
129,049 | Rust |
| react/react-native | 中文介绍暂未生成 A framework for building native applications using React |
126,898 | C++ |
| Hack-with-Github/Awesome-Hacking | 中文介绍暂未生成 A collection of various awesome lists for hackers, pentester |
125,271 | - |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 2017-05-11,最近推送 2026-10-08,发布过 36 个 Release |
| 社区活跃 | Star 11,652 / Fork 1,500 / Issue 30(数据支持,可自行核实) |
| 许可证 | NOASSERTION |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
快速开始(以仓库 README 为准)
git clone https://github.com/Tencent/wcdb.git cd wcdb # 请阅读仓库 README 获取确切安装步骤(依赖、配置、启动命令)
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。