系统吧 专业的电脑操作系统,支持重装各种原版系统xp/win7/win8/win10 这个系统怎么样?试试系统吧系统,体验办公系统畅快愉悦感。 各种电脑系统安装过程一样,神一般的畅快!
-->
当前位置:主页 > win10 >

微软Windows10移植Android应用程序是一场存在风险的赌博

作者:吴怡君 分类:win10 发布时间:2023-06-24 17:30:00

在微软Build 2015开发者大会上,微软宣布Windows10操作系统将支持运行Android和iOS应用。微软表示利用Android应用中底层的Java和C++代码来复制创建Windows10应用,通过在Windows10系统中预装一个“Android子系统”来实现Android程序的运行;而iOS应用,则是通过Objective-C语言来转化、移植为Windows10应用。虽然Winodws移植Android应用程序和黑莓的有着不同,但对于微软来说,这依然是一场存在风险的赌博行为。 一个操作系统移植其他操作系统的应用程序,其实这并不是第一...

在微软Build 2015开发者大会上,微软宣布Windows10操作系统将支持运行Android和iOS应用。微软表示利用Android应用中底层的Java和C++代码来复制创建Windows10应用,通过在Windows10系统中预装一个“Android子系统”来实现Android程序的运行;而iOS应用,则是通过Objective-C语言来转化、移植为Windows10应用。虽然Winodws移植Android应用程序和黑莓的有着不同,但对于微软来说,这依然是一场存在风险的赌博行为。

微软Windows10移植Android应用程序是一场存在风险的赌博

为了兼容,微软发布了UWP Bridge,内含Astoria、Islandwood、Centennial、Westminster四个项目,可将Android、iOS、传统Windows,以及Web网站转换为UWP Apps。其中,Astoria和Islandwood项目会对微软的生态系统产生一定的影响,但由于兼容的方式和我们上面提到的有所不同,可能副作用较小。由于目前Windows10并没有正式发布,效果难以预计,所以情况并不明朗。

Astoria项目

Astoria和Islandwood表面上相似,但其基本的技术和执行方式是非常不同的。对于开发人员来说,由于Windows10内置一个安卓子系统,Astoria可能更加直观和简单。几乎所有的Windows软件(包括通用的Windows应用程序)使用的其实是Win 32 API。Windows还包括POSIX子系统。POSIX是IEEE标准的API,基本上定义了Unix API。Windows NT包括POSIX的支持。微软在Windows 2000中删除了OS/2子系统。POSIX子系统在Windows 7中是一个可选的Windows组件,但Windows 8不能启用这个POSIX子系统组件。然而,Winodows内核还是包含此POSIX子系统,而且项目Astoria利用了这一点。它引入了一个新的Windows子系统:Android子系统。

Android子系统在Windows上实现了安卓系统的大多数API。该子系统提供安卓风格的API,比如文件系统的访问、图形处理、访问传感器和相机、进程和线程的创建、安全和网络功能。这些都是利用Windows内核来提供的。另外,Android由一个Linux内核和少量的开放源码本机库,本机代码应用程序和一套开源的Java API再加上谷歌的服务程序框架(GMS)。除了GMS外,前2个都是开源的。对于Android开放源码的组件,微软可以在原则上,使用开放源码的部分直接呈现应用程序开源调用的相同的Java API,但将这些API重定向到合适的Windows服务/API。值得注意的是,除了Windows10 For Phone和基于ARM处理器的小尺寸平板外,其他平台上的Windows10并不包含Android子系统。

Astoria对于开发人员的体验是非常类似于普通的Android开发体验。开发人员将继续使用Android开发环境,例如Eclipse或IntelliJ,应用程序的大部分移植基本是自动化的,少数GMS的API需要手动更改为对应的微软的服务/API。此外,微软还提供一些Windows特定的Api功能,如动态磁贴给Android应用程序访问。当然,开发人员将需要更改代码以利用这些API。

基本上微软并不会使用黑莓兼容安卓的套路。相反,Android开发者必须提交他们的APK包到Windows应用商店。商店将验证这些APK是否使用了无法支持的API,然后将apk文件封装在Windows AppX包中。

Islandwood项目

Islandwood项目的情况和Android的Astoria不一样。首先,微软并没有在Windows10中集成一个“iOS子系统”,其次,也无法直接移植iOS的软件包。微软实现的方法是使用Visual Studio,Visual Studio支持Objective-C和导入Xcode项目文件,然后使用Visual Studio将其编译为Windows应用程序。其实微软使用的这一技术最初不是微软开发的,而是由一家叫Inception Mobile的公司为黑莓操作系统和三星Tizen开发的,它将Objective-C代码尽可能多的转变成Java或C++代码,挂钩进原生平台的API。

当然,相比较起兼容安卓,兼容iOS在移植难度上要稍微高一些,这首先是因为iOS并不是开源的系统,其次是因为iOS平台某些独特的特点,比如iOS没有后退键。同时由于iOS还有一种新的语言Swift,虽然微软声称正在进行兼容支持,但目前来看,不可能很快马上就支持。

xp 更多>>
win7 更多>>
win8 更多>>
win10 更多>>
U盘 更多>>
电脑技术 更多>>
网站地图 | 豫ICP备2021035069号-4 | 友情链接qq:191064436
系统吧

版权所有 © 2012-2023 系统吧 免责声明:本站资源均收集于互联网,其著作权归原作者所有,如果有侵犯您权利的资源,请来信告知,我们将及时删除相应资源。