Github: https://github.com/acrodata/gui
Website: https://acrodata.github.io/gui/
肝了差不多半个月,终于把官网做好了,其中最难的是如何设计一个能体现 GUI 特性的 DEMO 案例。苦思冥想了四五天,最终做了一个渐变背景的生成器(上图所示),这个小工具可以实现非常复杂的渐变图案,欢迎把玩!
该 GUI 库主要用于低代码平台的组件配置栏,纯 JSON 配置,可以实现任意数据结构的嵌套组合。
CSS 背景可以玩的非常花 😄
评论中很多人把 GUI 和 UI component 搞混了。简单解释一下,GUI 主要的一个用途是将声明式的 options 转换成可交互的界面,比如 threejs 项目中常见的 dat.gui,就是用来调参数的。下面是我知道的比较知名的几个 GUI 项目
https://github.com/dataarts/dat.gui
1
israinbow 2023-11-17 01:26:59 +08:00 2
|
2
ab 2023-11-17 04:28:41 +08:00
漂亮~
|
3
murmur 2023-11-17 08:06:36 +08:00
这不就是 avue 的翻版么,avue 给我们已经整吐了
|
4
leokun 2023-11-17 08:48:03 +08:00
很好,美中不足的是组件太少了
|
7
awesomes 2023-11-17 10:51:52 +08:00
作为公司所谓的低代码受害者,不是杠,低代码的本质就是把写代码变成了写配置,而且还各种不灵活,当然可能有那么一点点用途,但也就那么一点点
|
8
nzbin OP @awesomes 感谢回复,本贴不是讨论低代码的好坏,仅仅是将工作中有价值的 GUI 库开源出来,它也可以用在其它很多地方,至于低代码的成熟度,可以看看 https://webflow.com/
|
10
cheneydog 2023-11-17 11:09:46 +08:00 1
暴赞👍
1. UI 组件 json 化,这个方向我是认同的。不管是低代码,AI 生成,人肉敲,都方便很多。 2. 另外希望看到,如何在其他框架的工程中,最简单的引用和混用,毕竟组件量不够。 3. 建议开放自定义组件接口,可以自己扩展组件库。使用方式保持 json 统一格式。 |
11
nzbin OP @murmur
https://github.com/dataarts/dat.gui https://github.com/cocopon/tweakpane https://github.com/pmndrs/leva 要不你先看看 GUI 主要用来干啥再来评论,怎么还封装表格 [头秃] |
12
murmur 2023-11-17 11:17:25 +08:00
@nzbin 只能说你跟实际开发脱节了,开发不需要什么 GUI ,就是要强大的组件库,组件要有,业务封装要有,基本的样式也要说得过去,甚至还要考虑多个组件使用的间距排布,你提供不了我就用别家,人家可以提供。
然后你第二个例子是一个属性对话框组件( settings ? properties ?),但是你没封装到这个级别,你只有最基本的组件 |
13
murmur 2023-11-17 11:26:27 +08:00
我举个最简单的例子,你就算作为属性对话框,文本框连校验的功能都没提供,那我在用的时候不是属性值想输多长就输多长
|
14
nzbin OP @murmur 这个是从实际项目中开源出来的,它是个 GUI 库,不是组件库,你需要组件库可以忽略这个帖子,感谢你的评论😊
|
15
nzbin OP @cheneydog
1. UI 组件 json 化早就不新鲜了,很多表单库都支持 json schema 配置,但是那些库拿来做配置项的 GUI 还是太繁琐,这也是我写这个库的目的 2. 该项目基于 Angular Reactive Form 构建,核心代码也就 200 来行,其它框架的话实现难度非常大,有一种可能是封装成 web component 供其它框架使用 3. 后面有时间会研究一下自定义控件,但是有可能会违背轻量级的原则 |
16
maggch97 2023-11-17 12:40:18 +08:00
一个观点,如果 gpt 是未来,那定义各种配置的低代码毫无意义,因为 gpt 有大量的通用代码数据学习,但是你的配置文件可能都不在他的数据集里面
|
17
nzbin OP @maggch97 重申一下,本贴不是来讨论低代码的[捂脸],感兴趣的话可以看看 https://www.framer.com/ 和 https://webflow.com/ ,这些平台也支持 AIGC ,怎么会没有意义呢?
|