你喜欢使用 Java 下的哪个 web 框架?

7 天前
 kran
看招聘信息的话,springboot 无处不在,你喜欢它吗?还是有其他的选项?有什么原因/理由?
6669 次点击
所在节点    Java
104 条回复
chuck1in
7 天前
我用的
www.mjga.cc
这个框架


springboot 还好把,我觉得 spring boot 主要是文档写的不太行,很多东西都不写清楚。
Rust2015
7 天前
@chuck1in 那是因为 Java 博大精深
cyningxu
7 天前
springboot 用的最多,其次用过 javalin ,ktor
jeesk
7 天前
先不说功能问题, 论文档, 请教一下哪一家比 spring 系列好的?
jeesk
7 天前
在需要 java 各种生态的条件下, 除非你的后台比 spring 还硬, 否则你写一个 web 框架屁用没有。
国内模仿 springboot 的框架不少吧? 有人用吗?

个人写项目和企业写项目完全是两个东西, 不是神话 apache, spring , 他们拥有一个完全的项目规范, 从代码质量,测试用例,漏洞跟踪, 你个人开发的有吗?连测试用例都没有,你自己写一个框架有个屁用。

再说个人开发现在用 python, node,go 来实现 web server, 甚至用 cloudflare worker 都已经能够完全替代 spring boot 了,spring boot 占有率落后是必然。 不过企业开发还得是大厂背书。
0312birdzhang
7 天前
竟然没看到 jfinal
Terry05
7 天前
曾经在不少项目里用过 jfinal 其实也挺好的
jlkm2010
7 天前
最近在用 solon
liut2016
7 天前
ktor , 特轻量,可以在安卓平台跑
sagaxu
7 天前
@realpg 个人项目 JVM 生态也非常舒适,我用 Kotlin 写后端,少封装几层,开发效率不低于 Python/PHP 。如果用 Go ,倒是能节省一半左右内存,但是要损失一些开发效率,把 map/filter/fold/reduce 写成 for 总是要啰嗦一些。

从 SDK 支持度看,nodejs 和 Go 就首先被排除在外了,很多时候要么用第三方要么自己轮。
微信支付,SDK 官方只支持 Java 、PHP 、Go ,
支付宝,SDK 官方只支持 Java 、PHP 、C#、Python 、Node.js ,Easy 版支持 Java 、C#、PHP 。
mazyi
7 天前
@xuld 写的代码好不好,不是根据代码越少、掌握的概念越少来衡量的。这就是为什么要设计模式的原因。如果你用这样的衡量标准,那么你需要一起否定一下设计模式。因为设计模型才是真正的,增加 10 倍代码量和 10 倍概念的原因。
xuld
7 天前
@mazyi 你可以有你的衡量标准。但请不要试图去证明哪个标准是对的,哪个标准是错的。世上没有绝对的对和绝对的错。
聪明的人,在不同的情况,可能也有不同的标准,而不是认准一套。

作为语言、框架的设计者,只要用户认为我的产品能帮他解决问题、提升效率,那就是硬道理
cheng6563
7 天前
反正别碰异步框架
xuld
7 天前
@mazyi 关于设计模式,我确实是非常反感的。我认为那是把简单的解决问题的方法用哲学的方式去表达。

举个例子:什么是观察者模式
观察者模式是定义了一种一对多的依赖关系,当一个对象的状态发生改变时,其所有依赖者都会收到通知并自动更新。
你需要先创建一个 **Subject**,然后创建一个 **Observer**,然后 **订阅** Observer ,当 Subject 被修改时,需要通知 **Observer**,**Observer** 随后可以做出反应。
如果你是 Java 用户,会觉得上面这段话“小儿科”,
如果你没学过 Java ,很可能觉得这段话莫名其妙。

同样的需求,在我的框架下如何实现?
如果你希望一个对象被修改时执行一个函数,但这个函数不想固定写死。那你可以创建一个变量,变量的值是一个函数,因此它可以和函数一样被调用。

var callback
callback += (obj) => log('传入 1 obj = ', obj) // 串联已有的 callback
callback += (obj) => log('传入 2 obj = ', obj) // 串联已有的 callback
callback(1) // 打印 传入 1 obj =1 传入 2 obj =1
Subfire
7 天前
Helidon
kran
7 天前
@wxw752 与其说是 spring 的生态, 我更倾向于说 java 的生态比较丰富, 围绕注解和配置文件的封装到底是不是好事这值得商榷, 双份文档和打断调试逻辑也是各有见解吧.

带来工资的当然是好框架, 却不能证明不带来工资的是坏框架,哈哈
kran
7 天前
@xuld 我倒是觉得这个未来还比较远, 事实上 AI 对准确性的把握在目前正是弱点吧, 更不要说对业务的准确理解. 有句话说的好, "复杂度不会消失, 只会转移", 虽然这话需要一定的前提, 但你总要有输入才会有输出, 路由/验证/crud, 你总要通过某种途径告知"框架", 自然语言是不保险的, dsl 是另一种复杂度. 关于基建, 我对框架集成, 大多数时候是持否定态度, 暂时说到这, 有兴趣一起交流 icyou@qq.com
kran
7 天前
@zed1018 说说个人看法, 和你相反, 参数验证在路由里才比较奇怪(仅数字那种不算), 参数在直观上应该属于业务的一部分(不完全准确), springboot 在请求处理方法的参数上加验证, 看起来有点强上注解的感觉. 当然了, 个人看法, 不必深究.
wxw752
7 天前
@kran #56 日常工作是 spring cloud 和 go 双修,所以我仍然坚持我的观点,更倾向于说 Java 语言中的 spring 生态完善。

没事每个人都可以有独立思维,倒是也不用强行认知统一😂
dreamlike
7 天前
vertx+jax-rs 绑定+kt coroutine 随便写写

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

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

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

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

© 2021 V2EX