微信扫一扫
分享到朋友圈

Kotlin,Java的下一代编程语言

作者:InfoQ 来源:InfoQ 公众号
分享到:

07-10

作为一个 Java 开发者,你一定对面向对象编程的核心概念烂熟于胸。Java 是纯面向对象语言,如果你想在 Java 项目中写一个函数,那么你首先得先定义一个类,然后再把函数写到这个类里面。一次两次这么处理还好,但如果在一个中大型项目里,你总是这样为了 OOP 而去 OOP,不仅会造成代码冗余、不易阅读,而且还容易出错。另外,相信你也遇到过空指针异常问题,也会为此问题的不可避免而感到苦恼。

而 Kotlin 语言,可以很好地帮你解决上述问题。Kotlin 语言本身还扩展了非常多的常用操作,像文本读写、文件夹遍历、定时器调度、流式操作集合 (类似 RxJava),而这些都是 Java 语言是没有的。同时,Kotlin 的内联高阶 Lambda、动态代理、协程等特性还可以大幅优化你的代码性能。

许多新语言似乎都是源于对某种其它语言的厌倦。在不少人看来,Kotlin 应该也属于这种情况。JetBrains 的工程师仍然将 Java 视为一门优秀的语言。只是,Java 太成熟了,改进和增加特性比较困难,因为要保持向后兼容。Kotlin 所做的工作就是吸取 Java 和其它语言的经验和教训,并以此为基础进行改进。

InfoQ 此前曾发表过一篇文章对比过 Java 与 Kotlin,感兴趣的同学可以戳:

Kotlin 的优势具有以下几点:

  • Kotlin 编译成 JVM 字节码或 JavaScript——这不仅会吸引 Java 开发人员,还会吸引所有使用垃圾收集运行时的开发人员,比如使用 Scala、Go、Python、Ruby 和 JavaScript 的开发人员。

  • Kotlin 来自业界,而非学术界——它解决了程序员现如今在工作中面临的问题。

  • 采用成本低——JetBrains 提供了高质量的转换工具(可以实现 Java 到 Kotlin 代码的一键转换),而且特别注重 Java 二进制兼容性。开发者可以一次仅转换现有 Java 项目中的一个文件,整个项目仍然可以正常编译。

  • Kotlin 程序可以使用所有现有的 Java 框架和库,并可以集成 Maven、Gradle 和其它构建系统。

  • 易于学习——Kotlin 语法简洁直观,看上去非常像 Scala,但更简单。 它不遵循特定的编程哲学,如函数式风格或面向对象风格。

  • 不增加运行时开销——Kotlin 标准库非常紧凑,主要包含 Java 标准库的扩展。

  • 适合 Android 开发——借助像 Anko 和 Kovenant 这样的框架,Kotlin 将在 Android 开人员中流行。

如果你是一名 Android 开发,那掌握 Kotlin 语言对你就更加重要了,在 Android P 源码、Gradle 源码与 Android Jetpack 库中都已大量使用了 Kotlin 语言。在不远的将来,如果不懂 Kotlin 语言,会严重影响你阅读源码(甚至根本看不懂)。

其实,Kotlin 的使用范围并不局限在 Android 开发领域,还包括服务器编程以及前端 React 应用等跨平台开发。可以说,只要是 Java 能做的事情,Kotlin 都可以做,甚至还可以做得更好。

特别是 在 2017 年 Google I / O 大会上,Google 宣布将 Kotlin 作为 Android 开发的官方编程语言后,Kotlin 开发者社区一直在快速增长。Stack Overflow 的 2018 年开发者调查显示 Kotlin 是排名第二的编程语言。纵观硅谷,Netflix,Pinterest 和 Lyft 等知名公司已经在使用 Kotlin。可以说,2018 年,将会迎来 Kotlin 的爆发。

这也意味着,对于 Java 程序员和 Android 应用开发者来说,仅仅掌握 Java 是不够的,你还应该学习 Kotlin,才能追上技术发展趋势,在工作中更加游刃有余。

所以,我和极客时间合作,推出了《快速上手 Kotlin 开发》课程,希望帮助 Java/Android 开发者高效掌握 Kotlin 语言的基础知识及实战中需要掌握的关键要点,并能在工作中上手使用。

我是谁?

我是张涛,是“开源实验室”的创始人,也是一名资深 Android 开发工程师,有 6 年 Android 开发工作经验。同时,我也是 Kotlin 的技术布道者,可以说,我是第一批使用 Kotlin 语言的开发者了,也从早期的拓荒者,见证着 Kotlin 的成长。

工作这么多年以来,我曾经主导过百万级用户的 App ,实现了开发语言向 Kotlin 的迁移和过渡。当然,我也带过团队、做过架构、写过应用、做过开源社区,还曾受邀在 GMTC、QCon、Droidcon 等技术大会上做过有关 Kotlin 的分享。所以,在这方面我有着非常丰富的实战经验。

我希望能将自己多年的 Kotlin 开发经验分享给你,帮你在编程之路上掌握多一项技能,从而有更多的选择和更好的发展。

课程介绍

这个课程共分为三个部分。

第一部分会帮助你快速熟悉 Kotlin 的特有语法特性,以及在与 Java 项目产生冲突时如何解决。

第二部分将带你深入的理解 Kotlin 语言的高级特性以及 Kotlin 特有语法背后的运行原理,同时掌握 Kotlin 协程库和 Google 推出的 KTX 扩展库的使用与内部实现原理。

第三部分将为你讲解 Kotlin 作为跨平台语言的特性,并介绍将 Java 项目迁移至 Kotlin 时需要注意的地方,更深入地理解 Kotlin 的优势和劣势,灵活利用 Kotlin 的扩展库以及跨平台特性,帮助团队更高效地进行实际项目的开发。

通过这个课程,我希望你不仅能轻松地处理 Kotlin 与 Java 共存的各种问题,还能从容应对老的 Java 项目迁移至 Kotlin 时可能碰上的“坑”。

同时,我也会带你从宏观的角度思考 Kotlin 语言的各种优势与劣势,学会如何选择适合自己团队的语言与技术,能够用 Kotlin 更高效地进行跨平台开发与协作。

下面是课程目录,我相信每一节课,都值得你反复学习。

订阅福利

福利一:限时优惠价¥68,原价¥129,7 月 21 日恢复原价

福利二:每邀请一位好友购买,你可获得 24 元现金返现,多邀多得,上不封顶,立即提现(提现流程:极客时间 App - 我的 - 分享有赏)

订阅方式

如果你是苹果用户,扫描下图二维码或戳阅读原文,即可订阅。

如果你是安卓用户,点击下图,微信支付,即可订阅。


阅读8578
java 下一代 
举报0
关注InfoQ微信号:infoqchina

用微信扫描二维码即可关注
声明

1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“InfoQ”微信公众号,文章版权归InfoQ公众号所有。

评论
更多

文章来自于公众号:

InfoQ

微信号:infoqchina

邮箱qunxueyuan#163.com(将#换成@)
微信编辑器
免责声明
www.weixinyidu.com   免责声明
版权声明:本站收录微信公众号和微信文章内容全部来自于网络,仅供个人学习、研究或者欣赏使用。版权归原作者所有。禁止一切商业用途。其中内容并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现头条易读网站上有侵犯您的知识产权的内容,请与我们联系,我们会及时修改或删除。
本站声明:本站与腾讯微信、微信公众平台无任何关联,非腾讯微信官方网站。