新闻

Kotlin路线图2021年秋季的七个亮点

Kotlin是用来将想法转化为代码的。我们试图消除所有阻碍你的想法的障碍,使阅读和写作Kotlin简单而有趣。为了实现这一点,我们需要一个非常复杂的工程系统,它由许多部分组成:语言语法、编译器前端和后端、IDE、构建工具、库和所有其他工具。为了维护和开发所有这些组件,我们的团队大约有110人。他们同时在不同的项目和任务中工作。

如果你想了解所有这些项目的最新情况,你可以查看芬兰湾的科特林公共路线图.我们刚刚更新了它,以反映我们对Kotlin 1.7.0和更高版本的计划!如果你只是想快速概述一下正在发生的事情,而不想深入细节,你可以在这篇博客文章中得到我们正在做的要点,它涵盖了七个最重要的亮点。

1.K2编译器前端正在走向Alpha

编译器是Kotlin的核心。它是整个语言的动力源泉,驱动创建应用程序的各个方面,包括IDE响应性、构建速度、二进制大小和效率。这就是我们积极投资于Kotlin编译器的原因,特别是通过构建新的K2编译器

我们的团队目前正专注于将K2编译器前端带到Α状态。前端是编译器的一部分,负责代码分析和转换到中间表示,之后由后端处理。新的编译器已经显示出了很棒的结果!它能够编译大型JVM生产项目,如Kotlin本身和IntelliJ IDEA。对于这些项目,编译速度是平均速度的两倍。

我们将继续通过编译更多的项目,修复bug和性能问题来稳定它。计划是在2022年春季之前启动并运行K2/JVM编译器公开预览。Alpha版本将提供新插件基础架构的预览,允许社区构建更多工具。

我们还投资支持非jvm后端,这将允许用K2编译器构建多平台项目。

探索路线图票:

2.关注KMM的稳定性和健壮性

KMM将于2022年春季进行测试!这意味着我们现在专注于寻找和修复尽可能多的中断用户工作流程的问题。这包括代码突出显示、导航和完成、调试以及构建工具的稳定性。

我们还将继续改进并发体验。我们刚刚发布了一款Experimental芬兰湾的科特林/本机内存管理器.它消除了JVM和Native平台之间的差异,使您可以轻松地为iOS和Android平台编写通用的并发代码。进一步的计划包括提高稳定性和性能,以便将来更容易迁移到新的内存管理器。

探索路线图票:

芬兰湾的科特林动作快!查看我们的公共路线图以获得我们现在所关注的所有功能的全貌!

3.名称空间研究和原型化

在Kotlin中,只有在相应的类声明了一个伴生对象时,才能对该类进行扩展。这带来了许多不必要的后果,比如无法扩展许多第三方库类,以及在声明私有静态类成员时效率低下。

我们计划在引入命名空间的新概念的基础上构建解决方案的原型——命名空间是一种没有每个类自动拥有的实例的临时对象。名称空间成员自然被编译为JVM上的静态成员。这将静态帮助程序组合在源代码中,但删除了所有对象开销。这旨在显著提高Kotlin与Java静态方法的互操作性,并支持对任何Java类型进行扩展。因此,它应该有助于进一步采用Kotlin/JVM。

探索路线图票:

4.koover,一个Kotlin测试覆盖工具

我们相信,拥有一个健壮的、特定于Kotlin的解决方案来收集Kotlin应用程序和库的测试覆盖率,这对我们的生态系统的发展至关重要。这就是我们介绍的原因Kover这是一个Gradle插件,可以测量Kotlin代码的代码覆盖率,并且可以使用所有的语言结构,包括内联函数。

我们的长期计划包括用于验证规则的DSL、JaCoCo使用稳定性、高级过滤和高级Android支持。我们计划根据您的反馈来开发Kover,所以请尝试并与我们分享您的反馈!

探索路线图票:

5.Dokka,一个改进的工具,生成lib文档

我们为库开发人员开发的另一个工具是Dokka,这是一个文档生成工具。我们将其升级到1.6.0测试版,这样做,我们将专注于可用性和与官方Kotlin文档的设计统一。我们希望开发人员在使用Kotlin文档时能够获得无缝的体验,无论是官方语言参考文档还是库文档。使用统一的视觉风格和结构有助于降低上下文切换的成本。

下一步是推广Dokka稳定,只有一个稳定的输出 - HTML。像Github Markdown或Jekyll,用于插件开发人员的API的其他输出格式,以及Java的Wall-Wall支持将保持在Alpha中。要前进,我们将运行一系列面试并等待您的反馈!

探索路线图票:

提示:想要参与UX研究?应用

6.改进Kotlin IDE插件发行版

将Kotlin IDE插件移动到IntelliJ平台开发基础设施是一项复杂的工程任务,它允许我们与IntelliJ平台一起提供对新工具功能的支持。然而,也有一些缺点。例如,如果您是EAP用户,您可能已经注意到IntelliJ IDEA EAP版本不支持即将发布的Kotlin版本的预览版本。我们计划改进我们的内部基础设施,以解决Kotlin IDE插件发行版采用中的这个问题和其他问题。

探索路线图票:

7.操场上的改进

你有没有这样的经历:在一个派对上,你想向朋友展示一些全新的Kotlin功能,却突然发现你没有带笔记本电脑?对于这种情况和其他许多情况,如学习语言、创建原型和分享知识,我们有Kotlin Playground..由于科特林游乐场在你们当中变得如此受欢迎,我们希望为您提供更多的功能!

如果您是一个新用户,我们计划通过更多的示例和提示来简化用户体验。如果您是高级用户,我们希望为您提供同步设备之间的进度、打开多个选项卡、导出文件等功能。我们甚至会让科特林游乐场的移动友好,所以如果你忘记你的笔记本电脑,派对不会被破坏!

探索路线图票:

---

社区是Kotlin的伟大之处。我们希望根据您的反馈和想法来制定我们的计划,所以请不要犹豫,通过YouTrack、Slack或其他渠道与我们分享。

我们将继续涵盖未来的Kotlin计划博客YouTube频道,所以订阅两者并保持调整!

了解更多

Baidu