首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  推广

脱离 CRUD,我希望有一个开发助理

  •  5
     
  •   myidea · 2018-11-12 23:10:43 +08:00 · 4136 次点击
    这是一个创建于 390 天前的主题,其中的信息可能已经有所发展或是发生改变。

    写程序多年,面对工作中重复的 CRUD,我一直希望能有一个代码生成工具(开发助理),可以帮我:

    自动生成 CRUD 类的 PC 端 web 完整功能代码
    自动生成 CRUD 类的 rest 接口代码(和文档)
    自动生成 CRUD 类的移动端 web 代码
    自动生成 Excel 导入导出类的完整功能代码
    自动生成简单统计图表类的完整功能代码
    方便的维护数据库表结构及关联关系
    当数据表及关联变化时自动帮我同步修改对应代码
    

    我还希望:

    她生成的代码是高质量的,基于主流技术框架的,UI 是美观的
    她在生成功能代码前最好可以让我实时预览生成效果
    她是灵活的插件,按需启用,不侵入我的代码
    

    没有一个轮子是我们想要的,所以我们造了她: Diboot Devtools 开发助理 ( https://www.diboot.com) 。 有了她,你可以脱离重复的工作,专注于业务,提高开发质量和效率。

    历经两年的匠心打磨终于实现了初期的规划目标,今起正式上线试运行,您如何看待这样一个工具,欢迎各位 V 友留下您的宝贵建议,更欢迎有人愿意做我们的种子用户。

    37 回复  |  直到 2018-11-13 16:20:26 +08:00
        1
    AllOfMe   2018-11-12 23:14:53 +08:00   ♥ 1
    只能和 MySQL 捆绑吗?是否有支持 PostgreSQL、Oracle 这一类的数据库呢?
        2
    myidea   2018-11-12 23:16:43 +08:00
    @AllOfMe 目前版本仅支持 MySQL,其他数据库后续会支持。
        3
    jin7   2018-11-13 00:14:23 +08:00   ♥ 1
    不错
        4
    jadec0der   2018-11-13 00:30:28 +08:00
    有意思,外包公司?好像很多外包公司都会自己做代码生成平台,通过配置生成系统
        5
    masker   2018-11-13 00:32:02 +08:00 via Android
    好像 yii 框架的脚手架 gii。
        6
    acoin   2018-11-13 01:19:06 +08:00 via Android   ♥ 1
    这么大岁数了,怎么还是 crud😜工作上有运用过 ddd,cqrs 么
        7
    WildCat   2018-11-13 05:31:27 +08:00 via iPhone
    Rails
        8
    Cbdy   2018-11-13 06:51:29 +08:00 via Android   ♥ 1
    代码生成是不合时宜的,比较合理的做法是:元编程,设计 DSL

    当选择代码生成的时候,说明这些代码是重复性的信息量很小的代码,甚至不应该进入版本管理仓库
        9
    RYAN0UP   2018-11-13 07:59:48 +08:00 via Android   ♥ 1
    不得不说,很赞
        10
    zjsxwc   2018-11-13 08:35:21 +08:00   ♥ 2
    不太看好。。

    - 大部分 web 框架都能生成 crud

    - 也有不少专门干 crud 的框架,比如 sonata admin 抽象出了不少用于自动 crud 的概念

    - 每个公司都有自己的架构想引入楼主的框架比较难吧
        11
    masker   2018-11-13 08:39:21 +08:00 via Android
    @zjsxwc 赞同。
        12
    passerbytiny   2018-11-13 08:47:46 +08:00   ♥ 1
    本来还想说“你长得真美”,然后看到了推广。

    @Livid 有人发错节点了,应该分享创造或者推广节点的
        13
    wbrobot   2018-11-13 08:47:54 +08:00
    你能开发个 php 版的我就用!
        14
    zongren   2018-11-13 08:50:58 +08:00
    @acoin 你说的跟 crud 冲突了吗?
        15
    sagaxu   2018-11-13 08:55:35 +08:00 via Android
    没有 crud 需求
        16
    ldbmcs   2018-11-13 08:56:03 +08:00   ♥ 1
    点击生成初始项目,填写了参数之后,点击提交,居然没得任何响应
        17
    chocotan   2018-11-13 09:10:35 +08:00   ♥ 1
    支持,正缺这东西
        18
    myidea   2018-11-13 09:24:45 +08:00
    @masker 是有参照 gii,php 开发挺好的代码生成框架,目前的自动化程度比 gii 要高不少了
        19
    myidea   2018-11-13 09:25:59 +08:00   ♥ 1
    @acoin cqrs 适合分布式的场景,我们目前版本只是单体应用的解决方案,分布式是下一步的规划
        20
    airyland   2018-11-13 09:26:07 +08:00
    内部做了个 node 的,数据库主要用 postgres,服务端框架用 eggjs。
        21
    myidea   2018-11-13 09:27:30 +08:00
    @zjsxwc 已有项目是不建议使用的,引入两个框架反而增加了复杂度,新的项目可以尝试一下
        22
    myidea   2018-11-13 09:28:13 +08:00
    @wbrobot php 有 yii
        23
    myidea   2018-11-13 09:36:20 +08:00
    @ldbmcs 感谢反馈,已修复
        24
    TommyLemon   2018-11-13 09:55:18 +08:00   ♥ 2
    @Cbdy
    @zjsxwc
    对的,生成静态代码,那就会有很多不符合业务需求的代码要做二次开发了,而且也基本只能在新需求用。
    已经开发过的需求,如果再用新生成的代码覆盖肯定不行,往往因为业务逻辑也不能简单地替换已分散的代码。

    貌似真的只有 DSL 才能做到完全自动化了,后端不写代码就能自动化解析前端传的参数。
    https://github.com/TommyLemon/APIJSON/

    不过楼主的思考、总结、实践是很值得鼓励的。
        25
    bk201   2018-11-13 09:57:40 +08:00   ♥ 1
    这类东西太多了,其实真正需要的是组件化的产品,前端框架,后端框架等等都可以轻易替换的,而不是全家桶
        26
    TommyLemon   2018-11-13 09:59:18 +08:00
    @TommyLemon
    这两个功能看起来不错:
    自动生成 Excel 导入导出类的完整功能代码
    自动生成简单统计图表类的完整功能代码
        27
    dany813   2018-11-13 10:01:21 +08:00   ♥ 1
    看起来很不错
        28
    TommyLemon   2018-11-13 10:06:00 +08:00
    @TommyLemon 看了视频,UI 很棒
        29
    TommyLemon   2018-11-13 10:06:14 +08:00
    看了视频,UI 很棒
        30
    myidea   2018-11-13 10:16:50 +08:00
    @Cbdy @TommyLemon 同意你的观点,完全的自动化要做再往上一层的抽象,接口换成类似 GraphQL 的实现,这个是我们下一步想做的。目前的自动生成和修改静态代码方案是给开发者的工具,让多数企业里的 Java 开发者能够掌控的这个方案。
    @TommyLemon APIJSON 也是类似 GraphQL 的实现方案吧,我们可以深入交流一下 :)
        31
    myidea   2018-11-13 10:20:21 +08:00
    @bk201 目前生成代码只依赖我们的一个基础框架,没有框架生成代码相当于没有做任何封装的代码堆积,企业开发或多或多都有自己的封装的,我们的基础框架已经做到了不错的封装。
        32
    mdluo   2018-11-13 10:21:25 +08:00 via iPhone
    看到这个 UI 就已经没有兴趣了,参考一下 graphcool 和 prisma,同样是跟数据库和接口打交道的开源软件商业化产品
        33
    TommyLemon   2018-11-13 10:27:04 +08:00
    @myidea
    GraphQL 只是一个自动合并请求的工具,支持自动过滤字段,但 CRUD 还是得使用者自己实现的。
    两者协议确实比较像,但在 实现过程 和 使用效果 上差别巨大,在 CURD 上 APIJSON 远胜 GraphQL。
    https://juejin.im/post/5ae80edd51882567277433cf
        34
    Livid   V2EX Moderator   2018-11-13 12:22:00 +08:00
    @passerbytiny 谢谢举报。已经移动到 /go/promotions
        35
    looseChen   2018-11-13 13:13:50 +08:00   ♥ 1
    很 nice,ui 也喜欢
        36
    looseChen   2018-11-13 13:14:38 +08:00
    很好奇你们开发人员如何读这个 diboot ?!
        37
    myidea   2018-11-13 16:20:26 +08:00
    @looseChen "嘀 boot" 哈哈
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1796 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 16:17 · PVG 00:17 · LAX 08:17 · JFK 11:17
    ♥ Do have faith in what you're doing.