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))。
评论