# 业界现状

# 为什么使用 LarkSDK

随着自主可控 IT 行业重点部分建设日趋完善,国家现已正式步入产业链改革深水区。其中软件开发平台是 IT 行业的血液,它可以支持各种底层的芯片和操作系统,将下层硬件和操作系统细节封装起来,对上层应用软件提供统一、易用、简洁的开发接口与工具,是打通芯片、操作系统与应用软件的关键,更贯穿了应用软件的设计、开发、测试与维护全生命周期。

目前,国内在软件开发平台领域的缺失,导致国内软件行业在开发软件时不得不大量使用国外厂商的开发平台,从而遭遇信息安全存在隐患、国产操作系统环境适配性差、维护服务没有支持、版权使用存在风险等重要问题,没有国产软件开发平台支持,软件开发环节效率低、软件开发成果不稳定也成为国内软件行业普遍存在的问题。我们投入国产 C++ 软件开发平台的目的,是打造通用跨平台的国产化基础开发套件,提供对应用程序的关键共性运行逻辑的支持,进而构建完整的国产化软件集成开发环境,希望最终可以构建完整的基于 C++ 语言的国产应用程序开发生态。

# 一些“竞品”

由于一些原因,目前国内的软件行业语境下,对于诸如语言、框架、工具、平台等技术概念,存在一定程度上的混淆使用。虽然不太愿意这么表达,但是在国内 LarkSDK 确实是唯一的一款通用基础开发框架,技术上并没有真正意义的竞品(这也是我们所看到的绝大部分需要使用 C++ 开发应用软件的场合都是 Qt 的原因)。但值得一提的是,站在市场层面解决实际需求的视角下,确实存在一些产品,和 LarkSDK 存在一定的功能覆盖。

例如:

# 统信 DTK (opens new window)

DTK(Development ToolKit)是统信基于 Qt 开发的一整套简单且实用的通用开发框架,处于统信 UOS 操作系统中的核心位置。其提供丰富的开发接口与支持工具,满足日常图形应用、业务应用、系统定制应用的开发需求,提供 30 余个预定义组件,如统信 UOS 浏览器、音乐、邮件等 40 余款 UOS 应用均使用 DTK 开发。

其本质上是一个在 Qt 的基础之上构建的扩展组件库。利用 Qt 框架与操作系统底层对接,借助 Qt 的能力实现各种具体的用户组件。用户本质上还是在使用 Qt 开发。其具备的跨平台能力本质上也是 Qt 本身的能力。

# 华为 ArkUI (opens new window)

ArkUI 是一套用于构建图形用户界面的声明式 UI 开发框架。它使用极简的 UI 信息语法,提供丰富的 UI 组件及包含实时界面预览工具在内的集成开发环境等。提供基于 ArkTS 开发语言的应用程序接口,支持各种 HarmonyOS 设备。

严格说 ArkUI 和 LarkSDK 在技术上并无关联,其本质是一套专门用于鸿蒙 HarmonyOS 生态的开发工具链的一部分,完整的鸿蒙 HarmonyOS 生态包含 ArkTS (基于 TypeScript 的开发语言)、ArkUI (基于 ArkTS 的一套界面组件语言)、ArkCompiler (用于处理 ArkTS 的编译工具),以及 DevEco Studio (基于 VSCode 构建的集成开发环境),构成完整的生态工具链。也即是说,ArkUI 是生态专有生态的开发工具,和直接面向操作系统底层的通用开发工具 LarkSDK 并不处于一条技术路线上。

# 致远电子 AWTK (opens new window)

AWTK 全称为 Toolkit AnyWhere,是 ZLG 倾心打造的一套基于 C 语言开发的 GUI 框架。旨在为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎,支持跨平台同步开发,一次编程,到处编译,跨平台使用。

然而 AWTK 本质上也是一套基于 SDL (opens new window) 构建的 GUI 库。其主要能力,如图形渲染、跨平台与底层交互等,均由 SDL 框架提供。