IBM 对 Swift 的回应

阅读数:2174 2015 年 12 月 9 日

话题:Linux移动语言 & 开发架构

12 月 4 日,IBM 在其 developerWorks 网站上发布了面向 Swift 开发者的子站技术博客站点,并指向了 Apple 的开源代码仓库 Swift.org。John Ponzo 在其中的一篇博客中提到,早在一年半前 Swift 发布后,IBM 就已经开始用 Swift 开发应用了。并在 MobileFirst 的 iOS 行业解决方案中做了相应扩展,为开发者提供了显著的便利。

这也是 2014 年 7 月Apple 和 IBM 签订协议后的一项实际行动,旨在向 iPhone 和 iPad 提供更多企业应用,并集成云技术,同时提升 iOS 设备及支持服务的销量。

此外,IBM 还发布了IBM Swift Sandboxswiftlang.ng.bluemix.net),它具备基于 Linux 会话的 web shell 用来远程访问IBM 云平台。并提供了一个 REPL 交互式编程环境,用来评估 Swift 代码,在该平台左边输入代码,执行后右边显示执行结果。开发者可以对照着Apple 的 Switft 教程,在上面试验 Swift 语法。IBM 还提供了很多例程帮助开发者尽快熟悉 Swift。

重要通知:接下来 InfoQ 将会选择性地将部分优秀内容首发在微信公众号中,欢迎关注 InfoQ 微信公众号第一时间阅读精品内容。

在这个 Sandbox 上运行的是一个基于 Linux 的 Swift 2.2 先行版,所以底层代码库未来可能还要修改。在现阶段,Swift 的演进还未在源代码兼容性和二进制码兼容性上下功夫,但在编译器中提供了相应的修正功能,帮助开发者在各版本之间迁移应用。至于如何解决二进制码兼容性问题,则已经被提上日程,计划在明年年底的Swift 3.0推出。还要注意的是,Linux 本身是缺少 Objective-C 及所有依赖于 Objective-C 类(比如 NSString)的方法和扩展支持的。此外,Apple 特有的编程框架如 UIKit 和 AppKit 还暂时不支持。

比如 Swift 1.x 有个全局方法 stride(from:10,to:1,by:-1),但已被成员方法 10.stride(to:1,by:-1) 所代替。错误信息以弹出窗口的形式呈现在界面上。

for count in 10.stride(to:1,by:-1) {
    print("\(count)")
}
print("Blast off!")

未来,Swift 例程Sandbox将允许分享程序例子,但目前还不行。

各位读者,你觉得Sandbox是个尝试 Swift 的好途径吗?

查看英文原文:IBM's Swift Response


感谢张龙对本文的审校。

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