返回博客首页
← 所有帖子

使用 NativeScript 重用您对原生 iOS 和 Android 应用程序的投资

2016 年 10 月 28 日 — 作者:Valio Stoychev

您的公司是否已经拥有一个或多个一流的原生移动应用程序,并且正在努力跟上所有变更和支持以保持最佳状态?也许您有一个更大的网页开发者团队,您很乐意让他们参与您的移动应用程序开发?

我们在与客户交谈时经常听到这个问题。找到合格的原生移动工程师通常并非易事。跨多个代码库同步功能效率低下。许多公司通常只有网页开发者负责网站和网页应用程序,而一个小型的移动团队则负责开发原生移动应用程序。这就是过去出现 PhoneGap 等框架的原因,PhoneGap 允许您在移动应用程序中使用 WebView。不幸的是,它们无法提供原生框架所提供的质量和功能。

只有在您创建原生应用程序的情况下,才能实现一流的移动体验。随着 NativeScript 等 JavaScript 原生移动框架的引入,这种情况不再是问题,您可以使用网页技术实现一流的原生移动应用程序。

那么 NativeScript 如何帮助您呢?

正如我们的一位合作伙伴(https://www.convective.com/)在其网页上所说

您的移动应用程序必须支持所有平台。
您的预算只能支持一个平台。
这是一个问题。
NativeScript 解决了这个问题。

您可以通过两种方式开始使用 NativeScript。您可以从头开始应用程序,并完全使用 NativeScript 实现它;或者,如果这不是一种选择(从业务或上市的角度来看),您可以开始使用 NativeScript 仅实现新功能或应用程序的某些部分,并逐步迁移。

我将把这种选择留给您。它取决于许多因素,您更了解您的开发者和移动战略。如果您有能力从头开始,从工程的角度来看,这可能是一种更简洁的方法,并且会让您完全控制应用程序。

注意事项

NativeScript 框架允许您

  • 完全访问底层的原生 iOS 或 Android API,这意味着您在原生应用程序中使用的任何内容都在 NativeScript 中可用。

  • 您可以从第一天开始使用最新的框架。我们目前支持最新且最强大的 iOS 和 Android 框架和工具。

  • UX 和 UI 是原生的。实际的原生组件用于呈现应用程序 UI。

  • 后台执行。您可以使用后台工作者,并且可以使用各自的原生框架中提供的后台执行工具。您可以阅读更多关于此 here.

  • 响应式设计作为核心框架的一部分。 您可以为横向/纵向模式或任何形状因数实现不同的设计。

如您所见,使用 NativeScript 与原生应用程序相比没有限制。

如果您已经在原生 iOS 或 Android 库(UI 或非 UI)方面投入了大量资金,那么好消息是您可以在 NativeScript 应用程序中重用它们。在 NativeScript 中已经创建了大约 400 个插件,它们正在使用原生库。最新 Android Material 设计和最新 iOS 设计模式开箱即用地得到支持。

优点

现在让我们看看在您开始使用 NativeScript 而不是直接使用原生框架时会获得哪些好处。

优点 #1:首先,您现在只有一个代码库要支持,这意味着更便宜的实现和更快的上市时间。但我们都知道,初始实现是任何软件产品的魔鬼。这是之后的支持。尤其是在移动应用程序的情况下,底层移动操作系统和工具每隔几个月就会发生变化。因此,我认为单一代码库的最大好处是初始发布后的支持成本要低得多。

优点 #2:NativeScript 的另一个好处是,与原生框架相比,开发实际上快得多,因为在每次代码更改后无需重新编译应用程序即可查看结果。我们遵循网页理念,代码中的每项更改都会在设备/模拟器屏幕上以秒为单位显示。

优点 #3:使用 NativeScript,可以对已发布的应用程序提交热补丁以解决小的错误。如果您想应用一个小修复,而无需经过应用程序商店的完整审核周期(可能需要一周或更长时间),这将非常有用。

优点 #4:NativeScript 是开源的,并且由一家投资开发者工具的公司支持。 整个源代码在 GitHub 上可用,并且有一个活跃的社区参与。您可以分叉项目,或在需要时请求修复或功能。

优点 #5:最近,社区中有很多讨论围绕着这个主题。对我来说,最有趣的事情之一是,您不再需要根据团队将要工作的平台来划分团队。您不再需要 iOS 团队或 Android 团队,或 Windows Phone 团队。现在,您可以拥有一个可以进行跨平台移动开发的团队。在该团队中,您可以拥有深入了解特定业务需求并专注于需要解决的实际业务问题的人员,而不是他们使用的技术。

优点 #6:云开发。这是一个大问题。使用 NativeScript,您不需要设置原生开发工具包的本地环境。原生开发工具包非常复杂,需要深入了解原生才能安装,并且需要在长期维护它们。使用 NativeScript,您可以使用云构建服务来构建、打包和预览云上的应用程序,而无需维护本地环境。但是,如果您更喜欢本地、断开互联网连接的环境,则可以使用本地构建。云构建的另一个好处是,如果您使用 Windows 作为开发机器,则不需要 Mac 机器来开发 iOS 应用程序。

优点 #7:如果需要,您可以拥有 iOS 和 Android 的自定义功能。自定义布局、页面、功能。 如果您不想让 iOS 和 Android 的应用程序完全相同,您不需要这样做。

总结

  • 开源,

  • 一个代码库,带来了以下好处

    • 更便宜的实现,

    • 更快的上市时间,

    • 由于使用的代码更少,因此支持更少。

  • 可以重用现有的原生库,

  • 可以集成到现有的原生应用程序中,

  • 更快的预览 - 实时同步,

  • 热补丁 - 避免针对小型更新重新提交市场,

  • (可选)如果您在 Windows 上进行开发,则不需要 Mac 机器来构建 iOS,

  • (可选)不需要支持本地开发环境,

  • 以解决方案为中心的工程团队,而不是以平台为中心。

说服了吗?

要查看 NativeScript 的实际应用,请查看我们的 已发布的演示应用程序

要从头开始 NativeScript 应用程序,请遵循我们的 入门指南。如果您决定将 NativeScript 集成到现有的应用程序中,请遵循 本指南

即使技术堆栈相同,网页开发和移动开发之间也存在差异。网页开发和移动开发中涉及的设计模式不同,移动操作系统彼此不同,并且无论开发者使用哪种技术,移动技能仍然是开发者应该学习的东西。为了帮助您完成这种过渡,我们提供了一个大型 代码示例列表,这些示例实现了最常见的移动设计模式