NativeScript 5.2 发布了!继续阅读以了解现在已包含在 NativeScript 中的功能和改进的完整列表。
在过去的一年里,Vue.js 用户是 NativeScript 社区发展最快的部分。正如大多数人可能记得的那样,NativeScript-Vue 集成最初是由 Igor Randjelovic 领导的社区努力,并取得了巨大成功。在过去的一个月(以及过去一年的趋势中),NativeScript-Vue 应用程序是我们生态系统中最常创建的项目类型,远远超过了“纯 JavaScript”和“纯 TypeScript”项目。
这促使团队决定在 5.2 版本中宣布正式支持 NativeScript 中的 Vue.js。这是 NativeScript 社区上一次社区调查中投票率第二高的功能。这听起来很棒,但在实践中意味着什么?
NativeScript 继续努力提供快速流畅的开发体验,尤其是在迭代开发-测试-调试循环时。对于 5.2,我们将在 热模块替换 (HMR) 功能中带来一系列改进,这将使开发变得轻而易举。以下是本版本更改的完整列表
app.css
中的更改将在不重启应用程序的情况下应用。您可以通过观看我用鲜艳的颜色销毁我的详细信息模板来了解它的工作原理 😂
tns debug
现在支持 --hmr
标志,您可以应用更改而不会中断在 Chrome DevTools 中启动的调试会话。在下一个版本中,将支持在 Visual Studio Code 中使用 HMR 进行调试。同时,查看此基本调试会话,在此会话中,我尝试修复玩家的总进球数在您的移动应用程序发布到商店并走红之后,最困难的工作之一是监控应用程序的运行状况并排查用户遇到的问题。这一直是一个痛点,因为 App Store 和 Google Play Store 中提供的默认工具与 NativeScript 应用程序配合得不好,错误报告服务(如 Crashlytics)也是如此。
到目前为止,只有导致应用程序崩溃的事件才会被报告。这只是应用程序中可能发生的所有异常的一小部分,有时重要信息可能无法传达给错误报告服务。在本版本中,异常也将被报告,启用它非常容易
var application = require("application");
application.on(application.discardedErrorEvent, function (args) {
console.log(error.message);
console.log(error.stackTrace);
console.log(error.nativeException);
//report the exception in your analytics solution here
});
如 5.1 版本 中宣布的那样,我们一直在努力为 markingMode: none
选项提供兼容性。在本版本中,我们专注于社区插件,并为插件作者提供支持,以使他们的插件与该选项兼容。您可以查看 markingMode: none 文章,以及一篇关于此事的博客文章,该文章将在不久后发布。
在本版本中,markingMode: none
选项是 Android 运行时的官方支持模式。我们鼓励大家尝试一下,如果出现任何问题,请告知我们,尤其是在 Android 上遇到性能问题的项目中。已经尝试过该选项的用户反馈非常积极,我们希望更多项目能够从性能提升中受益。
在我们的团队中,我们实施了多种实践,以便更轻松地开发原生代码,无论是在插件中还是在应用程序中。最近,我们决定将这些实践与整个社区共享。这些现在打包为一个名为 nativescript-dev-debugging 的 NativeScript 开发插件。
在初始配置之后,该插件将为您提供几种工作流程,这些工作流程将在开发和调试原生代码时为您减轻工作。一篇介绍这些工作流程的博客文章将在不久后发布。
我们对 NativeScript 框架的一个非常自豪的功能是100% 访问原生代码。这允许高度的开发人员生产力和最大程度地重用现有材料和原生库的文档。到目前为止,有一个重要的例外,即直接从应用程序中使用 iOS 中的第三方原生库(Pod)。这是在框架早期做出的一个设计决定,旨在刺激开发人员创建插件并与社区共享这些插件。
NativeScript 市场 现在提供超过 1000 个插件,我们认为不再需要此约束。这就是为什么在 5.2 中,团队决定删除此限制,并在需要原生代码开发时允许更大的灵活性和生产力。现在您可以在没有任何开销的情况下针对原生库进行开发,只需将它们放到 App_Resouces/iOS
文件夹中并开始编写代码。
nativescript-dev-appium 包提供了 Appium 与 NativeScript 之间的集成,以提供构建广泛且可靠的测试基础设施的能力。此包对于确保 NativeScript 框架本身的质量至关重要,并且已被许多 NativeScript 用户用来确保其应用程序的质量。
最近,发布了一个新的主要版本,其中包含以下改进
接下来,我们的努力将集中在准备有关如何充分利用此功能的广泛文档和教程。