博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微软发布UWP Bridge项目将一切应用转为Windows应用
阅读量:6267 次
发布时间:2019-06-22

本文共 2234 字,大约阅读时间需要 7 分钟。

在不久前的Build 2015开发者大会上,微软宣布了Windows通用平台UWP(Universal Windows Platform),基于此平台开发的App可在所有Windows 10以上的设备上运行。日前,微软发布了,内含、、、四个项目,可将Android、iOS、传统Windows,以及Web网站转换为UWP Apps。

\\

Astoria项目

\\

Astoria项目的目标是帮助开发者将Android应用移植到UWP平台上,最大限度的重用已有的Android代码,并简化移植的工作。它的主要特性有:

\\
  • 尽量多的重用Android代码,甚至完全重用。 \\
  • Java和C/C++代码都能支持,可使用自己喜欢的IDE进行开发调试,如IntelliJ、Android Studio或Eclipse。 \\
  • Gradle可以用一份代码来生成Android和Windows两个目标平台的应用。 \\
  • 该项目提供的SDK包括一个Windows模拟器,代码可通过USB或WiFi部署到真机上,调试和通常的Android项目一样。 \\
  • 目前只支持Android 4.4. \\
  • 移植的Android应用目前只支持智能手机和平板设备,不支持PC、HoloLens等其它Windows设备。 \\
  • 部分Android UI被转换为Windows原生UI,但不能做到完全转换。 \\
  • 移植通过将对Android系统的调用转发到对应的Windows API,并未使用VM或runtime,以避免额外的CPU消耗。 \\
  • 对GMS、摄像头、传感器等的调用被直接转发至对应的Windows API,无须修改代码。 \\
  • 可使用Java来添加Windows独有的特性,如动态磁贴。\

这个项目目前还处于测试阶段,会根据开发者的需求进行改进。微软为该项目的早期应用者提供了一个静态代码检查工具,以查看有多少比例的代码能够被重用,以及需要修复的Bug。微软在Build 2015大会期间用Tumblr App演示了该项目的成果,具体可查看。

\\

Islandwood项目

\\

Islandwood项目对应的是iOS应用的移植,我们已经知道的有:

\\
  • 可将Xcode项目导入到Visual Studio,并使用VS进行开发和调试。 \\
  • 目前支持Objective-C,未来将支持Swift。 \\
  • 通过将iOS API转发到对应的Windows API,尽量减少移植过程中的代码的修改。 \\
  • 支持iOS API的一个子集,最常用的API被最先支持,已经支持的有UIKit、CoreAnimation、ARC、Foundation等。不跟踪特定版本的iOS。 \\
  • 对绝对布局的iOS应用提供自定义布局模式。\

在Build 2015大会上微软以Candy Crash Saga移植到Windows Phone来演示了该项目成果。它只修改了很少的代码,并将iOS应用内支付、本地通知等替换为Windows平台的功能。

\\

Centennial项目

\\

Centennial项目的目标是将传统Windows应用:Win32、.NET、COM等移植到UWP上,据Windows架构师John Sheehan表示,Centennial项目已能转换超过1600万个传统Windows应用。

\\

Centennial并不改变程序的代码,它只是让程序在UWP平台上正确的运行。它的主要工具是一个转换程序,受到项目的启发但更加复杂,因为它允许开发者进行自定义。转换程序会对MSI文件进行分析,记录传统Windows应用在安装过程中的动作,然后生成一个AppX,在这个过程中它还会要求你制作该应用的动态磁贴。

\\

然后,新应用的安装过程中,所有的资源文件都被安装在应用的目录里,但应用会以为资源文件在原来正确的地方,注册表动作则单独生成一个.reg文件,它只有在应用运行时才会被加载。因为应用间的资源是隔离的,因此“DLL Hell”也自然消失了。

\\

传统Windows应用还有一些权限问题,需要系统高级权限的应用将只能在PC等设备上运行,而不能运行在Xbox、HoloLens上。

\\

在Build 2015上微软以Adobe Photoshop Elements 13做了演示,唯一做的代码修改是Adobe的授权系统,因为通用应用有自己的授权机制,因此这在将来是不必要的。

\\

想了解更多Centennial项目信息可下载Build 2015的。

\\

Westminster项目

\\

Westminster项目是介绍比较少的一个项目,它是将Web网站生成UWP应用,需要的只有URL。开发者还可以调用系统API来指定Microsoft Edge,或使用Apache Cordova打包。打包后的App可以发布到Windows Store。之前微软发布过App Builder,里面也有类似的功能。

\\

这四个项目目前都还处于早期阶段,在今年夏天会公布更多内容,并开放SDK下载。你可以以了解项目的最新动态,如果想了解更多关于UWP平台的内容,可以看它的。

\\

感谢对本文的审校。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群)。

转载地址:http://tfcpa.baihongyu.com/

你可能感兴趣的文章
PYTHON1.day09
查看>>
复制、移动和删除:cp, rm, mv
查看>>
Return View()
查看>>
HDU 6156 回文 数位DP(2017CCPC)
查看>>
AndroidManifest.xml文件剖析
查看>>
沛齐的315面试题基础部分解答(一)
查看>>
bzoj2662 冻结
查看>>
(转)Odoo 是什么?
查看>>
浅谈当下7个网页设计趋势(转)
查看>>
2011年工作总结和展望(下篇)
查看>>
如何在VUE项目中使用SCSS
查看>>
开放源代码的设计层面框架Spring——day02
查看>>
[SP694][SP705]DISUBSTR - Distinct Substrings/SUBST1 - New Distinct Substrings[SA]
查看>>
JavaScript中的三种弹窗
查看>>
确认框,confirm工具封装
查看>>
常用css和js组件
查看>>
HDU-4528 小明系列故事——捉迷藏 BFS模拟
查看>>
〖Android〗/system/etc/event-log-tags
查看>>
深入浅出 JavaScript 变量、作用域和内存 v 0.5
查看>>
Jquery 选择器大全 【转载】
查看>>