美文网首页
[译]KotlinConf2017概要

[译]KotlinConf2017概要

作者: Anel | 来源:发表于2017-11-03 13:07 被阅读71次

    KotlinConf2017概要

    kotlin1.2 RC

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

    现在编译器拒绝使用早期版本的Kotlin 1.2编译的二进制文件; 您将需要使用此版本重新编译它们。使用Kotlin 1.0.x或1.1.x编译的代码当然与本版本的编译器完全兼容。

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

    现在是我们要求你帮忙的时候了。尽管我们在内部和JetBrains的其他团队进行了大量的测试,但现实世界的范围远远大于我们所能接触到的。因此,请给Kotlin 1.2 RC一个尝试你自己的项目,让我们知道如果你遇到任何问题。您的帮助对于确保顺利的最终发布至关重要。
    告诉大家去试试看

    Kotlin / Native iOS支持

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

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

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

    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支持的一小步,敬请关注明年的进一步公告!

    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!

    个人公众号

    相关文章

      网友评论

          本文标题:[译]KotlinConf2017概要

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