原文:出自我的公众号开发者技术前线 :Kotlin真的值得学习吗?
写在2017年11月

KotlinConf 大会宣布了 Kotlin 1.2 RC 版,并宣布 Kotlin/Native 已支持用于开发 iOS 应用和 Web 应用开发。

首届官方举办的 Kotlin 专题会议 KotlinConf 于5号在旧金山正式开幕,Kotlin 的首席语言设计师 Andrey Breslav 公布了一系列与 Kotlin 的改进,并对外称以支持iOS和Native。

在Java1.8发布之后,在Java这么强大的环境下,为何kotlin被谷歌这么器重。我们不妨看看本次大会kotlin的重要改进。

Kotlin 1.2

首先宣布了 Kotlin 1.2 RC 版(即 1.2 首个候选发行版)。该版本引入了一系列新功能,包括对多平台项目的实验性支持 —— 允许开发者在针对 JVM 和 JavaScript 的模块之间共享代码,以及多项对语言方面的改进 —— 包括支持在注释中使用数组字面量。更多关于 1.2 版本新功能的内容,点此查看。

Kotlin/Native 支持 iOS

另一个重大消息就是 Kotlin/Native 已支持用于开发 iOS 应用,这也将是 Kotlin/Native 0.4 的特性之一。虽然对 iOS 开发的支持仍处于早期阶段,但确实已经实现了,这是在所有平台上使用 Kotlin 进行开发的重要一步。

官方还特意展示了利用 Kotlin/Native 开发的两款应用(Spinner app (GitHub)、KotlinConf app (GitHub)),它们都可以运行于 iOS 和 Android 平台。Android 和 iOS 平台共享了不少代码,其中包括大多数图形处理、声音播放和用户输入响应代码。

使用 React 和 Kotlin 创建现代 Web 应用

对于使用 Kotlin 进行 Web 前端开发的开发者,Andrey Breslav 在大会上还公布了另外一个重大消息 —— 正式发布了针对 React.js 的官方 Kotlin 封装工具。此外,还有一个名为 create-react-kotlin-app 的工具集 —— 通过 Kotlin 使用 React.js 创建现代 Web 应用。

使用 create-react-kotlin-app,可让开发者无需费心于项目设置和配置构建这些工作,能专注于快速开始客户端应用开发,同时体会到静态类型语言的优势以及由 JavaScript 生态系统带来的强大配套资源。详情点此了解。

IDE 对 Kotlin/Native 的支持

Kotlin/Native 也将迎来 IDE 的支持。官方表示首先将在 C/C++ IDE CLion 中试用该功能,目前正在发布一个名为 Kotlin/Native plugin for CLion 的插件,该插件支持使用 CMake 作为构建系统。其中包含来自 IntelliJ IDEA 的 Kotlin 插件中全部代码编辑功能集,同时初步支持项目创建、测试与调试等操作。

Kotlin真的值得学习吗?

目睹了以上Kotlin的一些新特性,我想目前,有不少的Android程序员已经用起了kotlin, 但是kotlin真的有春天吗? 尽管官方也表示 Kotlin 语言的未来发展方向主要是在 Kotlin 支持的平台之间实现更好、更广泛的代码重用,但我还是没用。我们不妨回想下iOS推出的swfit,发布到现在,时间已过去6年,swfit有多少人记得?记得swift是当年iOS程序员热衷的时代,说好的混编呢?我依然看见同事用OC开发,一套OC吃遍天下!

去年FackBook发布跨平台技术RN, 成为当时讨论最火的技术之一,如今百度等一线公司宣布其项目禁止使用RN技术, 除了利益和版权,我想一部分原因也是它并不是理想的跨平台方案。然而JS依旧在成了最受欢迎开发语言!成了前端和移动端公认低成本,兼容最强的热更新方案。

我认为kotlin被热炒的很大一部分原因是Google小姐姐 和Apple,Facebook抢占跨平台市场,无论是哪家公司,多会有一个和对手竞争的领域布局,话说Android已成为了世界第一大系统,却没有一个能持支持跨平台的技术主角,确实有点说不过去。2个月前jake大神也被谷歌挖走,jake也表示以后的主要工作是优化android系统和提供更好更便捷的开发模式。

无论大家怎么看待kotlin, 我个人认为:Java的强大足够让你在以后的工作中保持较好的竞争力,如果你真心有时间去学习kotlin,我建议开发者不妨去关注下python。人工智能会让你在以后的竞争力中多一个机会。
历史推荐

Kotlin真的值得学习吗?
弃坑 React-Native,开启入坑 Flutter 之路

第一时间获取技术文章请关注微信公众号!

更多推荐

Kotlin真的值得学习吗?