写程序多,面对工作中重复的 CRUD,我一直希望能有一个代码生成工具(开发助理),可以帮我:
自动生成 CRUD 类的 PC 端 web 完整功能代码 自动生成 CRUD 类的 rest 接口代码(和文档) 自动生成 CRUD 类的移动端 web 代码 自动生成 Excel 导入导出类的完整功能代码 自动生成简单统计图表类的完整功能代码 方便的维护数据库表结构及关联关系 当数据表及关联变化时自动帮我同步修改对应代码
我还希望:
她生成的代码是高质量的,基于主流技术框架的,UI 是美观的 她在生成功能代码前最好可以让我实时预览生成效果 她是灵活的插件,按需启用,不侵入我的代码
没有一个轮子是我们想要的,所以我们造了她: Diboot Devtools 开发助理 ( https://www.diboot.com) 。 有了她,你可以脱离重复的工作,专注于业务,提高开发质量和效率。
历经两年的匠心打磨终于实现了初期的规划目标,今起正式上线试运行,您如何看待这样一个工具,欢迎各位 V 友留下您的宝贵建议,更欢迎有人愿意做我们的种子用户。
1 AllOfMe 2018-11-12 23:14:53 +08:00 ![]() 只能和 MySQL 捆绑吗?是否有支持 PostgreSQL、Oracle 这一类的数据库呢? |
3 jin7 2018-11-13 00:14:23 +08:00 ![]() 不错 |
![]() | 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 ![]() 这么大岁数了,怎么还是 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 ![]() 代码生成是不合时宜的,比较合理的做法是:元编程,设计 DSL 当选择代码生成的时候,说明这些代码是重复性的信息量很小的代码,甚至不应该进入版本管理仓库 |
![]() | 9 RYAN0UP 2018-11-13 07:59:48 +08:00 via Android ![]() 不得不说,很赞 |
![]() | 10 zjsxwc 2018-11-13 08:35:21 +08:00 ![]() 不太看好。。 - 大部分 web 框架都能生成 crud - 也有不少专门干 crud 的框架,比如 sonata admin 抽象出了不少用于自动 crud 的概念 - 每个公司都有自己的架构想引入楼主的框架比较难吧 |
![]() | 12 passerbytiny 2018-11-13 08:47:46 +08:00 ![]() |
![]() | 13 wbrobot 2018-11-13 08:47:54 +08:00 你能开发个 php 版的我就用! |
![]() | 15 sagaxu 2018-11-13 08:55:35 +08:00 via Android 没有 crud 需求 |
![]() | 16 ldbmcs 2018-11-13 08:56:03 +08:00 ![]() 点击生成初始项目,填写了参数之后,点击提交,居然没得任何响应 |
![]() | 17 chocotan 2018-11-13 09:10:35 +08:00 ![]() 支持,正缺这东西 |
![]() | 20 airyland 2018-11-13 09:26:07 +08:00 内部做了个 node 的,数据库主要用 postgres,服务端框架用 eggjs。 |
24 TommyLemon 2018-11-13 09:55:18 +08:00 ![]() @Cbdy @zjsxwc 对的,生成静态代码,那就会有很多不符合业务需求的代码要做二次开发了,而且也基本只能在新需求用。 已经开发过的需求,如果再用新生成的代码覆盖肯定不行,往往因为业务逻辑也不能简单地替换已分散的代码。 貌似真的只有 DSL 才能做到完全自动化了,后端不写代码就能自动化解析前端传的参数。 https://github.com/TommyLemon/APIJSON/ 不过楼主的思考、总结、实践是很值得鼓励的。 |
![]() | 25 bk201 2018-11-13 09:57:40 +08:00 ![]() 这类东西太多了,其实真正需要的是组件化的产品,前端框架,后端框架等等都可以轻易替换的,而不是全家桶 |
26 TommyLemon 2018-11-13 09:59:18 +08:00 |
![]() | 27 dany813 2018-11-13 10:01:21 +08:00 ![]() 看起来很不错 |
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 OP @Cbdy @TommyLemon 同意你的观点,完全的自动化要做再往上一层的抽象,接口换成类似 GraphQL 的实现,这个是我们下一步想做的。目前的自动生成和修改静态代码方案是给开发者的工具,让多数企业里的 Java 开发者能够掌控的这个方案。 @TommyLemon APIJSON 也是类似 GraphQL 的实现方案吧,我们可以深入交流一下 :) |
![]() | 31 myidea OP @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 MOD PRO @passerbytiny 谢谢举报。已经移动到 /go/promotions |
35 looseChen 2018-11-13 13:13:50 +08:00 ![]() 很 nice,ui 也喜欢 |
36 looseChen 2018-11-13 13:14:38 +08:00 很好奇你们开发人员如何读这个 diboot ?! |