有用 kotlin 开发后端的老哥吗

2021-03-31 10:54:29 +08:00
 mygreens

目前只敢工具类用 kotlin,不知道 kotlin 和 spring 会不会有兼容上的坑,兼容 spring 各种注解么。 目前发现比较难受的是,数据类(DO, DTO)必须全部用可空,不然 fastjson 反序列化会有问题。 有生产环境用 kotlin 开发的老哥吗,目前有什么问题?

7969 次点击
所在节点    Java
55 条回复
bthulu
2021-03-31 13:53:24 +08:00
fastjson 比 jackson 好用一万倍啊, 为什么要用 jackson, 到处 try catch 很爽吗?
Evrins
2021-03-31 14:15:21 +08:00
我试过 kotlin 和 java 一起混用,编译起来太慢了,我又转回去了
GuoDuanLZ
2021-03-31 14:18:19 +08:00
Xbluer
2021-03-31 14:52:25 +08:00
@bthulu fastjson 动不动就爆漏洞啊
mygreens
2021-03-31 14:57:29 +08:00
@Xbluer 个人认为 fastjson 还是同类最顺手了。漏洞不用 AutoType 就好了。
unco020511
2021-03-31 15:17:20 +08:00
我觉得后端用 kotlin 可能收益不高
ymmud
2021-03-31 15:50:11 +08:00
干脆上 scala 得啦,抛弃 spring
bthulu
2021-03-31 15:50:33 +08:00
@Xbluer jackson 不一样爆么, fastjson 用的人多, 爆的自然就多, 这不很正常么.
再说这么多漏洞爆来爆去, 大多不都是 autotype 引起的, jackson 不也因为 autotype 爆过好几次漏洞.
关掉 autotype 不就好了.
wellsc
2021-03-31 16:33:31 +08:00
@GuoDuanLZ 25 个星星的还是算了吧
boris93
2021-03-31 17:27:42 +08:00
@bthulu #21 我们是让框架自己处理序列化和反序列化,通常情况自己不手动序列化 json
偶尔手动序列化就用 gson,就算用 jackson 也就随手 try catch 一下,没啥费劲的
主要是,不用担心跟 kotlin 的兼容问题,就这一点就比别的强两万倍
tabris17
2021-03-31 17:43:31 +08:00
kotlin 协程搭配 vertx,很香
wupher
2021-03-31 17:44:52 +08:00
有,自己负责的主力项目,后端业已全迁移至 Kotlin 。

Pros: the language, spring/spring boot, Func Programming, even coroutines & kotlin ReactiveX 这些都用过,没碰到过什么大坑

Cons: Kotlin 的强类型模式,在某些时候会不爽,比如对外接口。Data object 认为 String 就是 String , Int 就是 Int 。但是有可能对端实现变更或者多接一个调用方,应该传 "1" 的变成了 1,kotlin (看具体实现方式)就有可能报错。这种时候,最怀念 Groovy 或者 Ruby,你认为它是 Int 它就是 int,认为它是 string 它就是 string.

BTW:json 可以考虑使用 moshi 或者 jackson json
mmdsun
2021-03-31 18:48:14 +08:00
@Kasumi20 我有一个项目是 Java 和 kotlin 混用的。Java 写的 aop 可以切到 kotlin 的代码。
sagaxu
2021-03-31 18:55:39 +08:00
fastjson 你都用了,还有什么不敢用的?
iseki
2021-03-31 18:57:32 +08:00
你不觉得坑掉的是 fastjson 吗,fastjson 啥情况我不知道,Jackson 有 Kotlin 模块。
Jackson 兼容性,可配置性都远胜于 fastjson,至于有人嫌弃 API 不好看…都用 Kotlin 了就不会自己包一下吗😆
iseki
2021-03-31 19:00:10 +08:00
目前 springboot+纯 Kotlin,也不存在必须可空的问题,Jackson 和 spring 都能自动处理好。
唯一一点问题是项目中其他人用 Java 是,他们不喜欢 Kotlin data class…不可变+构造函数传参他们嫌麻烦😅
charlie21
2021-03-31 21:41:02 +08:00
若你是招聘方:Kotlin 好 Kotlin 棒 Kotlin 是未来趋势 赶快给我招几个一起用 Kotlin 的小伙伴来 我们一起飞
若你是应聘方: 岗位数 Java : Kotlin = 100 : 1 Kotlin 你学去吧 哈哈 赶紧降低一下 Java 的竞争压力
charlie21
2021-03-31 21:41:49 +08:00
这两方逻辑都是完整闭环的,看你站在哪一边而已
viakiba
2021-03-31 23:33:21 +08:00
要是能用到 kotlin 的协程还是不错的 要是用不到其实没必要用
viakiba
2021-03-31 23:34:57 +08:00
@tabris17 再加上 ignite

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

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

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

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

© 2021 V2EX