在今年早些时候举行的 Build 2015 大会上,微软宣布将发布工具帮助Android 和iOS 开发人员将应用移植到Windows 平台。近日,微软发布了 Windows Bridge for iOS (又称为 WinObjC)预览版本(先前的 Islandwood 项目)。
WinObjC 提供了一个面向 Visual Studio/Windows 的 Objective-C 开发环境,允许 iOS 开发人员使用现有的 Objective-C 代码和技能创建 Windows 10 和 Windows 8.1 应用。据 Windows Bridge for iOS 项目经理 Salmaan Ahmed介绍,WinObjC 包含如下四个部分:
- Objective-C 编译器:负责将 Objective-C 代码编译成原生的 Universal Windows 应用,预计会在今年秋天作为 Visual Studio 2015 更新的一部分推出;
- Objective-C 运行时:提供 Objective-C 语言特性;
- iOS API 头文件 / 库:基于 Objective-C 基础 API 构建,广泛兼容 iOS API;
- Visual Studio IDE 集成:提供一款工具,将 Xcode 项目导入 Windows 开发工具(Visual Studio 2015)和 SDK。
按照 Salmaan 的说法,WinObjC 的目标不是简单地在 Windows 上运行 iOS 应用,而是使 iOS 开发人员可以充分利用现有的 Objective-C 代码和知识编写优秀的 Windows 应用。为此,其架构和设计遵循如下三个原则:
- 提供对 Windows API 的完全访问:能够使 iOS 开发人员可以很容易地在 Objective-C 代码中使用 Windows API;
- 兼容 iOS:能够使 iOS 开发人员尽可能合理地重用现有的 Objective-C 代码;
- 无沙箱:iOS 和 Windows API 可以一起使用。
WinObjC 是作为一个开源项目发布的,托管在 GitHub 上,遵循 MIT 许可协议。不过,Objective-C 编译器并不开源。据来自微软工程部门的 Kevin Gallo介绍:
今天发布的版本无疑还处于积极开发状态——Build 大会上描述的部分特性还没有准备好或者尚处于早期阶段。无论如何,我们非常希望对此有兴趣和感到好奇的开发人员了解 iOS Bridge,将你们构建应用时的需求与我们正在构建的东西进行比较。
目前,iOS Bridge 仅支持针对 x86 和 x64 处理器架构构建的 Windows 8.1 和 Windows 10 应用。我们很快会增加编译器优化,并提供 ARM 支持,即增加移动支持。
虽然正在开发之中,但 WinObjC 已经包含了 UIKit 库、 QuartzCore 和 CoreAudio 音频框架的部分功能。今年晚些时候,微软会发布一个更稳定的版本。
另外,Windows Bridge for Android(又称为 Astoria 项目)目前尚处于技术预览阶段,只有受到邀请的开发人员才能参与。公开测试版本预计会在今年秋天发布。希望提前试用 Windows Bridge for Android 的开发人员,可以点此注册。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。
评论