查看原文
其他

Java 11 , Kotlin , Android Studio, TypeScript 重要更新来了

爱技术 开发者技术前线 2019-05-23

点击上方“开发者技术前线”,选择“置顶或者星标”

属于你的文章一触即达!


本月Java,   Kotlin ,Android studio,  TypeScript 都有新的版本出来或者新特性发布,作为开发者不得不关注这些新特性,今天第一时间推送,先睹为快吧!



北京时间7月31日,微软推出 TypeScript 3.0 正式版。

TypeScript 3.0 是一个新的里程碑。官方表示,尽管版本号是一个大变化,但 3.0 版本几乎没有破坏性的变更(这意味着我们可以很轻松地升级到该版本),3.0 引入了一种新的灵活且可扩展的方式来构建项目、提供对参数列表进行操作新的强大支持能力、强制显式检查的新类型、更好的 JSX 支持、整体更好的错误处理,等等。

项目引用(Project references)

这是 3.0 版本中引入的一个新概念。考虑这样一个场景 —— 对于开发者而言,为库或应用程序提供几个不同的构建步骤是相当常见的。也许你的代码库有一个 src 和一个测试目录。也许你将前端代码放在一个名为 client 的文件夹中,将 Node.js 后端代码放在名为 server 的文件夹中,每个文件夹都从共享文件夹中导入代码。也许你使用所谓的“monorepo”并且有许多项目以复杂的方式相互依赖。

官方表示,针对上述的场景,他们为 TypeScript 3.0 开发了最重大的功能之一 ——“项目引用(project references)”。

项目引用允许 TypeScript 项目依赖于其他 TypeScript 项目 —— 特别是允许 tsconfig.json 文件引用其他 tsconfig.json 文件。指定这些依赖项可以更容易地将代码拆分为更小的项目,因为它为 TypeScript(及其周围的工具)提供了一种理解构建顺序和输出结构的方法。这意味着更快的构建可以逐步工作,并支持跨项目导航、编辑和重构。由于 3.0 奠定了基础并公开了 API,因此任何构建工具都能够提供这一功能。

在JSX 中支持 defaultProps

该特性使得调用者可以通过不需要某些参数来更轻松地使用函数。

JDK 11 进入 Rampdown 第二阶段,正式版已在路上




随着时间的临近,再有两个预览版本,JDK 11 就将迎来正式版本。

JDK 11 总共包含 17 个新的 JEP ,分别为:

  • 181: Nest-Based Access Control(基于嵌套的访问控制)

  • 309: Dynamic Class-File Constants(动态类文件常量)

  • 315: Improve Aarch64 Intrinsics(改进 Aarch64 Intrinsics)

  • 318: Epsilon: A No-Op Garbage Collector(Epsilon — 一个无操作的垃圾收集器)

  • 320: Remove the Java EE and CORBA Modules(删除 Java EE 和 CORBA 模块)

  • 321: HTTP Client (Standard)

  • 323: Local-Variable Syntax for Lambda Parameters(用于 Lambda 参数的局部变量语法)

  • 324: Key Agreement with Curve25519 and Curve448(Curve25519 和 Curve448 算法的密钥协议)

  • 327: Unicode 10

  • 328: Flight Recorder

  • 329: ChaCha20 and Poly1305 Cryptographic Algorithms(ChaCha20 和 Poly1305 加密算法)

  • 330: Launch Single-File Source-Code Programs(启动单一文件的源代码程序)

  • 331: Low-Overhead Heap Profiling(低开销的 Heap Profiling)

  • 332: Transport Layer Security (TLS) 1.3(支持 TLS 1.3)

  • 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental) (可伸缩低延迟垃圾收集器)

  • 335: Deprecate the Nashorn JavaScript Engine(弃用 Nashorn JavaScript 引擎)

  • 336: Deprecate the Pack200 Tools and API (弃用 Pack200 工具和 API)


Kotlin 1.3 新特性抢先看


Kotlin 1.2 的新增了哪些特性? Kotlin 的下一个大版本 1.3 也已迎来首个预览版。

Kotlin 1.3 包含哪些亮点?


Coroutines 协程

Kotlin 1.1 引入了对协程的基本支持,但该特性一直处于试验阶段。好消息是,在 Kotlin 1.3 中,Coroutines 语法和标准库 API 都已稳定,并将保持向后兼容。

协程实际上是一个轻量级的线程,可以挂起并稍后恢复。协程通过挂起函数支持,对这样的函数的调用可能会挂起协程,并启动一个新的协程。

Kotlin 1.3 对协程的更改亮点包括:

  • KT-16908 支持挂起函数的可调用引用

  • KT-18559 所有与 coroutine 相关的类可序列化

新特性

  • Capturing when subject in a variable

  • @JvmStatic and @JvmField in companions of interfaces

  • Nested declarations in annotation classes  —— 现在可在注释伴生对象中声明成员

  • Functional types of higher arity —— 函数类型限制提至 255 ,这是方法在 JVM 上可具有的实际最大参数数量。

试验特性

  • Inline classes —— 内联类

  • Unsigned integer types

  • 用于标记已选中的试验 API 的注释

Android Studio 3.2 Beta 5 发布


Android Studio 3.2 Beta 5 现已发布。下载地址 >>> https://developer.android.com/studio/preview/index.html

本次更新包括以下的行为更改:

  • Android Studio 现在强制执行最小 Protobuf Gradle 插件版本为 0.8.6

错误修复:

  • Translations Editor rows weren't aligned properly after scrolling.

  • Running another project using GradleBuild was causing java.lang.IllegalMonitorStateException: attempt to unlock read lock, not locked by current thread.

  • Layout styles were improperly requiring API level 17 instead of 15.

  • Android Studio wasn't properly navigating to certain styles with error message: "Cannot find declaration to go to".

  • Linter wasn't properly resolving some API level values.


   来源:开源中国

加群 请回复加群, 淘金请回复“淘金”

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存