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

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

  •  2
     
  •   nzbin ·
    nzbin · 162 天前 · 2980 次点击
    这是一个创建于 162 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    第 1 条附言  ·  162 天前

    CSS 背景可以玩的非常花 😄

    第 2 条附言  ·  162 天前

    评论中很多人把 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  
       162 天前   ❤️ 2


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

    然后你第二个例子是一个属性对话框组件( settings ? properties ?),但是你没封装到这个级别,你只有最基本的组件
    murmur
        13
    murmur  
       162 天前
    我举个最简单的例子,你就算作为属性对话框,文本框连校验的功能都没提供,那我在用的时候不是属性值想输多长就输多长
    nzbin
        14
    nzbin  
    OP
       162 天前
    @murmur 这个是从实际项目中开源出来的,它是个 GUI 库,不是组件库,你需要组件库可以忽略这个帖子,感谢你的评论😊
    nzbin
        15
    nzbin  
    OP
       162 天前
    @cheneydog
    1. UI 组件 json 化早就不新鲜了,很多表单库都支持 json schema 配置,但是那些库拿来做配置项的 GUI 还是太繁琐,这也是我写这个库的目的
    2. 该项目基于 Angular Reactive Form 构建,核心代码也就 200 来行,其它框架的话实现难度非常大,有一种可能是封装成 web component 供其它框架使用
    3. 后面有时间会研究一下自定义控件,但是有可能会违背轻量级的原则
    maggch97
        16
    maggch97  
       162 天前
    一个观点,如果 gpt 是未来,那定义各种配置的低代码毫无意义,因为 gpt 有大量的通用代码数据学习,但是你的配置文件可能都不在他的数据集里面
    nzbin
        17
    nzbin  
    OP
       162 天前
    @maggch97 重申一下,本贴不是来讨论低代码的[捂脸],感兴趣的话可以看看 https://www.framer.com/https://webflow.com/ ,这些平台也支持 AIGC ,怎么会没有意义呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2819 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:01 · PVG 18:01 · LAX 03:01 · JFK 06:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.