1
GavinHua 2017-05-18 02:42:52 +08:00 via Android
之前就在观望,现在看来必须要学了
|
2
kmahyyg 2017-05-18 05:59:33 +08:00 via Android
优势在哪?准备入坑
|
3
KNOX 2017-05-18 08:06:03 +08:00 via Android
已经用 Kotlin 写公司的项目了
|
4
murmur 2017-05-18 08:30:45 +08:00
google 的信仰不值钱,前几个月还说 dart 呢,现在又 kotlin 了,等 1 年再说,估计要不了半年又换新宠
|
5
wintersun 2017-05-18 08:32:32 +08:00
还有那 AngularJS 1 和 2
|
6
tiiime 2017-05-18 08:39:00 +08:00 via Android 1
@murmur dart 比 kotlin 差远了,有很多开发者一直在使用 kotlin,群众基础好。而且 kotlin 对 JAVA 代码的兼容性可不是 dart 能比的
|
8
NSAtools 2017-05-18 09:00:32 +08:00
公司项目上还不敢去用
|
9
holmesabc 2017-05-18 09:22:52 +08:00
反正 100%兼容 java,混编无后顾之优。现在写也没有啥问题。
不明白这个“支持”是个啥意思。感觉应该是 “严重推荐(支持)用 kotlin 来写 Android ”吧 |
10
jimbray 2017-05-18 09:26:21 +08:00
同样 对 “支持” 这个词的 意思表达困惑
|
11
h3nng 2017-05-18 09:54:04 +08:00
支持就是 Now Offical On Android
|
13
hjc4869 2017-05-18 10:11:03 +08:00 via Android
不看好谷歌的编程语言,不信任谷歌会持之以恒一直去完善它
语言这块儿谷歌已经劣迹斑斑了 |
16
h3nng 2017-05-18 10:22:18 +08:00
|
17
laxenade OP 其实一直不是很懂 Kotlin 和 Scala 有什么区别
|
18
billzhuang 2017-05-18 13:56:54 +08:00
@hjc4869 kolin 又不是 google 的
|
22
noli 2017-05-18 15:42:18 +08:00
|
23
AtlantisZ 2017-05-18 15:50:05 +08:00
good
|
24
maomaomao001 2017-05-18 15:54:11 +08:00 via Android
可是之前也支持啊,我 2016 年还用 kotlin 写过安卓的呀,现在的支持是什么意思?
|
25
EricCartman 2017-05-18 15:56:06 +08:00
@hjc4869 #13 JetBrain 的
|
26
notes 2017-05-18 16:21:21 +08:00 via Android
kotlin 必须学
|
27
hjc4869 2017-05-18 17:13:54 +08:00
|
28
araraloren 2017-05-18 17:32:26 +08:00
|
29
laoyuan 2017-05-18 17:41:11 +08:00
又是“支持”又是“钦定”的,你们啊,总想搞个大新闻。。。
|
31
evlos 2017-05-18 17:52:32 +08:00 via iPhone
已经用 Kotlin 写公司的项目了 +1
很顺手 👍 |
32
qiukong 2017-05-18 18:11:43 +08:00
一看它和 javascript 有关系我就跑了……
|
34
wineway 2017-05-18 18:27:51 +08:00 via Android
@laxenade kotlin 目标就是去掉 scala 那堆比较复杂的部分留下易用的部分吧,貌似没有隐式和 scala 那样的类型系统之类的东西
|
35
greatghoul 2017-05-18 18:49:07 +08:00 via Android
@wintersun 不是 angular4 么
|
36
af463419014 2017-05-18 20:03:05 +08:00
scala 还没摸熟,又来个 kotlin,感觉要跟不上时代了
|
37
lirmas 2017-05-18 20:41:12 +08:00
|
38
pexcn 2017-05-18 21:32:12 +08:00
我们公司已经钦定用 kotlin + anko 写 android 了
|
40
zongwan 2017-05-18 22:00:02 +08:00
@pexcn anko 666 ...好久之前弄了下 anko preview 一直不成功..
不过 anko 用起来写布局太好玩了 |
41
plqws 2017-05-18 22:38:37 +08:00
Kotlin 这种现代语言的上位总比 Go 这种原始语言越来越火来得好
Go 能实现 Reactive ?不存在的 Go 的 OOP ?不存在的 还是让 Go 在服务端领域继续发挥自己的作用吧,拿来写客户端程序?别逗了 |
42
jyf 2017-05-18 22:52:48 +08:00
我的感觉是 不管 kotlin 靠不靠铺 反正看来是要扔掉 java 了
所以打算去投奔 lambdanative |
43
DemoJameson 2017-05-18 23:15:47 +08:00
所谓的钦定就是以后会对 Kotlin 做全面的支持,测试啊性能啊稳定性啊之类的提升。
|
44
momocraft 2017-05-18 23:28:38 +08:00
比 java 好 支持
|
45
cloud107202 2017-05-19 00:15:09 +08:00 12
有人提到很疑惑 kotlin 和 scala 的区别,作为一个双修且两个语言都有上过准生产环境的经历(感谢开明又帅气的 boss),简单说说我的浅显理解:
1. kotlin 运行时相对轻量,标准库逻辑不多。这主要体现出二者在实现思路上的显著差别,kotlin 一切尽可能复用 Java 已有的逻辑和实现,不少 API 仅仅是 Java 版本的封装。而 scala 则是一切都自己来一套。得益于此 kotlin 获得了与 Java 强大的交互性,kt 文件可以跟 Java 文件混写在一个工程(与 scala 不同的一点在于,kotlin 甚至不用以大目录区分),并在 Intellij 大法的加成下,拥有无语伦比的开发体验。 这一点也或多或少体现在工具链上,kotlin 可以与 maven/gradle 无缝交互,而 scala 的官方构建工具 sbt 有一定上手难度,再加上众所周知的原因,从 sbt 的安装到工程导入伊始便会遇到层层阻碍,私以为这一点极大地阻碍了 scala 在国内的推广。 2. 在 Functional Programming 支持层面,二者均支持 first-class function/high-order function, Closure, Algebraic Data Type, Type Inference 尾递归优化等在静态语言里如果想舒爽的使用 FP Style 所必须的元素. 相比于 scala, kotlin 还欠缺 Pattern matching, Lazy evaluation 等特性,不过当前的程度已经足够令我满意。和 golang 这种欠缺类型多态的语言相比,kotlin 与 scala 都可以将很多副作用(Nullable,Either,Throwable,IO)直接 encode 进入类型系统,并通过类型系统直接表达和保证对这些副作用的正确处理。相关的 TypeClass/Monad 类库推荐 https://github.com/MarioAriasC/funKTionale 类比 scala 社区比较流行的 scalaz 和 cats. 3. 开源社区的亲和力与推广,Jetbrains 在营销和推广方面显然是个经验丰富的老司机,合纵连横多点开花收获了 Spring, Eclipse(Vert.x)等多个在 Java 领域举足轻重的大型社区官方支持。至于跟 Google Android 团队的关系也早在 Google 启用 Android Studio 作为 official support IDE 时算起便暧昧起来了。另一边,scala 社区背后的 Typesafe 公司(现在更名为 Lightbend)则曾对 Spring 抛来的橄榄枝不理不睬,保持一副高冷作风(e.g. 于 2012 年烂尾的 spring-scala 项目)。毕竟那边也有自己一套 Akka, Play, Lagom 等有自己玩法的技术栈,不亦乐乎。 4. 兼容性,算是一把双刃剑,可以扩大占有份额,也是创新前行路上的镣铐。kotlin 当前版本的字节码是 jdk 1.6 的规范(即使 kotlin 1.1 在编译期给定-jvm-target 1.8 开关,生成的字节码也仍然没有利用 invokedynamic, default method )。另一点,同样也得益于小体积的标准库,在 Android 平台面对 APP 体积与 65535 方法数限制时,足以游刃有余。scala 从 2.12 起只能运行在 jdk 1.8 上面。 5. 创新与野心:2008 年横空出世的 scala 带来很多创新点,收获了极大地关注度,以至于倒逼促成了 jdk 1.8 的若干语法改动(stream API, optional, lambda)。kotlin 相对于 scala 或一众现代高级语言来说,更多的是取其精华且有所舍弃(比如 implict 这种相对复杂且显著拖慢 compiler 的特性) 并且吸收了其他领域语言的特性(比如 Delegated properties 应该是借鉴自 Objc 的 KVO?) 增强语言在移动平台的表达力。这一头 scala-native 这种玩票性质的工程多年还没什么进展,而另一头 Jetbrains 已经招兵买马组织了一波独立团队去并行研发 kotlin-native, 我内心还是很希望 Jetbrains 能把主要精力聚焦到 be a better Java, 至于 better c++这种事情完全可以交给 Rust 去折腾。 6. 学习成本,综合前面几点,尤其是第一点,kotlin 当前版本( 1.1.2 )几乎是处于没有标准库的阶段,对于一个 Java 熟手来说,简单通读一遍官网的语法规范即可上手。而随着后期 kotlin 其他标准库的补全和语法 /关键字的丰富(coroutine 协程 API 将于 1.2 版本彻底稳定,而剑指 Functional Programming 的 immutable collections 也正在紧锣密鼓的研发中),后面学习起来会遭遇更多的信息和心智负担。考虑到实用性和上手速度,对这两门语言都感兴趣的话,我建议(先)学习 kotlin,而且是立刻和马上学起。 有感而发加上闲得慌,一不小心写成了长文,希望对有兴趣想尝试的小伙伴们有些许帮助。 |
46
xingda920813 2017-05-19 00:36:22 +08:00
@cloud107202
1. Scala Ant / Maven / Gradle / SBT 都可以的; 2. Scala 在 OO 方面走的更远,Trait,类型系统等,FP 的特性也比 Kotlin 多; 4. Kotlin 这样做,性能跟编译成 Version 52 字节码的 Scala 2.12 有差距; 3, 6 说到了 Scala 的痛点,确实是这样,现在加上 Google 钦点,Kotlin 是要学起了。 |
47
cloud107202 2017-05-19 00:38:57 +08:00 1
@xingda920813 you are right,第一点,就我的体会来说,kotlin 直接 copy 来官方的构建模板很顺滑,而 scala 数次没有折腾成功就弃了,所以没太展开。感谢补充
|
48
bullest 2017-05-19 16:01:33 +08:00 1
@team-gbl-android I am not sure who wants to go first but to anyone that is interested feel free to write your next feature in Kotlin. Mention the whole team on the PR for the feature. Be prepared to defend your code.
今天我们公司的通知 |