返回博客首页
← 所有文章

NativeScript 6.1:Kotlin 支持已上线!

2019 年 9 月 4 日 — 作者:Emil Tabakov

距离我们上次发布重大版本才过去一个半月,而 6.1 已经发布了,其中包含许多激动人心的新功能。

Kotlin 支持

Kotlin 是一种现代的静态类型编程语言,旨在提高开发人员的生产力和幸福感。自 2011 年由 Google 和 JetBrains 创建以来,它已成为 Android 生态系统中的一等公民,并且现在是开发 Android 应用程序的首选方式。

因此,NativeScript 开发人员越来越多地希望在他们的应用程序中使用 Kotlin 库,特别是那些从原生开发转向 NativeScript 的团队和公司。因此,我们必须为这些用例提供支持,这是不言而喻的。现在它已经出现了……

想象一下,您有一个用 Kotlin 编写的 Car,并将其打包为 jar 库

package com.example

class Car private constructor(val color: Color) {

    companion object {
        fun createRedCar() = Car(Color.RED)
        fun createGreenCar() = Car(Color.GREEN)
        fun createBlueCar() = Car(Color.BLUE)
    }

    fun makeSound() = "Beep from the Kotlin car!"
}

enum class Color {
    RED,
    GREEN,
    BLUE
} 

假设您想在您的 NativeScript 应用程序中与您的 Car 交互。它很简单,就像

let car = com.example.Car.Companion.createGreenCar();

let carColor = car.color;
console.log("!!!! VM: car color is: " + carColor);

let carSound = car.makeSound();
console.log("!!!! VM: car sound is: " + carSound); 

Material Design 组件

Material Design 是一种设计语言,自 2014 年创建以来,它影响了所有涉及 UI 的应用程序开发方面。它对应用程序外观和感觉的各个方面都提供了意见,从颜色、过渡和动画,到组件及其行为。由于它是 Google 开发的,因此 Material Design 长期以来一直是 Android 应用程序的预期标准,但最近,它在 iOS 应用程序中也获得了良好的采用,特别是对于那些希望两个平台之间具有 UI 平衡性的应用程序。

为了促进移动世界中的这一趋势,Martin Guillon(您可能知道他为 @farfromrefug)为 NativeScript 创建了一组 Material 组件。这是一个很棒的举措,因此我们决定通过提供技术帮助、测试基础设施和文档来支持他。所有这些都已在进行中,但与此同时,您非常欢迎使用 他的组件 以及与 Martin 合作使这些组件更加出色。

以下是所有当前可用的 Material 组件的快速浏览


通过 WiFi 运行

不知道您办公室里最大的问题是什么,但在 NativeScript 区域,我们经常遇到……电缆问题。没错,我们拥有所有这些用于开发和测试的手机,但我们通常难以找到合适的电缆。

好吧,现在没有问题了。6.1 带来了对 iOS 和 Android 通过 WiFi 在真实设备上运行应用程序的支持。


突然之间,您所有同事的手机都变成了您的奴隶。设置非常简单,只需几分钟即可 在 iOS 上完成Android 上完成。

对 Tabs 和 BottomNavigation 组件的更多改进

几个月前,团队开始努力彻底改造 NativeScript 中的标签和底部导航的工作方式。因此,我们在 6.0 中发布了组件的测试版,而这些组件现在已在 6.1 中退出测试版。

Tabs 组件现在支持使用自定义选项卡栏,如果内置选项卡栏不能满足您的需求。在样式、UX、更多公开的事件和其他酷炫功能方面也有所改进。在接下来的几天内将发布一篇专门介绍这些改进的博客文章。

最新的 iOS、XCode、macOS 和 Android

您准备好迎接另一组手机和移动操作系统的最新版本了吗?我们准备好了!NativeScript 6.1 带来了与最新技术堆栈的兼容性,因此您可以确保我们为您提供支持。

苹果世界中的重大公告将于 9 月 10 日发布,而且很有可能我们会看到新的设备,以及 iOS 和 macOS 测试版的官方发布版本。

iOS 的一个重要变化是黑暗模式。我们预计并非所有应用程序在进入黑暗模式时都具有正确的 UI,因此,如果您希望无论用户的黑暗模式设置如何,都保留应用程序的当前外观和感觉,则可以 选择退出您的应用程序

此外,Android Q 已经存在了一段时间,作为测试版,我们预计它很快就会被提升到最终版。

社区贡献

在这个版本中,我们很高兴接受社区的几个非常重要的贡献,我想指出

此外,许多其他优秀的人也贡献了他们的一部分时间和精力,使框架变得更好。让我们为他们鼓掌

rigor789narusevicsurdum-abs AjaiDubeytonjohnClaudioMeinbergDTV96Calibrejagadish-kbmap7nike47Ayushraj1baskarmibrynop thomas-alrek mukaschultze

接下来是什么?

  • 作用域 NativeScript 包不是我们可以在当前迭代中包含的内容,但它们在 6.2 中具有最高优先级。延迟的原因是我们制定了一个更好的技术计划,不幸的是,这将需要我们更多时间来实施。

  • 在接下来的几周内,我们将发布 iOS 运行时彻底改造的 Alpha 版本。新的 iOS 运行时将以 V8 为基础作为 JavaScript 引擎,并将删除 JSCore。这预计将为 {N} 开发人员以及目前维护两个 JavaScript 引擎的核心团队带来许多好处。我们将在接下来的几周内在专门的博客文章中发布更多详细信息。

  • 6.2 计划在 10 月发布,其中将包含更多出色的功能。敬请关注!