火了!香港惊现“神秘音乐男”!第一句就把我秒杀了!这几首歌都是他自己作词作曲!给力!他说自己不会唱歌!想找唱歌好的人来唱!有木有 ?有木有 ?【人人网 - 分享】
火了!香港惊现“神秘音乐男”!第一句就把我秒杀了!这几首歌都是他自己作词作曲!给力!他说自己不会唱歌!想找唱歌好的人来唱!有木有 ?有木有 ?
分享这个视频的人喜欢
分享这个视频的人也爱看
新人主播,求守护
假期最后一天早上
要吃早餐哦
早安,么么哒
起来了早安
守护一生相伴永远
热门视频推荐
热门日志推荐
同类视频推荐
北京千橡网景科技发展有限公司:
文网文[号??京公网安备号?甲测资字
文化部监督电子邮箱:wlwh@??
文明办网文明上网举报***: 举报邮箱:&&&&&&&&&&&&
请输入手机号,完成注册
请输入验证码
密码必须由6-20个字符组成
下载人人客户端
品评校花校草,体验校园广场有木有对 Kotlin 感兴趣的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
有木有对 Kotlin 感兴趣的?
? 312 天前 ? 5679 次点击
Kotlin 对比 Java 不得不说太爽了。在学习之余,想分享给大家,并且给感觉无从下手的朋友们一个参考。
所以用 Kotlin 开发了一个 App ,并且用了主流的框架:
MVP+Dagger2+Databinding+Rxjava+Retrofit+Okhttp3
感兴趣的可以看看哈~
保证 Kotlin 让你爽翻天。
45 回复 &| &直到
20:26:47 +08:00
& &312 天前
支持小乐园的小哥
& &312 天前
@ 哦草,大佬您是?
& &312 天前
也不一定爽,去年折腾了一段时间的 scala 和 kotlin ,大约去年的这个时候, 1.0 beta 版本出来了,终于憋不住了,就像手上拿了一把新锤子,到处找钉子,于是脑抽了把自己的一个项目转成 Kotlin ,结果搞出不少事情
& &312 天前
这个充满妹子的 app 是什么?
& &312 天前
我最近也在折腾 ktolin
感觉文档还是不太好
后台 api 方面的框架倒是不少,文档做得相当可怜
安卓还没弄
& &312 天前
@ 搞出啥情况,说出来让我们吸取下教训
& &312 天前
露珠你的 databinding+dagger 能工作吗?
我前两个月试过 kotlin 然后发现各种编译不过去
等什么时候支持的好了 我再转到 kotlin
& &312 天前
用这个东西写了个 web 后台应用(
java 舒服点,用了一段时间,就搁置了。还是觉得这个语言在进化中,需要成熟稳定。也可能是学的仓促,理解不深。
& &312 天前
感觉 kotlin 的 ide 支持还是不够啊, android 应用还要先把 java 转成 kotlin ,怪怪的感觉
& &312 天前
我也发一个……也是 gank.io 的客户端,也是 Kotlin 实现的~
哈哈,感觉现在 gank 至少有几百个客户端了『开源大法好』。
& &312 天前
我觉得 kotlin 给 java 添的坑 java8 都填了啊。到底好在?或者有啥学习的必要么?
& &312 天前
@ 是 Gank.io 客户端
& &312 天前
@ 坑确实有,但是也确实方便啊
& &312 天前
@ 需要时间发展嘛
& &312 天前
@ 可以的,但是要配置 kapt 具体参考源码配置
& &312 天前
@ 直接写 kotlin 就是了
& &312 天前
@ 哈哈哈哈。。可以
@ 光从代码长度上 就秒杀了 java
& &312 天前
公司之前有一个项目用 Kotlin 做后端,还不错,省了很多行代码(和 Java 8 相比)
& &312 天前
@ 踩了不少坑,一下记不起来了,除去语法变动和一些编译问题,印象比较深刻的是使用 androidannotations 会出现问题,因为这玩意会生成间接代码,另外建议现成的项目不要跟我一样作死,直接在原来的工程上配置开发就好,不要去转换原有的 java 代码,特别是有反射代码的,毕竟是机械转换,要不然会死于各种不明 aoe 。不过对以前写 c++的来说, kotlin 感觉更有亲切感,我会再等几个稳定版本出来再用,坑让年轻人去踩了
& &312 天前 via Android
感兴趣,正在学
& &312 天前
@ @ Java 语法的确繁琐, Stream 也是很别扭。但是如果 kotlin 并没能提供更好的机制和特性,那就没有特别的理由去学习,因为这门“新”语言除了增加了学习成本,并没有其他新颖之处。大不了多用用 lombok 。
恕我直言,我觉得 kotlin 之于 java ,可能还不如 coffee 之于 javascript ,更不用说 es2016 、 typescript 了。
& &312 天前
整体来说,我是很喜欢 Kotlin 的,如果我自己开始一个小项目的话,我会更倾向于使用 Kotlin 而不是 Java 。
我写过对 Kotlin 的一些看法~
[为什么要使用 Kotlin ?]( )
* 简洁、优雅
* null 安全
* 函数、属性扩展
* 兼容 Java
* 工具完善
& &312 天前 via Android
挺有意思的语言
& &312 天前
为什么不用 Scala ?个人认为 Kotlin 只是阉割版的 Scala 而已,基本是 Scala 的一个子集。 Kotlin 的优点(代码简洁,与 Java 100% 互操作性, ...)基本 Scala 都有,但 Scala 的很多特性 Kotlin 不具备:隐式转换,反射调用,高阶类型,存在类型,协变 / 逆变, Macro ,模式匹配。
& &312 天前
Kotlin 的语言设计很多地方看得出借鉴 Scala 、 Swift 的痕迹,例如变量、参数的类型是后置的。
& &312 天前
@ 用半天时间就能把 Kotlin 用熟(因为库都是 JRE 自身的),第二天工作效率的提升省下的时间已经能超过这半天的学习时间了
& &312 天前
@ 如果是从后端角度来说的话: 1. 难,学习成本高,也费脑子; 2. 代码风格难统一,能写出 Java 风格也能写出 FP 风格;
但这个帖子里大多都是 Android 开发者…… Scala 能比 Kotlin 更方便地开发安卓么
& &312 天前
@ 半天就能用熟么……厉害了,半天的话一个库我都用不来。
我看了一会儿觉熟悉语法就要花好几天时间,概念相近又很容易和 Java 搞混,把代码写错。
& &312 天前 via Android
@ 可是它根本没有增加学习成本啊~~~ 1 , 2 天,或者 3 , 4 天
& &312 天前
暂时还没用过 @
这玩意儿是 jb 搞出来的嘛,
理论上 ide 支持应该 ok 的啊.
& &312 天前 via Android
@ 真的是半天~~
& &312 天前
@ kotlin 兼容 java 但是语法完全不像 java 啊
& &312 天前
@ 1.Scala 作为一门特性较多的语言,学习曲线较为陡峭,这是对的。但其实学习一门新的语言,就是期望工作效率的提升能够 cover 掉学习的时间。 Kotlin 的语法与 Java 差别较大,跟 Scala 反而有点像。而 Kotlin 一样需要学习。 2.这是 OO 与 FP 混合语言的必然结果,除非是 Java 纯 OO 或者 Haskell 纯 FP ,否则代码中很难避免命令式与函数式两种编程风格并存。 这点 Kotlin 和 Scala 是一样的。
只是想说用 Kotlin 不如用 Scala ,目前我们用 Scala 开发 Android , Kotlin 只在 1 个周边工具中用到。项目中用到了很多 Kotlin 不具备的特性。例如 Scala 的隐式转换, Double 被转换为一个自定义的 MyDouble ,里面有一个 dp 方法,将 dp 数转成 px ,我想表达 48 dp 代表多少 px ,只需要像字面上一样在代码中写下『 48 dp 』就可以了,语义非常直观。
判断一个集合是不是空集,其他语言可能没有办法只用一个函数实现,因为 List, Set, Map 没有一个公共的父类或实现相同的接口,但他们都有 isEmpty 方法, Scala 的反射调用可以 def isEmpty(o: {def isEmpty: Boolean}) = o == null || o.isEmpty 只要 o 有一个 isEmpty 方法就可以了,并不要求 o 的类型。
所以说更方便几乎是一定的,因为 Scala 几乎可以说是 Kotlin 的超集, Kotlin 有的 Scala 都有。
& &312 天前
求不要再吹语法特性 这是个最大的谎言 如果语法特性真那么重要 c#为啥不比 Java 火?
啥时候用 kotlin ?等安卓全转 kotlin 并宣布不更新 java 版之后 5 年吧
现在多少安卓还在跑 4.x 呢 升 6 都遥遥无期别说 7 了
& &312 天前
@ 受教了,敢问贵司开发的 Android 应用是什么?学习学习。
& &312 天前
另外 Scala 的集合系统也是一大亮点,支持的函数式操作非常多,远比 Java 8 的 Stream 丰富。
& &312 天前
@ 想问一下,听说在标准库方面, clojure 是把 java 已有的直接拿来用, scala 是自己重新写。然后现在也有 scala-naitive 这个东西。想问问在你看来其中的优势与潜在的缺点都有哪些?
& &312 天前
之前使用 Databinding 配合最新的 kotlin 插件会报错,只能使用旧版本的 kotlin 插件,问下楼主,现在稳定了么
& &312 天前
v2ex 的某个安卓客户端也是 kotlin 实现的。
& &312 天前
Clojure 不了解。 Scala 的标准库的集合部分把 Java 的重新发明了一遍,其他新加了一些方便使用的类,如元组让函数可以便捷地返回 2 个值, Source 类让网络请求或文件读取简略为 1 句话。
但它的集合分为可变和不可变两种,不可变集合每次操作都会产生一个新的集合, 然后把原来的集合丢弃掉,占用空间和效率方面会差一点,不可变集合与 Java 中的比较相似, Scala 分别针对它们做效率上的优化,例如不可变集合添加一个元素时,返回的新集合会复用前 n - 1 个元素的空间,不会拷贝一次到新集合里。另外他的集合操作兼顾了 OO 和 FP 两种风格,既有 map, flatMap, filter, collect 等 FP 风格的操作符,也有 OO 风格的 take, takeRight (返回头 n 个或 尾 n 个)等操作符。
另外,不同于 Kotlin 这种因为 Java 原始类型有很多弊端就一刀切的都用 kotlin.* 类不同, Scala 虽然也是
,但他在运行期会尽量是一个 JVM 上的原始 int ,尽量避免装箱以提高性能。同时 Int 可以被隐式转换为一个 RichInt ,提供了很多实用的方法,这是性能与实用性兼顾的例子。
Scala 自己重新写的优势我感觉是不把人当傻子吧,不是限定使用一种方式完成一件事。而是提供很多选择给你自己选,然后分别对每一种进行特定的优化,集合和对待原始类型的态度就是例子。
缺点是可能有运行时开销和体积的 overhead , Scala 被编译为 Java 字节码,受限于 Scala 在 JVM 上的实现方式,生成的 class 文件众多,每个 class 里面自动生成的方法也比 Java 多很多。另外 Scala 的标准库体积过大。这两点在 Android 上其实很致命(有 ProGuard 会好一点)。
scala-native 看起来很不错,能够在 bare metal 上运行 Scala ,感觉如果成熟的话应该会很厉害。这样 Scala 就有了编写接近底层的一些东西的可能性。
& &312 天前
@ 我啊,小乐园的潜水人员啊。
& &312 天前
@ 我和你的看法正好相反, scala 和 kotlin 根本不具备有可比性,一个是重造了所有轮子导致无可避免的融合困难只能依赖转换,一个是什么都从实用性出发,所有内容和 JRE 几乎都是可重用的,完全融合和互操作;我无法想象如何在 andriod 上引入这么重的一个底层而控制应用的体积;在一点,你也是用过 kotlin 的,难道不知道 kotlin 的 Int 在允许的情况下,生成的字节码都是 int 吗
& &311 天前
不多不少。。
kotlin 自从我接触一年了
如我预测一般,没火
& &311 天前
@ 1.个人更喜欢 Scala 的设计哲学; 转换基本只有方法返回的是 Java 集合时需要用 scala.collection.JavaConverter 转换一下,或者 import scala.collection.JavaConversion, 将 Java 集合隐式转换为 Scala 集合,这点对开发者不透明感受比较明显之外,其他的时候感觉跟 Java 的互操作性还可以;
2.Android 上 Scala 标准库的体积是个问题,未混淆的情况下, 2.11.8 版本的 scala-library 有 50794 个方法, Dex 中占的体积为 5152 KB ,相比 1.0.5-2 版本的 kotlin-stdlib 有 5703 个方法, Dex 中占的体积为 1011 KB ,所以必须使用 Proguard 和 MultiDex 。我们的应用是因为要引入导航 SDK , so 库使 APK 变大了约 10 MB 左右,相比之下,混淆过的 Scala 类库 (大部分的类可除去) 占用的体积相对于整个 APK 没有这么明显。当然,体积比较敏感的还是 Kotlin 更小一些;
3.抱歉,不知道的情况下就乱黑了 Kotlin 。只要性能和 Int 上的实用方法兼具,就是极好的。
& &211 天前
我们后端服务,也转向 kotlin 了。
& ? & 615 人在线 & 最高记录 3541 & ? &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.0 ? 72ms ? UTC 23:53 ? PVG 07:53 ? LAX 16:53 ? JFK 19:53? Do have faith in what you're doing.