面向开发人员的最佳跨平台移动开发工具
Write Once Run Anywhere (WORA) 是指在一个平台上编写一次但可以在多个平台上运行的一段代码。随着移动平台种类的增加,开发人员发现更难以消费形式提供他们的应用程序,因为用户可能在非常不同的平台上。
为了节省精力和时间,这里的目标是创建具有代码重用的多平台应用程序。为了帮助您进行跨平台移动应用程序开发,我们将介绍 10 个最佳跨平台框架,用于开发可在多个平台(包括 Android、iOS、Windows Phone、BlackBerry OS 等)上运行的移动应用程序。
PhoneGap
开源 PhoneGap 是利用现有网络技术构建跨平台移动应用程序的绝佳选择。PhoneGap 最适合不大量使用手机本机功能的移动应用程序。
它将您的应用程序打包在一个本机应用程序容器中,允许 JavaScript 像普通应用程序一样访问设备级 API。
优点:
- 它允许使用流行的网络技术(HTML5、CSS3 和 JavaScript)创建混合应用程序,这些技术也是现成的技能集
- 它允许您将单一代码库部署到不同的平台,包括 iOS、Android、Windows Phone、BlackBerry、Firefox OS 等
- 它遵循可插件架构,这意味着可以以模块化方式扩展对本机设备 API 等的访问
- 它使您能够通过适用于 iOS 的 App Store、适用于 Android 的 Google Play 商店等使用应用内集成支付
缺点:
众所周知,使用 PhoneGap 制作的图形密集型应用程序的性能有点差。尽管您可以根据要求轻松找到适用于 PhoneGap 的插件,但根据目标平台,它们可能有些过时或不受支持。
加速器
Appcelerator通过仅部署一个 JavaScript 代码库来帮助构建原生应用程序。它在本机应用程序中提供您的Web 内容,确保您的代码不会像其他少数此类解决方案那样包裹在 Web 容器中。
优点:
- 它提供了用于快速应用程序开发的工具。可以用更少的时间和精力构建原型来评估用户与 UI 的交互
- 它包含一个名为 ArrowDB 的无模式数据存储,可让您以零设置工作部署数据模型
- 它提供与现有持续交付系统(如 SCM 和 MDM 解决方案)的无缝集成
- 它具有可用于 MS Azure、MS SQL、Salesforce、MongoDB、Box和各种其他的预构建连接器
缺点:
众所周知,Appcelerator 有点问题和滞后,但较新的版本更稳定。也有用户抱怨其开发者社区的支持不力。
赛马林
Xamarin可帮助您使用共享的 C# 代码库为多个平台构建本机应用程序。有了 Xamarin,您可以在 C# 中做您在 Objective-C、Swift 或 Java 中可以做的任何事情,这与人们普遍认为的不同。它使您可以在任何地方使用相同的 IDE、语言和 API。此外,Git 集成直接内置到 Xamarin Studio 中。
优点:
- 它的示例应用程序可以快速轻松地启动;这些应用程序写得很清楚,也可以作为参考
- 大约 75 % 的开发代码可以使用 Xamarin 在主要移动平台之间共享,这大大降低了成本并缩短了上市时间
- 它为众多设备提供功能测试和质量保证,以确保无缝集成(甚至提供自己的 Android 模拟器)
缺点:
使用 Xamarin,由于兼容性问题,您仍然无法使用大量用于 iOS 和 Android 开发的开源库。免费版本在开发大型项目时受到严重限制。
代号一
Codename One是一个跨设备平台,其目标是简单易用、快速应用程序开发、以可能的原生速度与原生平台深度集成。
虽然您需要使用 Java 进行编码,但您的应用程序也可以使用 Codename One 的模拟器设备和测试自动化工具进行测试和验证。
优点:
- 它支持大多数流行的 IDE,如 NetBeans、Eclipse、IntelliJ IDEA 等。
- 其“轻量级架构”允许用户界面在所有平台上无缝工作
- 它的构建服务器允许在没有 Mac 机器的情况下构建本机 iOS 应用程序和在没有 Windows PC 的情况下构建本机 Windows 应用程序
- 它使用 ParparVM 保证与未来 iOS 版本的兼容性,因为它使用了官方支持的 iOS 工具链
缺点:
Codename One 的默认视觉主题有点原始,它的Graphical UI Builder 可能不太适合大型项目。随着项目复杂性的增加,维护一个包含所有事件处理程序的文件变得非常麻烦。
转换
Convertigo是一家开源软件供应商,提供包含以下解决方案的移动企业应用程序平台:Convertigo Studio、Convertigo Server、Convertigo Cloud和Convertigo Mobilizer。
优点:
- 它允许您创建业务驱动的事件来计算通知用户,即使设备处于待机模式
- 它允许使用各种连接器连接到企业数据,例如 SQL 数据库或 Web 服务
- 凭借其 Fullsync 数据复制技术,即使无法访问网络,也可以在本地访问数据
缺点:
Convertigo 有三种不同的计划,其中免费计划只有社区支持,不包括其 Fullsync 离线数据支持。
9.原生脚本
Nativescript是另一个用于构建本机跨平台移动应用程序的开源平台。Nativescript 为您提供大多数移动平台的JavaScript 原生 API 。
您可以直接在 NativeScript 项目中轻松地重用 npm 中的现有插件,从而更轻松地扩展应用程序的功能。
优点:
- 它深入嵌入了对 Angular.js 2 和 TypeScript 的支持
- 它可以让你使用几乎所有不依赖互联网的 javascript 库
- 它的应用程序利用本机组件并可以直接访问本机 API 以及对开发库的完全访问权限
- 它具有跨平台声明式 UI 支持,允许您制作一次应用程序的 UI 并在其他支持的平台上轻松使用
缺点:
多线程是 Nativescript 中的一个可能问题,可能会在以后的版本中得到改进。它的每个功能都缺乏深入的示例和文档。