[译]KotlinConf2017概要

KotlinConf2017概要

kotlin1.2 RC

主题演讲的第一个重要声明是发布Kotlin 1.2 Release Candidate。此版本中的新功能包括对多平台项目的实验支持,容许您在面向JVM和JavaScript的模块之间共享代码,以及多种语言改进,包括对注解中的数组字面值的支持。有关1.2中的新功能的更多信息,请查看Kotlin 1.2 Beta公告博客文章。html

如今编译器拒绝使用早期版本的Kotlin 1.2编译的二进制文件; 您将须要使用此版本从新编译它们。使用Kotlin 1.0.x或1.1.x编译的代码固然与本版本的编译器彻底兼容。前端

尽管协程仍被标记为实验功能,但咱们想澄清这种状态的确切含义。协程彻底能够在生产环境中使用,咱们在本身的开发中使用它们,而且咱们没有遇到任何重大问题。咱们保持实验状态的缘由是它使咱们有能力迭代设计。请注意,即便咱们对API进行了更改,当前的API仍将被支持,即便它被标记为已被弃用,咱们将提供必要的迁移工具。根据咱们目前的计划,在kotlin1.3中将删除协程的实验状态。react

如今是咱们要求你帮忙的时候了。尽管咱们在内部和JetBrains的其余团队进行了大量的测试,但现实世界的范围远远大于咱们所能接触到的。所以,请给Kotlin 1.2 RC一个尝试你本身的项目,让咱们知道若是你遇到任何问题。您的帮助对于确保顺利的最终发布相当重要。
告诉你们去试试看git

Kotlin / Native iOS支持

咱们宣布的下一个大新闻是支持使用Kotlin / Native的iOS开发,做为Kotlin / Native 0.4的一部分发布。这个支持还处于早期阶段,但它仍然在这里,这是咱们在全部平台上启用Kotlin开发的重要一步。github

为了显示可能的事情,咱们写了两个应用程序并发布到App Store:web

spinner示例应用GitHub)是使用OpenGL构建了一个简单的游戏。它在iOS和Android(play store)上运行,大多数代码在两个版本之间共享。iOS版本有几个附加功能,如游戏中心集成。
KotlinConf appstore(GitHub上)展现了本次会议的日程安排,与UIKit的内置全机iOS UI。
这两个示例应用都是开源的,您可使用它们做为模板,在纯Kotlin中构建本身的跨平台移动应用。npm

Kotlin / Native IDE支持

固然,开发任何语言都须要一个IDE,因此从今天开始,Kotlin / Native有了IDE支持。
咱们如今正在为Cion C / C ++ IDE的CLion发布Kotlin / Native插件的初始预览版本。该插件支持CMake做为构建系统。它包括IntelliJ IDEA的Kotlin插件的全套代码编辑功能,以及初步支持项目建立,测试和调试。编程

image

要尝试插件,请安装CLion 2017.3 EAP并在JetBrains插件列表中搜索“Kotlin / Native”。后端

在接下来的日子里,咱们将发布一个单独的博文,其中包含了关于插件及其功能的更多细节。固然,CLion插件只是Kotlin IDE支持的一小步,敬请关注明年的进一步公告!api

Ktor 0.9

服务器端开发也是咱们的多平台项目的关键部分。如今咱们宣布本身承担这一部分:Ktor的0.9版本,这是一个很是棒的基于异步协程的Web框架,它基于Kotlin创建起来。

Ktor已经在JetBrains和社区内的许多项目中使用,如今咱们相信它是构建很是高性能Web应用程序的坚实基础。查看ktor.io 的快速入门指南,尝试一下,让咱们知道你的想法,因此咱们可使它更好的1.0版本。

使用React和Kotlin建立现代Web应用程序

对于Web前端开发与科特林,今天最大的新闻是发布官方kotlin-wrappers React.js,以及 create-react-kotlin-app,用于建立使用React.js kotlin现代Web应用程序工具箱。使用create-react-kotlin-app,您能够生成并当即开始在客户端应用程序中工做,而不用担忧项目设置和构建配置,使用静态类型语言的优势和JavaScript生态系统的强大功能。

要开始使用,请运行npm install -g create-react-kotlin-app查看入门指南

多平台项目演示

为了展现咱们的多平台项目中的全部内容如何组合在一块儿,咱们已经构建了一个使用咱们技术栈的最新技术的应用程序:KotlinConf应用。它由如下组件组成:

后端使用Ktor ;
web端应用使用React.js和Kotlin React包装器;
Android应用使用Anko和Android架构组件;
iOS应用(上面提到)使用UIKit。

后端,web端应用程序和Android应用程序共享代码使用Kotlin多平台项目技术。对于异步编程,全部组件都使用协程。为了在服务器和客户端之间交换数据,咱们使用全新的kotlinx.serialization库

你会发现这些源代码是很宝贵的技术,你也能够在本身的工做中使用。

学习kotlin

随着Kotlin发展,愈来愈多的人对学习语言感兴趣。为了使这更容易,咱们发布了一个新版本的EduTools插件,容许经过解决您最喜好的IDE中的交互式练习来学习Kotlin。新版本增长了对Android Studio的支持(之前仅支持IntelliJ IDEA),并包含用于构建本身的课程的新UI。

将来方向

至于语言的将来发展,咱们此时的主要目标是在Kotlin支持的平台之间实现更好和更普遍的代码重用。咱们计划使用相同的API扩展全部平台上可用的库,以包括I / O,网络,序列化,日期处理等。

在编译器中,咱们的主要重点是1.3将保持内部变化,而不是外部可见的语言特性。内部更改将实现更好的性能,改进的类型推断,为全部目标平台生成更有效的代码,以及更好地响应IDE插件。咱们但愿咱们仍然能够经过一些不错的新语言功能来改善发行版本,可是咱们目前尚未做出任何承诺。

让咱们kotlin!

我的公众号

相关文章
相关标签/搜索