V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
nzbin
V2EX  ›  分享创造

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

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

    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
    @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. 后面有时间会研究一下自定义控件,但是有可能会违背轻量级的原则
    maggch97
        16
    maggch97  
       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   ·   实用小工具   ·   5492 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 01:52 · PVG 09:52 · LAX 17:52 · JFK 20:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.