如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
https://www.v2ex.com/solana
myidea
V2EX  ›  推广

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

  •  5
     
  •   myidea · Nov 12, 2018 · 7316 views
    This topic created in 2921 days ago, the information mentioned may be changed or developed.

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

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

    我还希望:

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

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

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

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

    当选择代码生成的时候,说明这些代码是重复性的信息量很小的代码,甚至不应该进入版本管理仓库
    RYAN0UP
    RYAN0UP
    Nov 13, 2018 via Android❤️1
    9
    不得不说,很赞
    zjsxwc
    zjsxwc
    Nov 13, 2018❤️2
    10
    不太看好。。

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

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

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

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

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

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