起码在 Web 后端开发这个领域,
比起 Express、Egg 等 Node.js 快速开发框架,
Java 用 APIJSON 开发效率都是默秒全。
APIJSON 用 SpringBoot 提供了自动化 API,
自动将前端传的 JSON 参数转为 SQL 语句执行并返回结果,
期间自动校验权限、结构、内容,自动防 SQL 注入,
提供自动化的各种JOIN(INNER, LEFT, RIGHT等),
还支持多字段排序order by,多字段分组group by,聚合函数having
等几乎所有MySQL的常规功能。
通过自动化 API,前端可以定制任何数据、任何结构!
大部分 HTTP 请求后端再也不用写接口了,更不用写文档了!
前端再也不用和后端沟通接口或文档问题了!再也不会被文档各种错误坑了!
后端再也不用为了兼容旧接口写新版接口和文档了!再也不会被前端随时随地没完没了地烦了!
在线解析:
自动生成文档,清晰可读永远最新
自动生成请求代码,支持 Android 和 iOS
自动生成 JavaBean 文件,一键下载
自动管理与测试接口用例,一键共享
自动校验与格式化 JSON,支持高亮和收展
对于前端:
不用再向后端催接口、求文档
数据和结构完全定制,要啥有啥
看请求知结果,所求即所得
可一次获取任何数据、任何结构
能去除重复数据,节省流量提高速度
对于后端:
提供通用接口,大部分 API 不用再写
自动生成文档,不用再编写和维护
自动校验权限、自动管理版本、自动防 SQL 注入
开放 API 无需划分版本,始终保持兼容
支持增删改查、模糊搜索、正则匹配、远程函数等
后端接口和文档自动化,前端(客户端) 定制返回 JSON 的数据和结构!
创作不易,GitHub 右上角点 Star 支持下吧,谢谢^_^
Node 的开发效率是不是比 Java 高,这个问题没头没脑,基本上是没法回答的。因为影响因素太多。举个扯淡的例子,一个写了好多年外包 Java 项目的人累觉不爱,换了 node 来做自己的 side project,精神亢奋,效率大增……
所以我只解释一下问题描述里题主的疑问:
关于动态:这一点很奇怪,除非是小项目,稍微上规模的项目js动态的便利性就变成了心智负担。
我个人确实也更倾向于大型项目最好用静态类型语言,不过注意两个事情:
关于啰嗦:Java经常被诟病语法啰嗦,其实由于Java的ide过于逆天,很多代码都被模版和代码提示自动化了
啰嗦不单是对写代码,更影响读代码。IDE通常只对前者有帮助。
这下面的答案都是些什么东西啊……
首先Node.JS不一定非要用动态类型的JS啊,也有人用TypeScript来写不是吗?
再说了,比起静态类型检查更重要的是模块化,组件化,这个问题JS已经解决了。
而Java啰嗦是语法上的硬伤,这和IDE有什么关系?你IDE再牛逼能在Java7以及之前的版本里面变出匿名方法或者说lambda表达式出来?没有lambda表达式IDE再牛逼生成出来的代码也是屎一坨啊,属性get/set万年梗,感情十多年过去了你们就会这么一个梗啊?
就像没有async/await(以及yield/generator/coroutine等),再牛逼的IDE不还是要生成屎一样的callback嵌套或者是眼花缭乱的状态机跳转?
说白了开发效率这玩意儿是拼库的,但是Java的库,讲老实话很多东西被这个语言拖累了,风格上也是以重型化框架化为主,这种惯性一时半会儿也是转不过来的。就像C#引入DLR这么久了,用dynamic接口的,把dynamic用得好的库也没几个。
JavaScript没有这么多包袱啊,虽然语言坑多,但是这个语言本身其一是非常灵活的脚本语言,其二对轻量库的开发者而言很友好。没有强类型检查意味着语法上的限制更少,而且很重要的一点对闭包的支持非常完整(这个Java一直到Java 8都没有很好的支持,真是垃圾)。JS之父虽然是随手搞出来的这个语言导致留下了一堆坑,但很明智的一点是让JavaScript更多的吸取了函数式的语法规则,函数式语言的一个特点就是规则简单而组合出来的功能强大。像C#这种强类型的C-like语言,估摸着单单是方法重载和调度规则那一章的长度就足够把整个JS的语法说清楚(不包括后来的版本发展),而写完了之后,还能在剩下的空白处把JSON的语法规则塞进去。