NativeScript 限制

NativeScript limitations

我正在评估不同的移动框架,我认为 nativescript 是一个不错的选择。但我不知道开发过程是否存在限制。例如,我对样式有限制(这并不那么重要),但我想知道将来我是否可以有限制并且不能使用某些本机功能或外部库。 谢谢!

目前本地 api 完全可以从 JS 访问,但如果你想你可以用本地语言做一些库,也可以从 JS 代码调用它们,关于外部库,这取决于你是指本地库还是 JS 库,但是相当多 options/plugins 使用一些本机库在 JS 代码中完成,但如果不是作为 JS 插件,您可以使用本机库自己完成

我从 v0.90 开始就一直在使用 NativeScript。我为 NativeScript 编写了多个应用程序和 40 多个插件,因此我非常熟悉这些平台的来龙去脉。

此 post 是 v6.50 的功能。

我只能想到几个限制;

  • 工具有时有很多不足之处,但是在很多情况下,使用 IDE 支持的工具比本地 CLI 更好。
  • 有时错误并不总是从应用传播回 screen/ide -- 因此您必须执行 "adb logcat" 之类的操作才能查看完整的错误日志以查看已过滤的错误由 CLI 输出。
  • 本机服务(即后台服务)--- 最好将其编写为本机代码。 NS 运行次占用内存而运行ning;因此,您通常希望服务的内存占用尽可能小——除了 Java/ObjC 后台服务,我不会使用任何东西。
  • android 上的 OpenGL 需要 运行 在单独的线程中,NS 默认情况下会在从任何本机调用返回时将您切换回主线程;这基本上杀死了直接的 NS opengl 调用。然而,无论如何,在 Java 或 Kotlin 中创建任何 OpenGL 东西实际上更好;然后让 NS 调用处理所有渲染的本机代码,所以这只是一个小麻烦。

除此之外,我想不出任何 "real" 限制;您可以完全访问本机平台,并且实际上可以设置任何控件的样式,只要您知道如何通过本机调用进行操作即可;如果由于某种原因控件不支持正常的 css 样式。我和其他人在我们的应用程序中使用了许多 Android 和 iOS 库。您可以轻松地重用本机 android/ios 组件,您可以完全访问本机 iOS 或 Android 应用程序可用的任何内容。

您可以查看 https://plugins.nativescript.rocks 以获取 NativeScript 社区中所有插件的列表。

与市场上可用的其他框架相比,社区支持较低。随着人们采用该框架,这应该会有所改善。我认为这是目前的限制。

是的,调试确实是一个限制。

我已经使用 Nativescript 开发了一段时间,虽然成品(应用程序)还不错,但开发过程真的很痛苦。主要原因是 Nativescript 平台本身经常出现 bug,而且它是 VSCode 的官方插件。

我目前正在研究 Nativescript 2.0.0,自从它们问世以来,我一直在尝试更新到更新的版本,但总是有一些错误,对于 Node 或 Gradle for [=14] =],这只是我在该平台上遇到的众多问题示例之一。我希望他们在不久的将来改进它。

在我看来,Nativescript 是最好的跨平台解决方案,但正如其他人所说,它可能存在局限性。除了后台服务,访问硬件可能有点棘手。不过,我一直在使用它来处理 BLE 设备,一旦您了解了如何与本机 API 交互,它就不会那么糟糕了。

我写过一个 NS 应用程序(核心)。

一些缺点是:

  • 性能 - 加载和 运行-时间。我正在用 NS 应用程序替换 Android 本机应用程序(因为它是跨平台的),很少有客户抱怨新应用程序速度慢且不稳定...我同意。

  • NS 核心中的错误。我认为他们把自己分散得太薄了。他们需要让他们的核心产品稳定并改进它(即让它更快)。

  • 插件质量参差不齐,支持最少。 NS可以在这里策划一些重要的插件并让人们为此付费。

是的,它是免费的 - 但这对我来说不是什么大问题 - 我更愿意为更精致的产品付费。

在一天结束时 - 产品有效 - 在应用商店中拥有我的应用程序并期待未来的改进。