一款专为低代码平台打造的轻量级 GUI 库,欢迎围观! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
nzbin
V2EX    分享创造

一款专为低代码平台打造的轻量级 GUI 库,欢迎围观!

  •  2
     
  •   nzbin
    nzbin 2023-11-17 00:29:18 +08:00 3907 次点击
    这是一个创建于 739 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Github: https://github.com/acrodata/gui

    Website: https://acrodata.github.io/gui/

    肝了差不多半个月,终于把官网做好了,其中最难的是如何设计一个能体现 GUI 特性的 DEMO 案例。苦思冥想了四五天,最终做了一个渐变背景的生成器(上图所示),这个小工具可以实现非常复杂的渐变图案,欢迎把玩!

    该 GUI 库主要用于低代码平台的组件配置栏,纯 JSON 配置,可以实现任意数据结构的嵌套组合。

    第 1 条附言    2023-11-17 09:56:17 +08:00

    CSS 背景可以玩的非常花

    第 2 条附言    2023-11-17 16:55:36 +08:00

    评论中很多人把 GUI 和 UI component 搞混了。简单解释一下,GUI 主要的一个用途是将声明式的 options 转换成可交互的界面,比如 threejs 项目中常见的 dat.gui,就是用来调参数的。下面是我知道的比较知名的几个 GUI 项目

    https://github.com/dataarts/dat.gui

    https://github.com/cocopon/tweakpane

    https://github.com/pmndrs/leva

    17 条回复    2023-11-17 13:17:50 +08:00
    israinbow
        1
    israinbow  
       2023-11-17 01:26:59 +08:00   2


    挺好看的, 支持一下
    ab
        2
    ab  
       2023-11-17 04:28:41 +08:00
    漂亮~
    murmur
        3
    murmur  
       2023-11-17 08:06:36 +08:00
    这不就是 avue 的翻版么,avue 给我们已经整吐了
    leokun
        4
    leokun  
       2023-11-17 08:48:03 +08:00
    很好,美中不足的是组件太少了
    nzbin
        5
    nzbin  
    OP
       2023-11-17 09:23:28 +08:00
    /div>
    @murmur 硬杠的话,它和所有的动态表单也都是一样的
    nzbin
        6
    nzbin  
    OP
       2023-11-17 09:24:37 +08:00
    @leokun 不多,但是目前的组件已经可以生成任意数据结构了,核心还是 GUI 控件
    awesomes
        7
    awesomes  
       2023-11-17 10:51:52 +08:00
    作为公司所谓的低代码受害者,不是杠,低代码的本质就是把写代码变成了写配置,而且还各种不灵活,当然可能有那么一点点用途,但也就那么一点点
    nzbin
        8
    nzbin  
    OP
       2023-11-17 10:59:53 +08:00
    @awesomes 感谢回复,本贴不是讨论低代码的好坏,仅仅是将工作中有价值的 GUI 库开源出来,它也可以用在其它很多地方,至于低代码的成熟度,可以看看 https://webflow.com/
    murmur
        9
    murmur  
       2023-11-17 11:02:35 +08:00
    @nzbin 但是你这个库照着 avue 差太多啊,企业开发中的 table 和 form 都没有封装,和裸 ui 没区别了
    cheneydog
        10
    cheneydog  
       2023-11-17 11:09:46 +08:00   1
    暴赞
    1. UI 组件 json 化,这个方向我是认同的。不管是低代码,AI 生成,人肉敲,都方便很多。
    2. 另外希望看到,如何在其他框架的工程中,最简单的引用和混用,毕竟组件量不够。
    3. 建议开放自定义组件接口,可以自己扩展组件库。使用方式保持 json 统一格式。
    nzbin
        11
    nzbin  
    OP
       2023-11-17 11:13:23 +08:00
    @murmur
    https://github.com/dataarts/dat.gui
    https://github.com/cocopon/tweakpane
    https://github.com/pmndrs/leva
    要不你先看看 GUI 主要用来干啥再来评论,怎么还封装表格 [头秃]
    murmur
        12
    murmur  
       2023-11-17 11:17:25 +08:00
    @nzbin 只能说你跟实际开发脱节了,开发不需要什么 GUI ,就是要强大的组件库,组件要有,业务封装要有,基本的样式也要说得过去,甚至还要考虑多个组件使用的间距排布,你提供不了我就用别家,人家可以提供。

    然后你第二个例子是一个属性对话框组件( settings ? properties ?),但是你没封装到这个级别,你只有最基本的组件
    murmur
        13
    murmur  
       2023-11-17 11:26:27 +08:00
    我举个最简单的例子,你就算作为属性对话框,文本框连校验的功能都没提供,那我在用的时候不是属性值想输多长就输多长
    nzbin
        14
    nzbin  
    OP
       2023-11-17 11:27:09 +08:00
    @murmur 这个是从实际项目中开源出来的,它是个 GUI 库,不是组件库,你需要组件库可以忽略这个帖子,感谢你的评论
    nzbin
        15
    nzbin  
    OP
       2023-11-17 12:31:50 +08:00
    @cheneydog
    1. UI 组件 json 化早就不新鲜了,很多表单库都支持 json schema 配置,但是那些库拿来做配置项的 GUI 还是太繁琐,这也是我写这个库的目的
    2. 该项目基于 Angular Reactive Form 构建,核心代码也就 200 来行,其它框架的话实现难度非常大,有一种可能是封装成 web component 供其它框架使用
    3. 后面有时间会研究一下自定义控件,但是有可能会违背轻量级的原则
    penzi
        16
    penzi  
       2023-11-17 12:40:18 +08:00
    一个观点,如果 gpt 是未来,那定义各种配置的低代码毫无意义,因为 gpt 有大量的通用代码数据学习,但是你的配置文件可能都不在他的数据集里面
    nzbin
        17
    nzbin  
    OP
       2023-11-17 13:17:50 +08:00
    @maggch97 重申一下,本贴不是来讨论低代码的[捂脸],感兴趣的话可以看看 https://www.framer.com/https://webflow.com/ ,这些平台也支持 AIGC ,怎么会没有意义呢?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3119 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 12:37 PVG 20:37 LAX 04:37 JFK 07:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86