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

做了个代码生成器,邀请各位使用参与

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

    懒农

       我开发了一款为只懂得一般电脑操作的人设计的代码生成器懒农,经过前一段时间推广,根据一些用户意见对功能做了修改,目前已更新发布新版,欢迎各位试用反馈。

    📦 ️ 客户端下载地址

    客户端百度云链接 提取码:yrxi

    客户端蓝奏云链接 密码:6s7q

    客户端阿里云盘链接

    ☯ ️ 项目开源地址 (附有简要使用说明和联系方式)

    github gitee 🤭希望各位可以点个小星星支持一下

    介绍

       懒农是一款代码生成器,可以通过该软件的可视化操作,快速生成一些不太复杂的应用程序代码

    STM32 示例

       如上图示例,通过懒农,可以生成一些功能不太复杂的硬件电路控制程序的代码(开源地址有介绍)

    微信公众号示例

       又或者,通过懒农,可以生成简易的微信公众号程序的代码。当然,功能肯定不止这些。

    实时生成代码

       软件会根据用户的操作实时生成或者调整代码。

    生成思路

       相比于其他的代码生成器,懒农生成代码的思路有点特殊,实际上,懒农这款软件并不生成代码,实际上,它依赖于数据文件。

    示例数据源

       前面示例动图中实现的效果,是作者事先使用懒农制作了 2 个对应的数据文件,用户只要导入对应数据文件,便可使用该数据文件通过懒农的可视化功能生成代码。同样,要通过懒农生成其他代码,需要开发者根据特定应用场景制作对应的数据文件,用户只需导入这些数据文件,即可通过可视化界面生成代码。

    用途介绍

       看到这里,可能不少人对懒农这种生成代码的方式嗤之以鼻,因为通过这种方式没法应用到复杂的开发工作,只能生成一些简单的代码,而且现在 chatgpt 等生成式 ai 都出来了,对于这些简单的功能,直接用 chatgpt 等工具生成就好。

       确实,懒农这种生成代码的方式,是没法生成复杂的代码,因为它从一开始,就是为了能让没有太多编程技能的用户,生成自己需要的一些简单的代码而设计的。

       有时候,我们遇到一些繁琐的机械化工作,完全可以通过程序来代替。这些程序通常不需要复杂的逻辑,只需实现简单功能以满足实际需求。然而,这类程序并没有太大的经济价值,用户基本也不会为它花费过多的费用,而且如果通过像以往通过用户和开发者进行沟通的方式来进行定制化开发制作,也容易出现由于沟通或者理解不清楚而带来成品最终效果无法满足实际需求等情况。

       再举个例子,某些主流短视频平台上有一些自媒体,他们通过发布一些电子制作项目的效果展示视频,吸引一些具有一定能力的电子制作业余爱好者,这类用户只需要支付一定费用,这类自媒体便将实现整理好的,对应项目的复刻步骤文档、代码等文件给用户,并提供一定的售后服务,让用户自行进行搭建环境,编译烧录等工作,复刻对应项目,有些项目还有对应的工具可以帮助快速完成这个过程中的一些工作。

       此外,网上也有些电子设计爱好者,做了一些较有创意的、有意思的项目,他们将这些项目开源并把资料上传到某些平台,或者通过短视频等方式在主流网络平台上进行分享,吸引了到一些粉丝对其项目进行复刻,或者根据自己的需要和能力,一定程度上进行二次改造。

       而懒农这样的代码生成器,就是针对上面的类似需求或者应用场景而设计的。

       当开发者根据某个项目或者应用场景,使用懒农将其做成数据文件,用户便可以使用该数据文件,通过懒农的可视化操作生成所需要的应用程序;而且,由于数据文件是开发者制作的,对于数据文件生成的代码,其所需环境,以及后续可能需要进行的编译、部署,甚至制作硬件实物等操作,开发者都可以事先预知,并可通过文档以及提供一定售后服务等方式,让用户通过生成源码程序得到最终所需实物;而且,通过使用数据文件生成代码的方式,由于同一个数据文件生成的代码,所需要的环境或者后续要进行的工作,都是高度相似的。这也以为着,当这类需求因此得以聚集,数据文件以及使用数据文件生成代码以后要进行的工作,也有了更进一步的经济价值,从技术上说,再进一步根据后续工作提供更方便高效的服务,例如环境集成等,也有了实现的意义和价值。

       而且,由于目前嵌入式领域的板级硬件技术随着行业的发展,早已实现模块化和集成化;另外软件方面随着众多软件第三方服务的出现,以及各种可视化生成工具还有开源框架等的出现,不管是硬件还是单纯的软件应用程序,在进一步降低实现成本这方面,早已有实现的条件和可能。

       而当大量不同的编程语言、应用场景、技术领域的数据文件等得以聚集,很多实际需要的、功能简单的需求也因此大面积得到覆盖,从技术角度而言,再进一步通过用户所需实现的功能,来快速匹配到所需要的数据文件,并使用数据文件,通过懒农的可视化操作生成代码,或者根据不同的应用场景,结合其他可视化代码生成工具以及使用 AI 等技术实现更为丰富的效果,也有了实现的意义和价值。

       作者通过懒农所想要实现的,不仅仅是这个软件所表现的可视化生成简易程序的效果,而是希望可以以这个软件作为起点,能让更多开发者能关注并参与进来,进行对应的数据文件的制作以及对软件的持续迭代改进、还有所需配套环境的建设;通过现有技术等方面的整合和协作方式的改变,让技术得以进一步下沉,使得这类简易的应用程序需求得以快速实现,具备并整合为市场需求并形成经济价值的可能。

    第 1 条附言  ·  271 天前
    • 如果您对懒农这个应用,想要反馈 Bug、提供产品意见,甚至进行迭代优化,欢迎联系作者,或者加群讨论。

    <sub>作者qq:3606515004</sub>

    <sub>作者微信:lanzai2020</sub>

    <sub>qq交流群:893613856</sub>
    40 条回复    2024-04-16 19:48:24 +08:00
    zjsxwc
        1
    zjsxwc  
       271 天前 via Android
    太长不想读,有人来总结下吗?
    forty
        2
    forty  
       271 天前
    以前发过, 我还有印象。
    不过,批评一句 OP 别介意啊,界面还是那么丑,连 LOGO ICON 都丑出天际,哈哈。
    forty
        3
    forty  
       271 天前
    @zjsxwc 你丢给 GPT 总结一下
    LazyCoder0101
        4
    LazyCoder0101  
    OP
       271 天前
    @forty 丑这块我也只能认了,确实没有 UI 设计的天赋,只求有大佬关注并参与我的项目,谢谢还记得我哈
    LazyCoder0101
        5
    LazyCoder0101  
    OP
       271 天前
    我也不想写太长像裹脚布一样,奈何自己文笔有限,而且这软件实现的思路什么确实有点绕,之前解释少了,有时推广上来就有人喷没用,说做开发的用不上这种简单的功能,实际上我也设计时也没把它当开发工具给开发者用啊;或者说 gpt 都出来了,人家一句话就能让大模型生成代码,可按场景懒农也不至于和 gpt 完全冲突啊;写多了又有人抱怨不想看,作者我也心里苦啊
    hackyuan
        6
    hackyuan  
       271 天前
    @LazyCoder0101 不是丑不丑,你得先对齐吧
    buyno1
        7
    buyno1  
       271 天前
    我想看一个 把 github 上随便哪个开源的 从最最开始,到最后出来运行结果,
    整个过程,第一步干什么,第二步干什么。。。
    不知道代码生成器能不能实现
    LazyCoder0101
        8
    LazyCoder0101  
    OP
       271 天前
    @buyno1 不好意思,还没理解您想表达的意思,需要的话,可否私聊?
    LazyCoder0101
        9
    LazyCoder0101  
    OP
       271 天前
    @hackyuan 请问软件布局哪里看着没有对齐吗,面板里面显示的文字和组件的布局都是对齐的,只是文字和组件由于高度不同原因,所以看起来没有对齐而已
    ixixi
        10
    ixixi  
       269 天前
    我想知道 你这个项目 变现如何
    LazyCoder0101
        11
    LazyCoder0101  
    OP
       269 天前
    @ixixi 不好意思,还没完全理解你问题想问的重点,需要的话,可否私聊?
    dhb233
        12
    dhb233  
       269 天前
    一眼看起来像是易语言或者 vb 那种东西。。。
    alphat
        13
    alphat  
       269 天前
    "只懂得一般电脑操作的人设计的代码生成器"

    只懂得一般电脑操作的人,拿到生成出来的代码,也不知道怎么用啊
    LazyCoder0101
        14
    LazyCoder0101  
    OP
       269 天前
    @dhb233 这个完全不是易语言或者 vb ,你可以看一下我 github 里面的介绍,这个所谓的代码生成器,生成的思路不涉及任何编程语言,你可以简单理解成,开发者事先写好代码,并且把不同的代码做成功能,做成了数据文件,最终,用户导入数据文件,就可以像搭积木一样操作生成所需代码,当然,这种方式只适合生成一些功能并不复杂的代码,用来降低成本,此外,在后续的规划中,交互方式也不仅仅止于目前这种搭积木一样的生成方式,单一的交互方式不能支持实现更为丰富的效果
    ixixi
        15
    ixixi  
       269 天前
    @LazyCoder0101 #11 就是你做的这玩意挣钱吗 😂 还有啥重点啊
    LazyCoder0101
        16
    LazyCoder0101  
    OP
       269 天前
    @alphat
    这个我有提及,只是之前一直有人说我写的内容太长,不敢详细解释,只懂得一般电脑操作的人,拿到生成出来的代码,确实不知道怎么用,因为这后面会随着不同的编程语言和具体技术,涉及到后续编译、部署等工作,对于只懂得一般电脑操作的人,确实是没法做到的。
    可阁下可以想想,当代码生成以后,其实后面编译部署等工作也就可以确定了,剩下的事情,就是通过这份已经明确的代码,对生成代码进行编译部署等工作;起码这块已经变成一件明确的事情,而且由于通过数据文件生成代码的方式,数据文件的作者是可以事先确定,生成的代码需要搭建什么环境,后续需要进行什么工作的,同一个数据文件生成的代码,后续的工作,有着高度相似的性质。
    这也意味着,数据文件的作者可以通过实现写好操作文档等资料,并提供一定售后服务的方式等引导用户完成(他愿意自己完成也行),这也是我在文中的“用途介绍”里面,提及到那个自媒体和有人想复刻某些电子爱好者开源项目的原因。只是想解释这种方式是可行的,且目前现实中也有相似的例子。
    当然,也由于这原因,目前我所提及的“让只懂得一般电脑操作的人,生成所需出来的代码”这个效果更多是展望,目前只能寄托于项目可以发展起来,让这些需求得以聚集形成经济价值,以让在这个过程中,后续的编译、部署、甚至与像嵌入式这样的做成实物的工作,能因此有更多人参与,在技术和配套上能再进行简化,例如通过实现环境集成等方式,从而逐步降低成本,向我所提及的“让只懂得一般电脑操作的人,生成所需出来的代码”这个方向接近。
    而这,也是我将项目开源推广的原因之一,这项目只有发展起来才有可能实现这个效果。
    uliah
        17
    uliah  
       269 天前
    太长了,我可以理解为 你想用声明式 UI 实现后端?
    按照你说明的 用户-开发者(或厂商)的关系, 做成 saas 可能更合适吧
    交付的时候根据你说的数据文件,导出执行文件安装
    LazyCoder0101
        18
    LazyCoder0101  
    OP
       269 天前
    @ixixi
    这项目真要想开发者通过制作一个能应用到实处的数据文件,并通过用户引用数据文件,生成需要的代码挣钱,从思路上说,还是有一定可行性的。
    我文中所提及到的自媒体,我之前发现的时候,买过他们 2 家的项目资料了解过,当时买他们的资料,我最便宜花了 9 块 9 ,最贵好像就花了 30 块,时间太久忘了,就一两杯奶茶钱,我发现是已经初步形成规模,至少有人愿意付费了。
    我提及他们只是想说明,现实中其实有这种提高极低的边际成本,将这种资料当做商品大量卖给用户,获取价值的方式存在。懒农换个角度说,有点类似是基于软件开发的特殊性,尝试通过使用软件,将这种方式更进一步进行调整,让其更为符合现实情况。
    当然,要想最终让只懂得一般电脑操作的用户也能生成所需的简单的程序,除了开发者要能做出符合实际需求的数据文件外,还需要懒农形成平台,以及相应配套能更进一步进行完善,比如我所提及的,“当大量的数据文件得以聚集,那再进一步,让用户通过表达所需要实现的效果,来匹配到需要的数据文件,再通过该数据文件生成需要的代码”,还有我在上一层所说的,“通过提供环境集成等方式,让后续工作再进一步简化”,以更一步降低门槛向更多用户靠拢,
    挣钱不挣钱,在我理解,说白了就是在这个社会中,满足用户需求,提供所需服务和产品实现价值,获得应得酬劳的事。可需求是可以被整合、发掘和刺激的,我之所以想通过数据文件的方式,除了想降低成本以外,更希望能通过这种方式,将这类对于个人而言没有带来什么太大经济价值的需求,得以通过数据文件的方式,让其不受时间和空间限制得以聚集,而形成需求,并得以整合形成经济价值,从而再尽可能降低中间过程用户的成本让需求得以实现。
    再者,这种协作方式也不是不对数据文件作者带来影响的,试想一下,用户通过某个数据文件实现了所需的功能,也能从实现效果、这个过程的售后服务等,上对该作者的能力等方面有了一定的认知和了解,以后有用户可能真的需要定制开发,再找该作者也不是没有可能啊。
    grimbedroom
        19
    grimbedroom  
       269 天前
    win10 具体版本号没看,安装完后无法打开,已卸载,从蓝奏云下载的
    LazyCoder0101
        20
    LazyCoder0101  
    OP
       269 天前
    @grimbedroom 别装 C 盘,安装路径不要有空格等特殊字符,还有,不要按照默认路径安装!!!
    不是我不想解决这问题,甲骨文那边留下的 bug ,我搞不了,使用问题可以尽管找我
    LazyCoder0101
        21
    LazyCoder0101  
    OP
       269 天前
    @grimbedroom 使用上有不清楚的,不妨加我 qq 或者微信直接问我
    lanten
        22
    lanten  
       268 天前
    搞硬件的佬对 ui 真的是一点追求都没有啊
    LazyCoder0101
        23
    LazyCoder0101  
    OP
       268 天前
    @lanten 见笑了,不是对 UI 没追求,那是真的没有 UI 设计这块的天赋,看过不少设计美观的方案了,没找到可以参照的,这个需求又不是什么常见的购物商城之类的,没法对着人家的设计照搬,曾试过找美工,结果遇人不淑,那美工审美比我还差,只是个搬砖的,挣扎太久最后只能搞成这样了
    forty
        24
    forty  
       267 天前
    @LazyCoder0101 我理解这就是个代码模版配置器,怎么还跟甲骨文扯上了? java? oracle db?
    LazyCoder0101
        25
    LazyCoder0101  
    OP
       267 天前
    @forty 用 java 写的,打成安装包直接使用 java17 的 jpackage 功能,没想到 jpackage 的代码,安装路径直接默认写死 C 盘的某个路径,那个路径还是带有空格的,导致按照默认路径安装直接出错,曾经花了几个月专门研究这问题了,找不到解决办法,也在网上找过用 jpackage 的程序员交流,这问题目前还没想到解决方法,java 现在不都是甲骨文的了嘛
    FarmerChillax
        26
    FarmerChillax  
       265 天前
    个人认为:对普通用户来说门槛太高,对开发人员来说看都不会看一眼
    LazyCoder0101
        27
    LazyCoder0101  
    OP
       265 天前
    @FarmerChillax
    对普通用户门槛提高,一个是因为哪怕以可视化的操作提供给用户,对于一个完全不懂的普通用户来说,有些东西,一时间也难以进行操作,第一时间也不知道如何使用,我帖子里面的 STM32 的示例动图 1 ,里面的芯片引脚就是一个例子;再者是生成代码以后,后续的编译等工作,普通用户难以完成。

    可阁下可以想想,再以 STM32 的示例动图为例,像里面的那些芯片引脚,其实只是让用户稍微理解一下是什么意思,按照实际情况选择一下而已,哪怕真的完全不会,开发者直接事先设置好,然后让用户对此没有任何需求进行更改的话,直接按照开发者默认设置即可。这种提供可视化的操作思路的背后,不是简简单单的把代码逐句翻译成中文,然后让用户再去学习这项技能,而是直接围绕开发者事先设想的某种应用场景,在该场景下,把能提供给用户进行选择或者调整的地方,通过可视化的功能让用户得以通过自己的需要进行局部的个性化调整,这也是这种所谓搭积木的交互方式,适合的场景所在。普通用户只是不会,不是说他们是傻子,连稍微听一下人家说明一下,然后按照自己需要进行选择的理解能力都没有,而且这种方式,从实现方式而言,本身也只能尽可能满足一些功能简单的需求(可以再进行迭代让实满足的需求更进一步),而对于一般用户来说,由于他们不是开发,往往也难以提出一些复杂的功能需求(如果有,那也不应该使用懒农,而是直接找开发定做),当数据文件的数量达到一定程度,是可以很大程度对此类需求进行覆盖,再通过技术上,让用户表达实现自己所需要实现的效果,来匹配到对应的数据文件的。

    至于生成代码以后,后续的编译等工作,确实对于普通用户来说难以进行,这也是我将项目开源并且推动的原因之一,当代码生成以后,后续的工作,由于代码的确定,很大程度已经是一件明确的事情,而且由于数据文件的原因,同一个数据文件生成的代码,后续的工作相似性较高,如果能提供环境整合等服务,可以进一步降低门槛,让更多的普通用户可以得以普及。

    对于开发人员看都不看一眼的问题,那纯粹是开发人员想把懒农当做提高效率的开发工具来用,才会有这种想法,懒农从设计开始,本来就不是作为开发工具使用的,对于开发人员而言,懒农能发展起来的话,它更多可能是作为像一个给开发人员通过自己的技能知识,还有项目等作为对外展示自己的渠道,或者说提供了一种高复用、边际成本极低的方式,来通过满足普通用户对一些功能简单的需求的快速实现,来创造经济价值的一个工具而已。
    gamexg
        28
    gamexg  
       265 天前
    面对程序员,这个用处感觉不大

    但是,对应游戏脚本,感觉会很有用.
    有些游戏允许用户创建地图写脚本,或者游戏私服写脚本
    这个东西应该会有客户使用,甚至收费都没大问题
    LazyCoder0101
        29
    LazyCoder0101  
    OP
       265 天前
    @gamexg 这个方向我还没有想过,阁下可否私聊交流一下,我想找看看能不能找某些游戏,有写脚本对外发布的玩家让他们试试看能否使用懒农
    LazyCoder0101
        30
    LazyCoder0101  
    OP
       265 天前
    @gamexg 面对程序员,如果说程序员用户的需求,确实仅是停留在提高自己开发工作效率这个层面上,说实话,我自己也觉得用处不大,但如果是针对某些能应用到实处的小的不能再小的项目,需要用户可以根据自身实际需求,快速进行更改,还是有用途的(当然,目前在这块的实际应用场景,我更多只在嵌入式这块发现此类需求,像 web 服务这块,也找人探讨过,暂时没发现什么实际的应用场景,最接近的暂时也就发现后端有时候工作需要快速灵活配置某些模版之类的)
    maolon
        31
    maolon  
       264 天前 via Android
    主要是如果面向普通用户,这个 ui 和 ux 像来自于 2010 年左右的软件,大量的功能堆叠在一个界面上,太多的选择框,第一印象就很差。或者说根本没有用户引导,让人不知道该怎么用。
    现在的用户不是当年还会去读说明文档的用户了,一点负反馈就下一个软件见
    forty
        32
    forty  
       264 天前
    个人觉得,面向不懂编程的普通用户的问题在于,他们不懂调试和编译,而这个工具设置完并不能直接看到运行效果,如果能够解决这点,并且界面优化好,还是有市场的。
    对于程序员用户,他们有一大堆强大的工具,用这个工具改源代码,好像没吸引力。

    界面整个都比较丑,交互流程也不是很好,但对于需要用它的人而言,丑也是可以接受的。

    大块橙色背景,不如去掉,要用背景色的话,黑白灰就行了。
    LazyCoder0101
        33
    LazyCoder0101  
    OP
       263 天前
    @forty 谢谢支持,那个橙色面板不是背景,是当前添加的面板,麻烦把第一个动图全部看完,里面有些有省略号的按钮,点击以后会展开面板,展开后,那个面板可能会显示橙色,哪个面板是橙色,添加的功能就会添加到对应位置,然后可以通过中间那块的文字描述,知道整个程序的意思,并通过这种方式无限嵌套组合成业务功能
    7VO54YYGvw3LOF9U
        34
    7VO54YYGvw3LOF9U  
       263 天前 via iPhone
    @zjsxwc 宣传上太多了,可以联想到产品一定不好用,侧重点不对
    7VO54YYGvw3LOF9U
        35
    7VO54YYGvw3LOF9U  
       263 天前 via iPhone
    可以简洁些,你的产品不是一个用户的全部
    LazyCoder0101
        36
    LazyCoder0101  
    OP
       263 天前
    @hugi 如果写的简洁,解释不清楚,又会有人下意识的认为这个代码生成器是给开发者提供的开发工具,直接说这种搭积木一样的工具没有任何作用,或者普通用户根本不会去使用之类的,写的太长又有人嫌弃啰嗦,作者我也绝望不会改啊
    stinkytofu
        37
    stinkytofu  
       262 天前
    javafx 写出来的默认界面比你这个好看的多, 而且 jpackage 配合 jlink 一行命令就可以打包出 zip , 解压就能用, 根本不存在你说的什么安装路径问题。

    最重要的是你这个代码生成器根本不需要写成客户端, 完全可以用 WEB 页面去设计。

    直接明说吧, 这个破玩意就是一个垃圾, 设计垃圾, 开发垃圾,UI 垃圾, 连思路都是垃圾, 不要再浪费时间了。
    LazyCoder0101
        38
    LazyCoder0101  
    OP
       262 天前
    @stinkytofu 采用安装包的方式,是因为用懒农生成的源码文件,是和懒农的项目文件放在一起的,项目文件有个快捷方式,可以像 IDE 项目一样,点击直接就可以打开懒农,还原上一次的代码生成界面(如果电脑上安装了懒农),直接解压实现不了这功能。
    sworld233
        39
    sworld233  
       257 天前
    兄啊,这已经不是“没有 UI 设计这块的天赋”的问题了,你这是完全没在 UI 上下功夫啊,软件左边和右边分开我都看不出来是同一个软件,这种问题可以通过学习入门的设计就能解决
    功能怎么样楼上大佬说的已经很多了,我就不妄加评价了,但是对于“只懂得一般电脑操作的人”来说,可能会比我们更加惧怕界面繁杂、不美观的软件,我想 op 确实是可以加强一下 UI 设计的
    forty
        40
    forty  
       254 天前
    @LazyCoder0101 我说的是你这个橙色背景, 甭管它是哪个窗口或面板的背景色。你可以多参考一下其它成熟软件怎么处理这种交互的。

    有很多软件是这样的,直接解压,运行 exe 之后,提供设置选项,让你勾选是否关联文件类型,并不是只有安装包才能做啊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4447 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 05:35 · PVG 13:35 · LAX 21:35 · JFK 00:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.