用于开发图形用户界面的 C 库
LCUI 是一个用 C 语言编写的用于构建图形用户界面的库,其功能设计和用法参考了 Web 领域内的一些流行的技术,例如:CSS、Flex 布局,对于有 Web 网页开发经验的人比较容易上手。
LC 源自作者名字首字母,设计之初的目的是为了方便作者开发一些小项目和积累开发经验,不过遗憾的是作者并没有因此在 C/C++ 高手众多的就业环境下获得足够竞争优势,被迫从事 Web 前端开发工作,也正是因为如此,LCUI 现在的发展方向偏向于融合 Web 前端领域的技术。
你可以从下图了解 LCUI 应用程序的开发体验:
lcui build
命令预处理 app 目录内的配置文件,然后生成相应的 C 源码和资源文件。LCUI 建立在各种库的基础之上:
在开始前你需要在你的计算机上安装以下软件:
然后在命令行窗口中运行以下命令:
# 安装 LCUI 命令行开发工具
npm install -g @lcui/cli
# 创建 LCUI 应用程序项目
lcui create my-lcui-app
之后按照命令输出的提示继续操作。
LCUI 及相关项目的部分功能设计参考了其它开源项目,你可以查看它们的文档以了解基本概念和用法。
以下是未来可推进的事项:
inherit
、!important
、转义字符。lcui build --watch
:持续监听文件变更并自动重新构建。lcui dev-server
:与 webpack-dev-server 类似,将 LCUI 应用构建为网站以便开发者在浏览器中预览界面。有很多方式可以为此项目的发展做贡献:
本项目采用了参与者公约定义的行为准则,该文档应用于许多开源社区,有关更多信息,请参阅《行为准则》。
这是一个浏览器内核吗?或者是像 Electron 这样的集成了浏览器环境的开发库?
不是,你可以当成是一个应用了部分 Web 技术的传统 GUI 开发库。
建议添加 MacOS、Android 系统支持!
这些特性的开发和维护成本较高,暂无相关计划。如果你迫切需要这些特性,你可以尝试实现它们,例如新建 lcui-macos 和 lcui-android 项目,然后在相关专业人员和 Chat GPT 的帮助下完成它们。
我想要 ???? 功能,就像 ???? 里的那样。
请先新建 issue,按照已有的模板补全内容,我们建议你尽量将需求描述清楚,如果能提供开发思路、相关参考文档等内容那是最好的,例如:
# 建议添加 xxx
(简介)xxx 是......
(特性)它能够......
(理由)对于 LCUI 它能解决 ...... 等问题
(实现思路)大致的实现方法是先这样......然后......再......最后......
(参考资料)具体可参考这些 ......
你也可以参考现有的意见征集稿(RFC)来撰写内容。
不推荐的写法:
# 建议添加 xxx
如题,我觉得很有必要,请添加,谢谢。
求添加 Python/Go/Rust/C#/Java 语言绑定!
LCUI 的命令行开发工具已经支持将 TypeScript 写的界面配置文件编译为 C 源文件,虽然不是语言绑定但也够用,所以作者不会再添加其它语言绑定。
如果你实在需要的话可以自己动手设计,毕竟你比作者更懂这些语言的编程思想和设计哲学,也算是一个展现技术实力的好机会。
CSS 标准的支持程度如何?
以下列出了支持的 CSS 特性。勾选的即是支持(但并不意味着完全支持),未列出特性则默认不支持。
@font-face
@keyframes
@media
!important
*
type
#id
.class
:hover
:focus
:active
:first-child
:last-child
[attr="value"]
:not()
:nth-child()
parent > child
a ~ b
::after
::before
具体的属性和值的支持情况可查看:lib/css/src/properties.c
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型