kotlin 做服务端开发靠谱吗?

2019-10-24 23:05:08 +08:00
 jjshare

自己常用 PHP ~ golang 刚出来的时候,使用过一段时间,累不觉爱~

最近自己捣鼓一个客户端,学了一下 kotlin 感觉非常爽~

因为 kotlin 完全兼容 Java,所以在想 kotlin 做服务端开发的话,是不是靠谱?有实践过的朋友,来讨论一下~

10791 次点击
所在节点    程序员
40 条回复
loshine1992
2019-10-25 11:38:16 +08:00
Kotlin 是大势所趋
jjshare
2019-10-25 12:41:52 +08:00
@fansangg
@hyrepo
@qwertyegg
@waising
@sagaxu
@by73
@liuzhedash
@rockyou12
@youngxhui
@lee015
@loshine1992
手动圈一遍,谢谢各位的观点~

@waising 老哥公司还挺先进,我是最近自己想写 app,学了一下,感觉很赞

@sagaxu 2017 年 Q2 季度到现在就没有正式工作过了,之前工作时大并发场景比较多,调研了 golang,但是当时要自己造的轮子比较多,就 nginx+lua+php 撸起来了~那个实际 kotlin 还没有听说过,也就没有调研过~
@dilu kotlin 按照官方的说法,是可以完全接盘 jvm 生态的~

@rockyou12 是的,现在自己也没有工作,偶尔想写个啥,PHP 直接撸了~想 kotlin 写服务端,就是感觉可以这么干,所以发上来问问~

@lbp0200 PHP 是最好的语言
@loshine1992 哈哈哈,kt 一统三届~
heiheidewo
2019-10-25 12:53:13 +08:00
生态上讲,应该用 golang
Kasumi20
2019-10-25 14:30:42 +08:00
Kotlin 是世界上最好的语言

Kotlin + Spring 写的小网站"Youtube 在线解析", 求 star

github.com/develon2015/Youtube-dl-REST
qiyuey
2019-10-25 15:21:14 +08:00
讲道理是很靠谱的
huanggan
2019-10-25 16:05:50 +08:00
有什么用呢,最后还是编译成 java,就想 typescript 对于 js
lagoon
2019-10-25 16:13:52 +08:00
那个,看到许多人说走了没人接盘的问题。
但 kotlin 和 java 区别那么大吗?
我看到许多 Android 码农,都是直接项目上用 kotlin 写,都不需要去学。有疑问的地方查一下就好。
hantsy
2019-10-25 16:22:33 +08:00
Spring 5 开始对 Kotlin 官方支持,加入很多 Kotlin 特有 DSL 简化 Spring 开发,如 BeanDefitionDSL,FunctionalRouteDSL 等,这样 Spring 项目 Java 转到 Kotlin,不仅仅是简单的语言转换 。

参考: https://github.com/hantsy/angular-spring-reactive-sample/tree/master/server-kotlin
hantsy
2019-10-25 16:26:35 +08:00
Spring 5.2 开始支持 Kotlin Coroutines,不过我还不熟悉,
参考: https://github.com/hantsy/spring-kotlin-coroutines-sample
realkenshinji
2019-10-25 18:52:51 +08:00
可以的,看看 ktor
xlui
2019-10-25 20:22:48 +08:00
不仅可以,还很香
diferent
2019-10-25 20:47:59 +08:00
已经用了,很久了, 现在遇到一个 Java 项目 , 就先添加 Kotlin 支持先.
别人用啥我不管, 但是我肯定写 Kotlin.
jjshare
2019-10-25 21:36:08 +08:00
@heiheidewo 哈哈,负责人的说,golang 没有生态

@Kasumi20 手动赞
@qiyuey 我也觉得靠谱,不过没有实操过
@realkenshinji 好的,谢谢

@xlui 吃香喝辣的请带上我
@hantsy 专业,优秀,手动大拇指

@diferent 不会 Java 的,表示 kt 大法好
@lagoon 人生虽然有很多盘要接,但是未尝不是好盘啊,哈哈,要有接盘的能力,不要有接盘的心理包袱~
changdy
2019-10-25 21:37:33 +08:00
自己也用 kotlin 写过后端项目,不过仍旧要泼一下冷水了
kotlin 和 java 后端最大的不同是视角不同 比如 data class 的设计理念:
* 对于 java 后端来说 data class 的构造器不太妥当,基本上都要初始化 null 反而很不优雅
* data class 不支持继承 ,这点更棘手

我没用 kotlin 做过大项目, 不过目前来看其实 kotlin 语言的初衷并不是以服务端为主.
fansangg
2019-10-25 22:17:18 +08:00
@lagoon 你遇到的可能是已经用琐碎的时间看了很多遍语法了,我 17 年刚上手的时候用 kt 写项目,不会写的都是用 java 写一遍然后贴过来转成 kotlin 的,看看转成啥样的然后照葫芦画瓢
diferent
2019-10-25 22:50:02 +08:00
@changdy
说明你还没有掌握 Kotlin ,
data class 只是 kotlin 里的一种具体表现,适用于一部分场景,
Java 也是一样的. 只不过 Java 因为自身的语法限制,后来才形成公约式的 getter/setter 以及 builder, 本身上都是语法劣势而不得已的妥协而已.
kotlin 的语法不存在这些劣势,所以没有必要按照 Java 的思路去设计序列化对象
现在我所有的 entity 和 DTO 都用 kotlin 去写的
现在除非是打开别人的工程, 不然都不会安装 lombok 插件.
YUyu101
2019-10-25 23:45:18 +08:00
我刚看到也是感觉很爽,各种语法糖 apply let 什么的还有协程,突然就想起了隔壁 c#。
lagoon
2019-10-26 08:20:11 +08:00
@fansangg 哪有这么夸张。除非是一个学 java,就只学 java,对其他语言不屑一顾的人。否则,新的语言,太多类似的概念、写法。自然而然就会比较容易上手。
至于某些从事 java,就对其他语言一直看都不看一眼的,我觉得是不对的(真的天天忙到 996 除外)。
changdy
2019-10-26 08:27:03 +08:00
@diferent
---> data class 只是 kotlin 里的一种具体表现,适用于一部分场景,
---< 我觉得 java 里面常见的 entity 之类的 应该都是可以使用 data class 替换的. 但是目前我却只能 继承和 data class 二选一 并且官方也注意到了 data class 不能继承的窘境 准备开始改善了
---> kotlin 的语法不存在这些劣势,所以没有必要按照 Java 的思路去设计序列化对象
---< `我没有,我不是,你别胡说` 我只是觉得 kotlin 最早的设计角度并没有放在 后台服务器上
---> 现在我所有的 entity 和 DTO 都用 kotlin 去写的
---< 很想知道 需要继承的时候是怎么做的... 放弃继承吗? 还是放弃 data class

其实 我也很喜欢 kotlin 这个语言. java 太罗嗦了, 包括提到的 getter/setter 的确让人不爽,但并不代表这门语言在一些情况下是完美的, 我也只是站在一个后端开发的角度讲出我的一些痛点
no13bus
2020-10-16 18:41:31 +08:00
老哥还在玩 kotlin 吗?加个微信聊聊撒. no13bus

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

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

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

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

© 2021 V2EX