Atlas Device SDK for C++ 正式发布

Otso Virtanen, Lee Maguire, Jason Flax, and Yavor Georgiev

MongoDB 当初推出开发者数据平台是为了给开发者带来无与伦比的灵活性和可扩展性。该平台通过简化对复杂数据结构和实时分析的整合,加速关键任务应用程序的开发和部署,为各行各业的企业增添了巨大价值。如今,我们继续践行为开发者提供最佳体验的使命,为此欣然宣布推出 Atlas Device SDK for C++ 的正式发布版本 (GA)。在试用用户反馈意见的指导下,为了实现目标性能和可移植性,我们进行了多次迭代,最终才有了此版本的多项更新。

借助 Atlas Device SDK for C++,开发者能够将数据轻松地存储在设备上以供离线访问,同时在其 C++ 应用程序中与 MongoDB Atlas 云无缝同步数据。该版本为 SQLite 提供了简单易行的替代方案,因其面向对象的数据库特性而带来了简便性,无需另外使用映射层或对象关系映射器 (ORM)。与 MongoDB 的开发者数据平台一样,C++ SDK 也以简化开发流程为使命,该版本集成了网络重试逻辑以及高级冲突合并功能,消除了开发者以往对编写和维护大量复杂同步代码的需求。

选择 Atlas Device SDK for C++ 的理由

Atlas Device SDK for C++ 特别适合用来开发嵌入式设备、物联网 (IoT) 和跨平台场景中的应用程序。该 SDK 作为适用于边缘、移动和嵌入式设备的全面的面向对象持久层,为与作为云后端的 MongoDB Atlas 同步数据提供了内置支持。在不断变化的智能互联设备领域,人们对更多数据(包括用于自动决策的历史数据)的需求凸显了高效持久层和实时云同步技术的重要意义,而此类技术能够有力应对网络连接的变化与中断。

Atlas Device SDK for C++ 中包含的数据库已有十多年的历史,是一项发展成熟、功能丰富的企业级技术,已集成到 Google Play 和 Apple App Store 上成千上万款应用程序中,下载量高达数十亿次。该数据库采用轻量级设计,并针对资源有限的环境进行了优化。其在设计中考虑了计算、内存、带宽和电池消耗量等多种因素。将 SDK 直接嵌入到应用程序代码中,既免去了执行额外部署任务的必要,也简化了开发过程。

C++ SDK 具有完全面向对象的特性,可为数据建模提供指导,是一种简单易用、符合语言一致性的方法。这与 SQLite 数据库等替代技术形成了鲜明对比,这类技术需要使用对象关系映射库,因而增加了复杂性,加大了日后进行开发、维护和调试工作的难度。此外,SDK 的底层数据存储区支持与各种环境中的用户界面层无缝集成。在 Atlas Device SDK for C++ 中,我们提供了如何与 Qt 框架集成的示例,但您也可以添加其他用户界面层。

正式发布版中的改进之处

新的 API 是基于性能衡量结果来开发的,通过协调将开发重点放在如何改进数据层的读写操作上。汽车和制造行业的主要原始设备制造商 (OEM) 对此一直表现出极大的兴趣,此类反馈意见为我们最终开发出 API 提供了非常宝贵的指导。

Atlas Device SDK for C++ 中增加的部分更改内容包括:

  • 将我们的各种 API 与其他 Atlas Device SDKs 对接,比如通过监控和手动压实改进对数据库状态的控制

  • 搭建 HTTP 隧道

  • 加强对 Atlas Device Sync 会话的控制

  • 支持 Windows

  • 通过支持 musl 与 OpenWRT 等其他 Linux 发行版兼容

  • 借助 Blueprint/Soong 构建文件支持 Android Automotive

后续行动

展望未来,我们将努力提供地理空间支持,同时增强使用 vcpkg 和 Conan 等各种软件包管理器进行构建的能力。我们欢迎并重视各种反馈意见。如果您有任何意见或建议,请通过我们的 GitHub 项目与我们分享。

准备好开始了吗?

敬请安装 Atlas Device SDK for C++。您可以阅读相关文档开启您的使用之旅,也可直接浏览包含源代码的示例项目

然后,注册 Atlas 以连接完全托管的移动后端即服务 Atlas Device Sync,即可利用开箱即用的基础设施、数据同步功能、网络处理等丰富功能,快速推出企业级移动应用程序。

最后,请告诉我们您的想法,并参加我们举办的各种论坛。我们期待您的参与!