如何将Android应用程序转换为本地iOS或OSX应用程序?
扫描二维码
随时随地手机看文章
多年来,跨平台开发一直是大多数独立开发人员面临的最大挑战。学习一种新的编程语言将您的应用程序移植到另一个平台通常会浪费时间和资源。多年来,由于市场的较高盈利能力,分配资源这一事实已导致许多开发人员将重点放在iOS上。多亏了Xamarin这样的项目,熟悉C#的开发人员才能在iOS,Android和Windows Mobile上推广他们的项目。但是,Android开发人员更熟悉Java编写。要使用Xamarin,开发人员必须熟悉新语言和构建平台。我们已经提出了一个项目,旨在通过为Java开发人员提供跨开发平台(Intel Multi-OS Engine)来弥合移动操作系统之间的鸿沟。但是,该项目的目的仍不清楚。这就是MechDome进来的地方。
MechDome是一家总部位于加利福尼亚州的新兴公司,于1月成立,该公司开发了一种转换工具, 可以根据您的Android应用自动创建本机iOS和OS X应用。 无需学习如何使用新的IDE或API。您所需要做的就是将APK文件发送到MechDome(无需将其发送给您的源代码),并且全自动工具将在几秒钟内为iOS和OS X编译一个独立的二进制文件,然后开发人员可以在Apple的App Store上分发该二进制文件。 。我们在接受MechDome创始人兼首席执行官Mario Kosmiskas的采访时坐下来,观看了该工具的实际演示–该工具 有效。尽管由于iOS和Android操作方式的根本差异(我们将在下面讨论)存在一些限制,但该工具已经在Apple App Store上生产了一些实时应用,例如开源 Reddit客户端RedReader 和开放源代码。源 Sudoku客户端以证明其有效。
MechDome的既定目标是允许开发人员将未经修改的Android应用程序转换为本地iOS或OS X应用程序。与诸如Intel的Multi-OS Engine或Xamarin之类的技术相比,Android开发人员不需要知道如何绑定Objective-C库, 因为该工具将为您处理。由于MechDome会处理所有Android UI元素的转换,因此也不需要使用UI构建器来修改您的Android应用。是的,即使Android平板电脑应用程序也可以很好地转换为适用于iPad的格式。
MechDome的最大承诺是,转换后的Android应用将以目标操作系统用户熟悉的方式运行。例如,Android共享菜单将替换为iOS中的本机共享表,并且将包括使用AirDrop(如果适用)的功能。在Android中发布通知的应用将改为在iOS的通知中心中显示通知。某些意图(例如在Android上打开相机)确实会在iOS设备上打开相机,而Android上的URL意图将在iOS上调用Safari。Android上访问联系人或日历的内容提供商将改为访问相关的iOS或OS X数据库以获取此信息。
通常,尽管如此,使用Android应用程序所需的所有硬件功能都将直接映射为使用iOS中的相关硬件。不过,软件功能可分为3个不同的类别:1)将直接实现iOS上不存在的功能(例如Toast消息),2)将相关的iOS和Android上存在的功能替换为相关功能iOS方法以及3)iOS上存在但Android上不存在的功能(例如Apple的3D Touch库)无法转换,但可以通过使用库来实现。据MechDome的创始人说,大多数活动,视图,服务,祝酒和基本内容提供商应可从Android转换为iOS。
但是,如前所述,此工具确实受到iOS工作方式的限制。想要将其应用程序转换为iOS的Android开发人员面临的最大挑战之一是如何处理后台服务。iOS对第三方应用程序可以运行的时间和种类的后台服务(无论好坏)的要求更为严格。此外,iOS上几乎不存在Android中存在的允许应用间通信的丰富意图系统。最后,当前不支持Google Play服务API,因此任何依赖Google服务的应用都将无法运行。因此,开发人员将主要限于通过手动用户输入直接访问的功能,对于大多数游戏或应用程序来说,这不应构成重大问题。
使用中的MechDome
在私人演示中,该工具确实确实像广告中那样起作用。Kosmiskas先生展示了将几个功能齐全的Android应用程序编译为可正常运行的iOS和OSX应用程序。敬酒通知,通知中心中的通知,Web视图,位置访问,文本输入以及UI元素的常规功能都在演示中起作用。在iOS上运行的AOSP计算器的外观和功能与在任何Android设备上完全相同。