我思考创造一种替代掉 CURD boys 来提高质量与效率的系统。请问有类似的系统吗?或这个想法可行吗?

2019-12-29 10:23:00 +08:00
 22yune

类似 class 与 jvm 的一种定义模型的规范。想象一下,定义一个 JAVA 对象,用 jvm 解释运行执行业务逻辑,用另一个解释器运行生成前端显示。将这两个解释器合成一个解释器就可以生成前端显示同时能驱动业务逻辑。 class 是一种类比,就像上面想象的形式。如果有一种模型定义规范,将业务的模型定义出来,在上面的前后端一体的解释器下就等于定义了业务系统。 https://www.v2ex.com/t/632780#reply11 请查看我前两天的一个提问,这个问题是一个变形。

8942 次点击
所在节点    程序员
89 条回复
flashrick
2019-12-30 08:55:16 +08:00
别的工程都是建立壁垒,只有软件工程:“如果我不会编程,我该怎么编程”
aaronysj
2019-12-30 09:08:27 +08:00
mybatis plus
TomVista
2019-12-30 09:11:24 +08:00
prisma,hasura 这俩库...
LeeSeoung
2019-12-30 10:01:19 +08:00
难的从来都不是 CRUD,而是把需求转成可以落地的实现方案。
rocksolid
2019-12-30 10:09:14 +08:00
一直有人做这个,但是 crud 人人都会,这种不仅增加学习成本,对于复杂业务逻辑也是难于普通 crud
22yune
2019-12-30 10:11:00 +08:00
@luozic 感谢回复!
模型变化是常规场景。如果对模型定义的规范抽象出来了,对模型的定义肯定在这个范围内,变化也是定义过程。‘解释器’ 如果是通过生成代码再通过代码对应的解释器运行的话,代码要再生成一遍,就像 java 写的类修改后要重新编译一样。
mauve
2019-12-30 10:25:32 +08:00
不写 Java,不太懂楼主写的
但说到不用 CRUD,我有一个发现:
JAM Stack

### A modern architecture —
Create fast and secure sites and dynamic apps with JavaScript, APIs, and prerendered Markup, served without web servers.

Headless CMS 配合 Static Site Generator ( SSG,eg:Hugo Gatsby Nuxt.js Next.js Hexo …… )
使用 SSG 生成静态页面,使用 CDN 分发,然后配合 Headless CMS 进行 CRUD 及权限验证,国外已经非常多,但国内几乎没有
随之衍生的有 Headless E-commerce
国内的很少很少,我知道就只有一个 nike 官网 https://www.nike.com/cn/

Keyword:JAM Stack,Headless CMS,SSG
noreplay
2019-12-30 10:28:20 +08:00
labView?
stormgo
2019-12-30 10:34:06 +08:00
不知道你有没有用过 python 的 Django 框架,他的 admin 界面就是你定义一个 model 生成对应的前端界面已经后端自动增删查改,但是用的多你会发现用户要的不是一个功能强大的增删查改,耳塞基于这个数据模型下的各种实际业务开发,所以我觉得你的想法是好的,但是用户要的远远不是单一的 CRUD 能够解决的,而是切合实际业务开发的各种组合
neilq
2019-12-30 10:57:41 +08:00
如果有这种模型,那么定义模型就替代了编写 crud,model boy 替代了 crud boy,只不过是 crud boy 换了个语言
22yune
2019-12-30 11:19:50 +08:00
@stormgo
部分 v2er 好像有些误解。我们现在是用业务模型描述业务。我思考的是‘一种模型定义规范‘,用于描述业务模型的,不是描述业务的。需求的是抽象描述业务模型的语义。你说的情况就是现在大部分的情况——定义一个数据模型,真正的业务逻辑用各种其他语言实现的(如 java、Python )。我希望设计一种通用的业务模型定义的规范(或语言)(带业务逻辑的)。基于这个规范定义的业务模型,就可以用不同的前端、后端技术去解释模型。绝大部分的情况基于规范就可以有默认的解释,应该要支持调整。现在的语言,语义都是确定的。这个业务模型定义语言我希望是抽象的形式(比如包含、主从),可以用多重语义(现在是前端显示与后端逻辑)。 看了上面回复列出的各种已有产品(都是同一种意图,可能真是在寻找银弹)不太成功的现状。我有点怀疑这种定义业务模型的语言是否能抽象出来或抽象出来是否有意义(支持简单情况的抽象是可以的,支持上面说的低代码开发平台 通用化)。
MPS 还在了解,感觉对这个问题有帮助。
xuyang2
2019-12-30 11:55:53 +08:00
MuleSoft 了解一下
hantsy
2019-12-30 12:06:54 +08:00
Jetbrains MPS 感觉是语言语法分析的吧,这类工具很多,JavaCC,ANTLR(Hibernate 的 HQL 是这个分析的,以前看过一部分源代码 ,现在好久没关注了,不知道有没有换)。

我个人以前试过 JavaCC,以前对 NetBeans 插件开发感兴趣,NetBeans 语法分析支持 JavaCC 和 ANTLR,写插件如果要加入新语言的时候首先就是分析语法。不过现在好久没关注这些了。

以上这些都是静态分析,现在 Eclipse 的 Language server protocol 好像都是支持运行时分析,不知道怎么回事,VSCode 中有些插件是 Java 语法支持也是用这个。
hantsy
2019-12-30 12:10:41 +08:00
说到 MPS 我想到很多 IDL 语法工具。可以用一种中间语法即 IDL, 生成各种编译语言模型( java, js, c 等)。
luozic
2019-12-30 12:21:40 +08:00
软件工程要考虑已有部署运维版本的维护问题:已经部署的版本咋更新升级? 或者怎么从新版本降级到老版本,不是重新编译那么简单的事情。 并且现在大部分低代码生成都是 cms,或者都是为了中小规模实践,实际更好的描述是基于数据库编程 or 基于 sql 编程。
hantsy
2019-12-30 12:27:08 +08:00
@luozic 基于数据库 SQL 编程才是悲剧。
luozic
2019-12-30 12:33:52 +08:00
@hantsy 我説的就是現在很多搞生成代碼的就是基於 sql 編程。
zifangsky
2019-12-30 12:47:19 +08:00
我看懂了,其实楼主思考的是如何创造强人工智能,可以根据我们人类给出的需求文档自动写代码那种
stevenkang
2019-12-30 13:56:41 +08:00
@zifangsky 听君一席话 胜读十年书啊!以前包括现在都有这种想法,做一个系统出来不用 CURD,但需求是人出的,要理解需求实现的功能,还是得人来实现,机器不可能完成了。
encro
2019-12-30 14:05:00 +08:00
关键字:低代码,serverless,Fass,Bass。
参考:appwrite,Apigee,firebase,Parse,strapi 等等。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/633251

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX