LarkSDK
用户手册
跨平台
LarkSDK 是一款跨平台 C++ 开发框架。它使得用户无需花费精力在操作系统的特性和底层调用细节,从而更专注于业务需求开发。
纯自研
LarkSDK 并非是任何其他框架的套壳产品,这意味着,除了引用一些不得不引用的基础轮子之外,LarkSDK 的所有代码都是完全自研的。
超轻量
受益于后发优势,LarkSDK 的开发环境的部署实现了极简化配置,同时最终生成的程序包体积也被控制在最低限度,让构建、分发和部署都变得非常容易。
# 一个简单的例子
我们追求设计清晰的语义与自我解释的代码,同时参考知名框架的代码风格,让具备相关经验的用户得以快速上手。例如下列代码将创建一个指定宽高的普通窗体,窗体内部存在一个完美居中的按钮,点击按钮将弹出一个消息对话框。
#include <lwindowapplication.h>
#include <lmessagebox.h>
#include <lbutton.h>
#include <lflexlayout.h>
int main()
{
LWindowApplication app;
LWindow w(400, 300);
w.rootComponent()->setLayout(LFlexLayout());
LButton button("我绝对居中,请调整窗口大小", w.rootComponent());
button.clickSignal.connect([&w]() {
LMessageBox::info(&w, "消息框", "欢迎使用 LarkSDK!");
});
w.show();
return app.exec();
}
上述代码虽然简短,但基本覆盖了 LarkSDK 构建用户界面的常见要素:
- 创建了一个窗体;
- 创建了一个按钮组件;
- 利用布局机制,将按钮组件放置在窗体内绝对居中的位置;
- 利用信号槽机制,设置按钮组件被点击时发生的行为;
- 显示窗体,进入主事件循环。
代码在 Windows 下的运行结果如下(测试环境:Windows 10):
在 Linux 下的运行结果如下(测试环境:Ubuntu 22.04):
# 轻量的开发与部署体验
如果框架本身过于臃肿,那么无论是在开发端还是在部署端都会造成极其不好的体验。我们希望解决这个问题,在保证产品功能的前提下,尽可能控制开发包与最终输出程序包的体积,让开发回归简单、专业与优雅。
如图所示,我们当前版本的开发包控制在 40MB 内,其中包含 20MB 左右的动态库和 20MB 的内置字体文件(后续可裁剪)。部署时,也仅需简单的将动态库和资源文件与可执行程序打包即可。