微软开源 WinObjC,为 Visual Studio/Windows 提供 Objective-C 开发环境

  • 谢丽

2015 年 8 月 10 日

话题:微软iOS语言 & 开发架构

在今年早些时候举行的 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 应用。为此,其架构和设计遵循如下三个原则:

  1. 提供对 Windows API 的完全访问:能够使 iOS 开发人员可以很容易地在 Objective-C 代码中使用 Windows API;
  2. 兼容 iOS:能够使 iOS 开发人员尽可能合理地重用现有的 Objective-C 代码;
  3. 无沙箱: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 库QuartzCoreCoreAudio音频框架的部分功能。今年晚些时候,微软会发布一个更稳定的版本。

另外,Windows Bridge for Android(又称为 Astoria 项目)目前尚处于技术预览阶段,只有受到邀请的开发人员才能参与。公开测试版本预计会在今年秋天发布。希望提前试用 Windows Bridge for Android 的开发人员,可以点此注册


感谢郭蕾对本文的审校。

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

微软iOS语言 & 开发架构