如今,对于企业而言,提供移动应用基本上是一项业务需求。开发应用的首要步骤之一是了解不同类型——原生、混合(或跨平台)和 Web 应用——以便您可以决定哪种最能满足您的需求。
原生应用更好,对吗?
原生应用 代表了人们每天下载的绝大多数应用程序。原生应用程序是专门为操作系统开发的。因此,原生 iOS 应用程序无法在 Android 系统上运行,反之亦然。要开发原生应用,您需要了解两件事:
- 如何在特定的编程语言中进行开发(例如,Apple 设备的 Swift;Android 的 Java)
- 该应用将无法在其他平台上运行
即使原生应用只能在其开发的平台上运行,但与混合应用和 Web 应用相比,它们仍具有一些显著的优势:
- 更高的速度、可靠性和响应速度,以及更高的分辨率,所有这些都提供了更好的用户体验
- 可能可以离线/在没有互联网服务的情况下工作
- 更容易访问所有手机功能(例如,加速计、摄像头、麦克风)
但我的业务仍然与 Web 相关联……
大多数公司都将资源集中在 Web 开发上,现在希望进入移动市场。但是,许多公司没有合适的技术资源来为每个平台开发原生应用。对于这些公司,混合 开发是正确的选择。在这种模式下,开发人员可以使用他们现有的前端技能来开发单个跨平台移动应用。

混合应用是一个良好的中间地带:它们比原生应用开发速度更快、成本更低,并且比 Web 应用提供更多的可能性。缺点是它们的性能不如原生应用,并且开发人员无法像 Web 应用那样保持对 Web 开发的专注。
如果您已经是 Angular 跨平台开发框架的爱好者,我建议您尝试 Ionic 框架,该框架“让 Web 开发人员构建、测试和部署跨平台混合移动应用”。我将 Ionic 视为 Apache Cordova 框架的扩展,该框架使普通的 Web 应用(JS、HTML 或 CSS)能够在容器中作为移动应用运行。Ionic 使用基本的 Cordova 功能,这些功能支持 Angular 开发以实现其用户界面。
这种方法的优点很简单:Angular 范例得以保留,因此开发人员可以继续编写 TypeScript 文件,但通过正确配置开发环境,可以针对 Android、iOS 和 Windows 进行构建。它还提供了两个重要的工具:
- 具有吸引力的设计和小部件,与原生应用非常相似,因此您的混合应用看起来不会那么“Web”
- Cordova 插件允许应用与所有手机功能进行通信
那么 Node.js 后端呢?
编程世界喜欢标准化,这就是混合应用如此流行的原因。前端开发人员的通用技能在移动世界中非常有用。但是,如果我们有一个用于用户界面的技术堆栈,为什么不专注于使用相同的编程范例的单个后端呢?
这使得 Node.js 成为一个有吸引力的选择。Node.js 是一个构建在 Chrome V8 JavaScript 引擎之上的 JavaScript 运行时。它可以使 API 开发后端非常快速和容易,并且可以与 Web 技术完全集成。您可以使用 Node.js 后端在您的混合应用内部开发 Cordova 插件,就像我使用 nodejs-cordova-plugin 所做的那样。此插件遵循 Cordova 指南,集成了移动兼容版本的 Node.js 平台,以提供全栈移动应用。
如果您需要一个简单的 CRUD Node.js 后端,您可以使用我的 API 节点生成器,它使用嵌入式 MongoDB 数据库生成一个应用。

部署您的应用
开源提供了您以最佳方式部署应用所需的一切。您只需要一个 GitHub 存储库和一个良好的持续集成工具。我推荐 Travis-ci,这是一个出色的工具,可让您为每次提交构建和部署您的产品。
Travis-ci 是更知名的 Jenkins 的一个分支。与 Jenkins 一样,您必须通过 GitHub 存储库中的配置文件(在本例中为 .travis.yml 文件)配置您的管道。请参阅我的存储库中的 .travis.yml 文件 作为示例。

此外,此管道还会自动将您的应用交付并安装到 Appetize.io(一个基于 Web 的 iOS 模拟器和 Android 模拟器)上,以进行测试。
您可以在我的 GitHub 存储库的 Cordova Android 部分了解更多信息。
评论已关闭。