返回博客首页
← 所有文章

NativeScript 5.0 热腾腾出炉啦!

2018年11月6日 — 作者:Veselina Radeva 和 Emil Tabakov

我们花了比平时多一个月的时间来烘焙 NativeScript 5.0,但它真是一个棒棒的版本!它热腾腾地出炉🔥,包含许多开发者体验的改进,Vue.js 支持的增强,以及更多原生功能的启用。

  • 🔥📦🔃 热模块替换,简称 HMR (Beta)
  • 通过 CLI 在 Playground 预览应用中启用 tns preview
  • 交互式 tns create
  • 完成 iOS 中“安全区域”的支持
  • 迁移以支持 Android 库 API v28
  • 支持 iOS 和 Android 不同的应用 ID
  • 所有 NativeScript UI 组件的 Vue.js 支持(感谢我们的社区!)
  • … 以及更多!
观看 NativeScript 5.0 发布网络研讨会 以了解这些功能的实际应用!

让我们来看看详细内容

热模块替换

此版本中最受欢迎的命令之一是 tns run ios|android --hmr!您可以体验极速的开发周期,最大程度减少应用程序重启次数,并且不会丢失状态。此功能是我们持续努力提供卓越开发体验的一部分,我们为迄今为止取得的成果感到自豪。此外,我们还有更多想法将此功能推向更远,详见 此 GitHub Issue

有关技术实现以及幕后工作原理的更多详细信息将在未来几周内发布在专门的博文中。

nativescript hot module replacement

通过 CLI 在 Playground 预览应用中预览

我们知道您喜欢 NativeScript Playground 及其提供的预览应用体验。因此,我们决定将相同的体验引入 CLI。您现在可以使用相同的工作流程以及您选择的编辑器,并使用 Playground 和预览配套应用直接在物理设备上预览您的应用程序。

CLI 中的使用非常简单

  • 运行 tns preview 命令
  • 使用 NativeScript Playground 应用扫描提供的二维码,就像在 Playground 中一样
  • 在您的设备上预览您的应用!

这还不是全部!使用 tns preview 允许 **Windows 用户预览 iOS 上的应用程序**。是不是很酷?!

nativescript tns preview

要查看有关用法和限制的更多详细信息,请 阅读我们的文档

增强的 tns create 命令

在 5.0 之前,运行 tns create 默认情况下会创建一个空的 JavaScript 应用。对于 Angular 或 TypeScript,用户需要显式使用 --ng--tsc 等选项。

现在,使用 5.0,我们通过询问用户他们首选的 NativeScript 应用风格 - 纯 JavaScript 或 TypeScript、Angular 或 Vue.js - 以及他们首选的 NativeScript 模板 - 空白、Hello World、侧边抽屉或选项卡 - 来引导用户完成项目创建过程。您不再需要显式使用其他选项或了解每个基本模板(如侧边抽屉和选项卡)的确切名称。该命令将引导您完成整个过程。

nativescript tns create

iOS 的完整安全区域支持

为了履行我们承诺,支持用户创建外观惊艳的应用程序,我们现在为 iOS 设备提供了完整的安全区域支持。您现在可以真正突破设备的界限,并在您的应用程序中创建沉浸式用户体验。

nativescript safe area support

更多涵盖各种场景的详细信息将很快在专门的博文中提供 - 并且 这里有专门的文档

迁移到支持库 API v28

您现在将能够使用 Android 支持库 v28 中提供的最新功能。到目前为止,支持的版本为 v26-alpha。升级到 {N} 5.0 后,您需要在开发者机器上安装支持库 API v28 才能成功构建您的应用程序。说明 在升级步骤中提供

支持 iOS 和 Android 不同的应用 ID

在 5.0 之前,iOS 和 Android 应用程序必须具有相同的 applicationId。如果您要迁移具有不同标识符的旧应用程序,这可能会导致问题。现在,您可以灵活地在两个平台上设置不同的 appIds,遵循 提供的文档

改进的 NativeScript UI 组件的 Vue.js 支持

当您说和写的时候 - 我们倾听并执行。根据上次社区调查,NativeScript-Vue 爱好者投票最多的功能之一是对 NativeScript UI 组件 的更好支持。我们在过去两个月里改进了所有组件的 Vue.js 包装器,并在文档中添加了更多演示和示例。

直接从 CLI 创建插件 🔌

到目前为止,插件作者必须克隆 NativeScript 插件种子 并运行一些命令才能开始构建新插件。在 5.0 中,我们引入了一个新命令 tns plugin create,它将开箱即用并指导插件作者完成整个过程。

LiveSync 和调试改进

作为开发者,我们的大部分时间都花在编写代码 -> 测试 -> 调试的循环中。而我们的时间非常宝贵,可能是我们拥有的最宝贵的资源!我们的团队花了很多时间优化 NativeScript 开发环境中的这个循环。通过最新的更改,您可以期待 LiveSync 操作的初始时间显着提高(约 20-30%)(时间可能因开发工作站和应用程序而异)。

其他值得注意的更改

  • Marketplace 中新增了 5 个经过验证的插件 - nativescript-photo-editornativescript-socketionativescript-rating-dialognativescript-webrtc-plugin。请务必感谢作者 - Peter StaevOsei FortuneJonathan Mayunga 为社区提供高质量的组件。
  • 放弃对 macOS Sierra 的支持 - 我们的分析显示,此版本的 macOS 使用率不到整体使用率的 2%。我们决定放弃对 macOS Sierra 的支持,并将注意力和资源集中到更新的版本上。
  • 删除对 XCode 8 的支持
  • NativeScript UI 组件中解决了 10 多个高严重性和关键严重性的问题。特别关注改进复杂的场景,例如在 RadListView 中同时使用“下拉刷新”和“按需加载”功能。

接下来是什么?

首先,不要盲目相信我们的说辞,请亲自尝试一下。我们准备了 迁移指南,以使过渡过程尽可能流畅。

并且,因为我们一刻不停,以下是在 5.0 之后您很快就能期待的功能

  • Angular 7 支持
  • 更多关于使用 Angular 进行灵活根组合的场景
  • 修复和改进热模块替换

敬请期待更多关于 5.1 的信息 - 我们的圣诞节版本!🎅🎄

详细信息将很快在 发行说明 中提供。

感谢您! 🤗

如果没有所有贡献时间到开源 NativeScript 框架的你们,这一切都不可能实现。给自己一个大大的鼓励!

hettigerdaviditsyginrakeshgirasefarfromrefugsurdum-absPeterStaevDickSmithhamdiwanisreinaldorauchCoreyColebangseongbeomdodongphuremarklanhamhcbaskar3078jrpoolsundaygleeshiv19milejkotushutripathifelipebuenoludciladcarrot2kantlambourn