Swiftに対するIBMの反応

IBMがdeveloperWorksにSwift開発者のためのセクションを立ち上げた。Engineering BlogとSwift.orgにあるAppleのオープンソースリポジトリへのリンクもある。ブログ記事によると、1年半前のSwiftリリース以来、IBMはSwiftアプリを開発しているそうだ。John Ponzo氏は、MobileFirst for iOS Industry Solutionsチームの開発者にとって、Swiftには明らかにメリットがあると述べている。

今回の取り組みは、2014年7月になされたiPhoneおよびiPad向けエンタープライズアプリケーションの導入促進、クラウド技術のインテグレーション、iOSデバイスの再販およびサポート契約に関するAppleとIBMの提携に続くものだ。

公式サポートに加えて、IBMはIBM Swift Sandboxを立ち上げた。これはIBM cloudにあるリモートLinuxセッション上で、Webアクセス可能なシェルを提供するものだ。swiftlang.ng.bluemix.netにアクセスすると、左側にSwiftのプログラムを評価するためのREPLが、右側にはそれに対応した出力が表示される。Swiftプログラミング言語のシンタックスとセマンティックスを試したければAppleのSwift Tourが役立つだろう。IBMもSwiftを試すのに使える小さなサンプルを多数提供している。

サンドボックスで動作しているSwiftのバージョンは、Linux版のSwiftバージョン2.2のプレリリースであり、ライブラリにも一部変更があるかもしれない。現段階では、Swiftはソースの互換性やライブラリの互換性を考慮していない。代わりにコンパイラはバージョン間のマイグレートに使える「fix-its」を提供している。バイナリの互換性はSwift 3.0で計画されており、来年末に向けてリリースされる予定だ。また、 LinuxポートにはObjective-Cのサポートがなく、Objective-Cクラス(NSStringなど)に依存したメソッドやエクステンションはサポートされないことに注意しよう。加えて、UIKitやAppKitといったApple特有のフレームワークも利用できない。

たとえば、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サンドボックスでサンプルソースコードの共有が可能になるようだが、記事の執筆時点ではまだ使えない。

このサンドボックスはあなたがSwiftコードをいじるのに役立つだろうか。