Kotlin 一统天下?Kotlin/Native 开始支持 iOS 和 Web 开发

转载 2017年11月07日 11:25:54

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

近日,首届官方举办的 Kotlin 专题会议 KotlinConf 正式开幕,来自世界各地约 1200 名与会者齐聚旧金山,在这场盛大的 KotlinConf 大会主题演讲中,Kotlin 的首席语言设计师 Andrey Breslav 公布了一系列与 Kotlin 紧密相关的重大发展成果。接下来,我们不妨关注一下。

Kotlin 1.2 RC

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

此外,值得关注的就是协程这个特性了。虽然协程仍然被标记为实验性状态,但官方特意说明了这里“实验性”代表的含义。官方表示协程已经完全准备好用于生产环境,他们也已使用协程进行开发,而且也没发现在使用当中出现任何重大问题。之所以仍保持实验性状态,是为了能够对 Kotlin 继续进行设计迭代。根据目前的计划,Kotlin 1.3 将会删除协程的实验性状态。

Kotlin/Native 对 iOS 开发的支持

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

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

两款应用都已开源,你可以将它们作为模板,仅使用 Kotlin 构建自己的跨平台移动应用。点此此处可了解其中一款应用:https://www.oschina.net/p/kotlinconf-spinner

IDE 对 Kotlin/Native 的支持

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

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

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

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

未来的发展方向

Kotlin 语言的未来发展方向主要是在 Kotlin 支持的平台之间实现更好、更广泛的代码重用。官方表示计划通过使用同一 API 以扩展全部平台上的可用库资源集合,其中涵盖 I/O、网络、序列化以及日期处理等。

编译器方面,1.3 版本仍集中关注内部层面的变更,而不是外部可见的语言特性。内部的改变能提高性能、改进类型推断、为所有目标平台生成更高效的代码,以及带来更好的 IDE 插件响应能力。

关于 Kotlin/Native

说了这么多,Kotlin/Native 到底是什么?Kotlin/Native 能将 Kotlin 编译成机器码,目前还处于技术预览版阶段,离商用估计还需要至少一年的时间。

Kotlin/Native 不是 Jni 的概念,它不仅仅是要与底层代码比如 C、C++ 交互,而且还要绕过 JVM 直接编译成机器码供系统运行。这说明了什么?Kotlin 准备扔掉 Java 这根拐杖了。

第一次看到 Native 这个名字或许会很自然地想到 Jni,Kotlin 跑在 JVM 上面,使用 Jni 与底层代码交互。不过详细深入研究后可以发现,Kotlin 开发团队的野心不可小觑,Java 诞生这么多年,也没有涉足过编译成除 Java 虚拟机字节码以外的字节码的事情,Kotlin 才这么年轻,不得不说十分具有革命性。

所以如果有人再问你什么是 Kotlin,你应该回答,Kotlin 是一门很厉害的静态语言(而不是之前常说的 Kotlin 是一门运行在 JVM 之上的静态语言)。反正你能想到的,Kotlin 的开发团队都想干。

时钟拨回到到五个月前,2017 年 5 月 17 日 Google I/O 大会第一天,谷歌宣布 Kotlin 成为 Android 开发的官方支持语言。有了 JetBrains 和 Google 的背书,自此,对于“Kotlin 即将取代 Java ”的声音从未停止过。曾经,CSDN 也曾发表过一篇题为“5 个月策反,Kotlin 将取代 Java 成 Android 开发第一语言?”的文章,文中提到,Realm 公司调查报告给出的预测表示,“到 2018 年底,在 Android 开发领域,Kotlin 将超越 Java,成为开发 Android 应用的第一语言。”

不过,再看回在 KotlinConf 大会中官方已公布的关于 Kotlin 的发展成果和未来方向,Kotlin 的目标可能并不是撼动常青藤 Java 在 Android 开发领域中的地位,他们的征途或许是星辰大海。

更多详情可参考官网:https://blog.jetbrains.com/kotlin/2017/11/kotlinconf-keynote-recap

相关文章推荐

30套最实用JAVA学习视频教程合集

如果你想学习Java或者已经是Java程序员,想快速掌握Java的相关技巧,该怎么办呢?现在不用担心了,本合集就为您汇集了30套最实用Java学习视频教程、实战视频,能够使你快速掌握Java精髓,完成...

【SSH网上商城项目实战04】EasyUI菜单的实现

上一节我们使用EasyUI搭建了后台页面的框架,这一节我们主要使用EasyUI技术简单实现后台菜单,先将简单功能做出来,后期再继续丰富。 1. 实现左侧菜单         首先看一下效果图:   ...
  • eson_15
  • eson_15
  • 2016年05月07日 16:56
  • 9611

kotlin 开发 web 中文文档

  • 2017年06月21日 17:54
  • 1.02MB
  • 下载

kotlin-native-windows-0.4.zip

  • 2017年11月12日 17:00
  • 52.5MB
  • 下载

Google官方指导文章:开始用Kotlin开发Android

AndroidStudio 3.0 canary 1 官方下载地址 没梯子的点击 百度云下载地址 Google 提供的关于Android O新特性和Kotlin的demo 点击 Kotlin De...

如何看待 Kotlin 成为 Android 官方支持开发语言?

Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言。一时间朋友圈和Android圈被各种刷屏。当然我也顺势而为发布了一篇的文章《为什么我要改用Kotlin》,着实狠...

只需五分钟,开始使用Kotlin开发Android

1:本文是一篇描述如何在Android上开始一个Kotlin的HelloWorld程序的说明文。 2:其实你如果你网络够给力的话,也许三分钟就可以了。当然网络不够给力,也可能十分钟还没整好~...

Kotlin ---Android开发的一种新语言(开始篇)

Kotlin 官方文档(翻译)有时间过来和大家一起分享一下Android开发使用的另一种新语言,本文章是原创翻译,有理解的不到位的地方,请多多指教 使用Kotlin进行Android开发Kotlin是...
  • tqq1226
  • tqq1226
  • 2017年05月31日 17:34
  • 495

在 mac os 上运行 kotlin native 的第一个程序:hello world

原文链接:在 mac os 上运行 kotlin native 的第一个程序:hello world 背景   不久前有群友在讨论kotlin,就翻看了聊天记录,发现了kotlin nat...
  • zhmt
  • zhmt
  • 2017年06月21日 09:56
  • 1442

modern-web-development-with-kotlin-sample

  • 2017年05月23日 08:47
  • 1.03MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Kotlin 一统天下?Kotlin/Native 开始支持 iOS 和 Web 开发
举报原因:
原因补充:

(最多只允许输入30个字)