Realm: 使用 Swift 构建现代应用
Realm: 使用 Swift 构建现代应用
简介:
引言
由 Marin Todorov 所著的《Realm: Building Modern Swift Apps》一书于 2020 年出版,已成为 Apple 生态系统中使用移动数据库 Realm 最全面的实践指南之一。在 296 页的篇幅中,这位知名的 iOS 开发者和图书作者系统地揭示了使用 Realm 的各个方面——从安装和基本操作到高级同步和多线程。本书面向希望创建现代、响应迅速且支持离线的应用的 Swift 开发者。
本书内容
本书是一本实践指南,内容难度循序渐进。它涵盖了:
- Realm 基础:安装、配置、创建数据模型、CRUD 操作(创建、读取、更新、删除)。
- 查询操作:过滤、排序、对象间关系(一对一、一对多、多对多)。
- 迁移:在模型更改时安全地更新数据模式。
- 多线程:在后台线程中使用 Realm、线程安全、使用 ThreadSafeReference。
- Realm Cloud 与同步:配置设备间同步、使用 Realm Object Server(现为 Realm Cloud)、冲突管理。
- 与 UI 集成:将 Realm 与 UIKit 和 SwiftUI 结合使用,通过 Combine 或通知实现响应式界面更新。
- 测试:为使用 Realm 的代码编写测试,创建测试数据库。
适合读者
本书面向已具备 Swift 基础知识并拥有 iOS/macOS 应用开发经验的开发者。编程新手可能会觉得困难——本书假定读者了解 Xcode、CocoaPods/SPM、OOP 基础以及 UI 开发。然而,对于已经使用 Swift 编写代码并希望掌握现代移动数据库的人来说,本书将是一个极好的起点。
读者将学到什么
阅读后,您将能够:
- 通过 Swift Package Manager 或 CocoaPods 在项目中安装和配置 Realm。
- 设计支持关系和索引的灵活数据模型。
- 执行包含过滤、排序和聚合的复杂查询。
- 在结构更改时安全地迁移数据库。
- 在多线程环境中使用 Realm,避免内存泄漏和阻塞。
- 通过 Realm Cloud 集成同步,用于跨平台应用。
- 构建在数据更改时自动更新的响应式界面。
- 为使用 Realm 的代码编写单元测试。
优势
本书的主要优点是其实用性。每一章都包含可直接应用于项目的现成代码示例。作者非常关注常见陷阱:例如,他解释了为什么不能直接在线程之间传递 Realm 对象,并展示了正确的模式。特别值得一提的是关于同步的章节——它清晰地阐述了如何使用云端版本的 Realm,这在其他教程中很少见。本书语言生动,对每个代码块都有解释和注释。另一个优点是它的时效性:尽管本书出版于 2020 年,但 Realm 的基本原则没有改变,书中描述的 Realm Swift 版本稳定且被广泛使用。
推荐给谁
本书将对以下人群有用:
- 希望用更轻量、更快速的解决方案替代 Core Data 的 iOS 开发者。
- 构建具有数据同步功能的离线优先应用的开发者。
- 从 Objective-C 过渡到 Swift 并希望学习现代数据存储方法的人。
- 已经掌握 Swift 基础知识并希望深入研究数据库工作的学生和初级开发者。
如果您正在寻找一本能够帮助您掌握现代移动数据库的书籍,