有没有可以能开发一个系统可以同时运行安卓和苹果的APP吗?

有没有可以能开发一个系统可以同时运行安卓和苹果的APP吗?

  • 回答数

    2

  • 浏览数

    1,218

2个回答 默认排序
  • 默认排序
  • 按时间排序

当然可以了

比如

纯网页版的。

基于 微信 支付宝之类的小程序。

运行在各种虚拟机里的软件。

取消 评论

理论上可以,实践上很难。


技术分析

苹果手机和Android手机给一般用户的感觉,是竞争非常厉害、泾渭分明的两个手机平台。但是,事实上它们在硬件上、软件上都相似,都还是冯诺依曼体系结构。

安卓平台:

  • 操作系统:Android

  • 开发语言:Java,Kotlin,等等

  • 开发工具:Android Studio

苹果平台

  • 操作系统:iOS

  • 开发语言:Object C++,Swift

  • 开发工具:XCode

有没有可以能开发一个系统可以同时运行安卓和苹果的APP吗?

在开发工具用程序语言编写代码实现功能,编译生成字节码,遵守程序打包规范打包生成App,App运行在应用虚拟机之上,调用操作系统的API。

可能的方案

要开发一个系统可以同时运行安卓和苹果的APP,简单来说,主要解决两个问题:

  1. 应用字节码运行的虚拟机层;

  2. 操作系统的API模拟。

理论上这两个都是可以做到的,事实上Android和iOS都是类Unix系统,开发兼容虚拟机层甚至比兼容Unix和Windows更容易。具体实现方案可以在Android系统上开发iOS兼容虚拟机,或者在iOS上开发Android兼容虚拟机。操作系统虚拟机类似案例有各种虚拟机解决方案,如VMware、VirtualPC、Xen、Hyper-V等。至于应用字节码运行的虚拟机层,技术上完全能解决。

有没有可以能开发一个系统可以同时运行安卓和苹果的APP吗?

以微软为例,近年来,微软一改以往开源软件严防死守的策略,大打开放兼容牌,在Windows10中开发了WSL功能,提供Linux兼容层,可以运行越来越多的Linux命令与软件。

实践难度
  1. 投入产出:
    投入很大,可预期的收益很难收回成本。

  2. 法律风险:
    Android采用了几个Java的API,被Oracle索赔数亿美金,还不远罢手。

  3. 技术障碍:
    涉及巨大利益,平台方会想方设法布下技术障碍,提高兼容难度。

  4. 性能问题:
    虚拟层会降低系统性能,影响用户体验。

补充说明

Google和IBM最近推出的量子计算机原型机是完全不一样的计算机架构,要实现量子计算机和传统计算机的程序兼容,会是一个新的课题。

现实可行的替代方案 - 跨平台移动应用开发框架可以通过一套代码,生成在Android和Apple iOS上都能运行的App。常用的开发框架有Cordova、Flutter等,事实上用这些框架开发的应用也能同时包装成电脑上的Web应用和桌面应用。

取消 评论

您可以邀请下面用户,快速获得回答

ZOL问答 > 无线接入器 > 苹果无线接入器 > 有没有可以能开发一个系统可以同时运行...

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

有没有可以能开发一个系统可以同时运行安卓和苹果的APP吗?

点击可定位违规字符位置
提示

确定要取消此次报名,退出该活动?