Kotlin学习笔记-[优缺点]

作者: 王岩_shang | 来源:发表于2017-08-17 22:09 被阅读192次

    前言

    kotlin作为官方认证的Android的首先开发语言,其优势自然不言而喻。

    优势

    从上一篇编译过程,我们也大致了解到经过词法分析,语法分析,语义分析,而后转化为中间代码,最后生成java字节码,这一步,也是可以转化为其他类型的代码的。

    1. 完美支持java,和原生java交互。支持js。
    2. 现代工程实践的完美产物。
    3. 提倡组合,少用继承,类定义默认为final。
    4. 空安全。
    5. 扩展和委托。
    6. IDEA 的完美支持,接入特别方便。
      ......

    劣势

    然而,工程上的使用也有一些问题需要注意到:

    1. 我们在导入kotlin时,伴随而来的是一个支持库,会被编译到我们的apk中。大致有将近6000个方法,可见包大小必然会增加。


      Kotlin支持库
    2. 另外在我们书写代码时,虽然是简化了我们书写,但是编译后生成的代码并不一定会少,反而会增加。如下面两个类,TestActivity是Kotlin写的,Test2Activity是java写的。同样的功能,但是TestActivity里的方法居然增加了。大致原因可以看下这篇博客:Kotlin属性引发的方法数问题

      Kotlin VS Java 方法数
    3. Kotlin 对于编译时注解。我们在使用java编程时,常用到编译时注解。显而易见,apt是在javac 的过程中作用,而Kotlin 也是属于原生代码的,并不会生成.java文件。Kotlin对其的支持不是很好,推出了kapt ,现在功能比较缺失,这里也不好应用到生产环境。

    总结

    1. 其实,我们在写一些新的项目时,可以完全的上手Kotlin,在写代码时注意一些属性的定义,尽量减少方法数的快速膨胀。
      Kotlin的函数式编程方式也可以使你的代码更加的优雅:array,map 等已原生支持。
      拉姆达表达式的支持会使你的代码更紧凑。
    2. 而对于一些已处于维护的稳定的项目,首先包大小的扩增肯定是需要考虑到的因素,可以通过剪裁的方式接入,但是也是有一定的成本的。

    参考

    相关文章

      网友评论

        本文标题:Kotlin学习笔记-[优缺点]

        本文链接:https://www.haomeiwen.com/subject/pwonrxtx.html