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 Sandbox ( swiftlang.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) )。