
鄙人目前在国内积极进行 Kotlin 的布道,个人已经开始将其尝试应用到实际生产环境中(目前有处于开发期的产品正在使用 Kotlin ),感觉十分良好。想问问国内有什么公司(非个人)是在进行这方面的尝试的。

鄙人目前在国内积极进行 Kotlin 的布道,个人已经开始将其尝试应用到实际生产环境中(目前有处于开发期的产品正在使用 Kotlin ),感觉十分良好。想问问国内有什么公司(非个人)是在进行这方面的尝试的。
|
gengruiJan 21, 2016
1
Hi 楼主好。我是在澳洲的 android 开发者,目前也希望在工作中使用 kotlin ,可否交流交流?谢谢。
PS:你的 baseframework 很不错,谢谢分享。 |
|
haroldwuJan 21, 2016
2
同想學 kotlin ,但是找不要到完整的教材,求指點一二!
|
|
3
@gengrui 谢谢支持。我主要在 [知乎]( https://www.zhihu.com/people/nekocode) 以及 Github 上活跃, V2EX 刚接触,以后可以多交流。
我对 Kotlin 的前景十分看好,不仅仅因为它是一门 trick 多的语言,它和 Java 之间的相融性让它产生了更多机遇与可能。 |
|
4
@haroldwu
《 Kotlin for android Developers 》是一本不错的教材,这是中文译本 https://www.gitbook.com/book/wangjiegulu/kotlin-for-android-developers-zh/details 更好的教材应当是官方文档 https://kotlinlang.org/docs/reference/,好像也有译文,不过跟不上官方更新,建议直接阅读英文原文。 有基础的话也可以尝试看下我的专栏 http://zhuanlan.zhihu.com/kotandroid ,比较偏实践的内容。 |
|
TnecivJan 21, 2016
5
你是知乎那个?看过你的专栏
|
|
em70Jan 21, 2016 via iPhone
9
第三方 SDK 能接入吗,比如 qq 登陆 SDK
|
|
10
@em70
Kotlin 支持与 Java 代码互操作,所以没问题的。这也是 Kotlin 相对其他 Jvm 语言更适合开发 Android 的原因。 |
|
johnnydtsaiJan 21, 2016
11
正在学习 感觉 kotlin 不错
|
|
moyayaJan 21, 2016
12
就算想用,国内目前估计也找不到人。
|
|
purasJan 21, 2016
13
有没有用 Kotlin 不做 Android ,而做 WEB 的呢?
|
|
14
收集了一些 Kotlin 资源,希望有帮助
https://github.com/ruijun/Android-Dev-Favorites/blob/master/Kotlin/Kotlin.md |
|
airqjJan 21, 2016
15
跟 scala 比起来 有什么优势吗
|
|
alexsunxlJan 21, 2016
16
已经推荐给做 Android 的朋友。楼主加油,布道可是不容易,搞点线下交流会吧
|
|
jiezhiJan 21, 2016
17
关注一下,有空研究下
|
|
hooluupogJan 21, 2016
18
@airqj 从语言的设计上,我不太喜欢 scala ,所以偏向 kotlin 。
要说优势,最大的优势就是和 java 的互操作性,比如利用现有的 java 生态,各自库,这个 scala 完全不能比。 劣势就是目前还没有 1.0 正式版。 |
|
19
@moyaya
是的。我们团队的两个 Android 开发也是我带起来转到 Kotlin 上的,学习成本也不会太高(一两周就可以上手了)。但是如果没人带的话,肯定会遇到很多坑,所以不建议没有这方面积累的团队把 Kotlin 运用到生产环境中。 @airqj 已经有朋友解答你了 @hooluupog ,有兴趣的话也可去我专栏上查阅文章,对 Kotlin 相较起其他 JVM 语言的优势有比较粗略的解答。 @alexsunxl 谢谢支持 (๑→ܫ←),线下交流会的话就算了,目前连组织都没有。国内使用 Kotlin 的人并不多,但是在可预见的未来 Kotlin 将对 Android 原有开发界造成一定的冲击与影响。 |
|
john990Jan 21, 2016
20
正在用,但是不支持 android studio 实时编译,很不方便,其他感觉非常好
|
|
br00kJan 21, 2016
21
想用来做 web 开发 XD
|
|
florijeJan 21, 2016
22
关注了,但是还没有在实际项目中使用,已经收藏 LZ 相关文章,稍后仔细看看。
|
|
pengbo37877Jan 21, 2016
23
不错,下一个项目可以试试
|
|
loshine1992Jan 21, 2016
24
关注楼主的专栏很久了,没想到竟然来 V2EX 布道了呀
|
|
26
@john990
你指的是预览版的 instant run 么? kotlin 目前在对 instant run 和某些 lambda 代码的 debug 都支持不太好,不过要相信 jetbrains 家的实力,这些都不是大问题。 @br00k @florije @loshine1992 谢谢支持 @alexsunxl 从简做起吧,有空的话我可以考虑下寻求或者创建组织 ♥ |
|
eimsteimJan 21, 2016
27
我觉得 Android 开发的痛点并不是在语法级别,而是在于复杂的自定义 View ,目前也没有见过比较成体系的成熟的 UI 库,可能我离开 Android 时间有点久了,现在觉得还是用 H5 的方式来写 APP 比较舒服。
|
|
28
@eimsteim 语法上的影响很大, Kotlin 之于 Andriod 就如 Swift 之于 iOS ,更丰富的表达能力,带来的肯定是更愉悦的代码体验,以及更高的开发效率。就像 Ruby ,在我看来 DSL 在很大程度上支撑了它的发展。
|
|
hjkl0001Jan 21, 2016
29
谢谢分享!!!!
|
|
springwarmJan 21, 2016
30
@eimsteim 同意 Android 的最大痛点不在语法级别
但个人的倾向是,当其他环节能有明显改善时,也是值得尝试的 ---- Kotlin 表达力更强,又比 Scala 与既有的 Java 生态融合的更好(这点很重要, C#的表达力很强,但是.NET 的生态在很多方面还是不如 Java ),不乏优秀的工具支持( JetBrains 大旗一挥) Kotlin Android Extension ,把 XML 布局编译成类,就在代码中引用组件而言,开发体验好于 ButterKnife 以及 AndroidAnnotations 的相关部分 后面会考虑将 Kotlin 用于实际项目,期待露珠多写深入好文 |
|
CodingPuppyJan 21, 2016
31
kotlin koans 已全部做了一遍,感觉挺好,但是网上的资源还是少。怕用到项目里面拖累队友
|
|
CodingPuppyJan 21, 2016
32
@nekocode 看到楼主 github 有提到 anko ,我遇到一个问题想请教下,我在 Activity 的 onCreate 里面使用 DSL ,布局没有显示出来, anko 的官方文档说的是在这里使用是会自动调用 setContentView 的。使用 AnkoComponent 的方式定义布局类,主动调用 set 是可以的。这个是我的使用姿势不对么? 在 anko 发了 issue 然而并没有人鸟我。
|
|
33
@CodingPuppy anko: version 0.7.2 下并没有你提到的问题,我在代码中也能正常使用:
https://github.com/nekocode/kotlin_android_base_framework/blob/master/app%2Fsrc%2Fmain%2Fjava%2Fcn%2Fnekocode%2Fbaseframework%2Fui%2Factivity%2Fcomponent%2FSingleFragmentActivity.kt @springwarm Kotlin Android Extension 并非将 XML 布局编译成类,它的实现其实和 ButterKnife 类似,只是不需手动绑定 id ,我个人是比较喜欢使用 https://github.com/JakeWharton/kotterknife ,以后也会持续分享自身的一些心得(毕竟已经开始使用在生产环境上了。。),谢谢关注~ |
|
springwarmJan 21, 2016
35
@nekocode 从官方的这段描述看,像是被编(fan)译(yi)为代码了
布局中赋予 id 的元素,被编译为 Activity 类的 extension property (如果是这样,这思想很像 C#的 partial class ,而以前开发.NET WinForm/WebForm 的童鞋, 从来没有 findViewById 这种烦恼) ---- ```java // Using R.layout.activity_main from the main source set import kotlinx.android.synthetic.main.activity_main.* public class MyActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) textView.setText("Hello, world!") // Instead of findView(R.id.textView) as TextView } } ``` textView is an extension property for Activity, and it has the same type as declared in activity_main.xml. |
|
36
@springwarm Kotlin Android Extension 和 ButterKnife 一样是在「编译期」暗插代码实现的视图绑定,只不过 ButterKnife 是通过 APT ,而 Kotlin Android Extension 是通过自身编译期处理。
Kotlin Android Extension 在编译期解析 XML 后,安插了 Caching Function ,实际上内部实现一样是调用 findViewById 。所以并非它将 XML 编译成对应构造视图的 Java Code 。 |
|
37
勘误,「而 Kotlin Android Extension 是通过自身编译器处理。」
|
|
rucheeJan 21, 2016 via iPhone
38
活捉楼猪,打个酱油。 Kotlin 大法好
|
|
incompatibleJan 21, 2016
39
楼主,抱歉我暂时没有太多时间去研究 kotlin 这门语言。
我是 groovy 的重度使用者,对 closure 、 reader.getText 、 collection.each / collect / inject 等特性爱不释手。我已经在若干服务器端项目中普遍应用了 groovy 语言,目前表现非常完美(在 groovy 支持 CompileStatic 特性后,性能已经没有逊于 java 太多了)。 不知你是否对 groovy 有所了解? 如果“是”的话,能否简要对比一下 groovy 和 kotlin ?非常感谢! |
|
breaklayerJan 21, 2016
40
对 kotlin 很感兴趣,但是没有迫切的动力去学习,现在在学 rxjava
|
|
canaanJan 21, 2016
41
@breaklayer 我也正在学 RxJava ,感觉这个对开发目前可能帮助更大
|
|
mathglJan 21, 2016
42
@incompatible kotlin 运行环境貌似比 groovy 小。 可能也是最小的之一。 kotlin 的设计思想是能用 java 的库就不会自己写。 groovy 现在能在 android 运行了没? 记得原来是不可以的。
|
|
plqwsJan 21, 2016
43
得知有 Kotlin 才打算入 JVM 坑的,想要问一下楼主,刚入坑要怎么适应 JVM 这个又庞大又复杂的生态呢?
|
|
44
@incompatible 我对 groovy 的了解仅限于 gradle 和 grails 上,了解不深,不过对它的 DSL 印象挺深。
@breaklayer @canaan RxJava 确实是实现异步的最佳选择。我在我的代码中 Model 层的操作( io 、 cpu 密集操作)都使用 Rx 执行,然后发射 Observable 到 Presenter 层进行处理。对目前一些流行语法糖不感冒的,确实相对于 Kotlin 来说学好 RxJava 的帮助更大。 @ruchee Hi~ 很高兴在这里见到你 ✪ω✪ @mathgl Groovy 能在 android 上运行,但是它和 Java 之间的互操作性不堪入目。 @plqws 不太懂你的意思,入 JVM 坑是什么意思,。。=_= |
|
incompatibleJan 21, 2016 via iPhone
45
|
|
LonelyJan 21, 2016
46
没有让我用 Kotlin 的理由,毕竟不是 Google 明确支持的。
|
|
DemoJamesonJan 21, 2016
48
已 star 已关注专栏,楼主棒棒哒
|
|
Narcissu5Jan 22, 2016
49
问个比较小白的问题哈, kotlin 会不会像 scala 一样需要依赖自己的基本库( scala-library ),我是觉得 scala 十几 M 的基本库是个大问题。
|
|
dphdjyJan 22, 2016 via Android
51
_(:з)∠)_ 咱的 seed 一直跑不起来~ 大概用了一周才成功编译~资料啊~
|
|
GemJan 22, 2016
52
我想问下楼主,学 kotlin 之前,是不是需要先把 java 系统学一遍?
|
|
53
@plqws 他们很明显都不是同一类语言,只是都运行在 JVM 上而已,反过来也受 JVM 的限制。
@Narcissu5 Kotlin 一样会依赖自身 runtime 库,不过小太多了: Kotlin has a rather small runtime file size: the library is approximately 955KB (as of build-1.0.0-beta-4589). This means Kotlin adds just a little to .apk file size. @haroldwu clojure 是门好语言~ @Gem 最好是学一遍,当然,不学也并没有什么大问题。 |
|
hqs123Jan 22, 2016
56
楼主很厉害,我也在学 android,向你学习。
|
|
cppgohanJan 22, 2016
57
继续歪楼, 身边没有 kotlin 的应用场景.
最近准备用 kotlin 做一些 java web 的开发 |
|
luckymerlinJan 22, 2016
58
Google 官方的 Data Binding 已经用到了 Kotlin ,挺好用的。我现在在用 Observable 做双向绑定;
写了个 Demo : https://github.com/ACEMerlin/Kratos 实际的项目要复杂的多,基本实现了双向绑定, Object 的值变了直接通知 View 改变,配置是在 json 里配置的。 |
|
GemJan 23, 2016
59
有没有 kotlin 的 web 框架?或者说,如果用 kotlin 开发 web 的话,有没有一些好的实践以及配套设施?
|
|
60
我老人家翻译的《 Kotlin 语言参考文档》中文版
这个文档以前有人翻译过的,但质量很不好,所以我老人家动手重新翻译了一次 地址: http://www.liying-cn.net/kotlin/docs/reference/ 有网页版,也有 PDF 版 GitHub 仓库: https://github.com/LiYing2010/kotlin-web-site |
|
liusdMay 21, 2017
61
看这里 http://www.jianshu.com/p/3815084b4a73
(来自于沪江) |