MWC16 IBM は、iOS および OS X 向けに設計された Apple の新しい人気のプログラミング言語である Swift で記述されたオープンソースの Web サーバー フレームワーク Kitura をリリースしました。
IBMのKituraはSwiftで書かれたWebサーバーフレームワークです。
IBM はバルセロナの Mobile World Congress で記者会見を開き、Apple iOS デバイス上のエンタープライズ アプリケーションをサポートする MobileFirst 製品に関する最新情報を世界に発表しました。
このイベントではいくつか注目すべき点がありました。IBMはMobileFirstをAppleとの提携として発表しましたが、Apple側からは誰も出席しませんでした。また、集まった報道陣は、様々な顧客による、確かに素晴らしいものの、ほとんど注目に値しないアプリのデモを延々と聞かされ、IBMが新しいWebフレームワークでサーバー上でSwiftをサポートするという真のニュースを発表する前に、多くのジャーナリストが退場していきました。
MobileFirstのバイスプレジデント、フィル・バックリュー氏によると、IBMはSwiftを愛用しているという。「私たちが提供してきた100以上のアプリはすべて、Swift言語を使って100%ネイティブに構築されています」と彼は述べたが、この主張はTwitter上で懐疑的な意見を招いた。
IBMのSwift利用に関する疑問がTwitterで表明
しかし、バックルウ氏は明確にこう述べている。「IBMは、エンタープライズアプリ構築のためのプログラミング言語としてSwiftの最大のユーザーになりました。この言語は非常に強力で、便利で、コードも安全であることが分かりました。」
Appleが2015年12月にSwiftをオープンソース化した際、IBMはこれを機にBluemixクラウドプラットフォーム用のSwiftランタイムを開発しました。そして今、Kituraによってさらに一歩前進し、GitHubで誰でも利用できるようになりました。
「開発者はアプリを複数のバックエンドに接続する必要があります。多くの場合、これらのバックエンドは異なる言語で記述されており、バックエンドチームとフロントエンドチームの間で衝突が生じます。私たちはSwiftをエンタープライズに導入することで、バックエンドチームとフロントエンドチームがより緊密に連携できるようにします」とバックルウ氏は述べています。
「クライアント言語であることに加え、システム言語としてもSwiftが使えることに非常に期待しています。Swiftはコンパイルされたコードであり、非常に高速に動作します。スクリプト言語のような使いやすさに加え、Objective-CやC++のようなメモリ管理の課題もありません。」
IBMは、並行処理のサポートに加え、Kituraと名付けた新しいWebサーバーフレームワークも提供しています。また、開発者がバックエンドシステムへの接続に使用できるSwiftパッケージのセットであるSwiftパッケージカタログも提供しています。
この最後の点こそが、IBMがSwiftに注力する理由の鍵です。「WebSphere、MQ、z/OSといったあらゆるバックエンドサービスを活用するので、開発者はパッケージカタログを利用でき、それらのサービスをコードに組み込むだけで済みます」とバックルウ氏はReg紙に語りました。
Kitura自体にWebリクエストへの応答機能があるため、ApacheやNginxなどのWebサーバーは必要ありません。LinuxまたはOS Xで動作するため、開発者はローカルで実行できます。
IBM の MobileFirst は iOS クライアント向けですが、Buckellew 氏は「言語の成長により、最終的には Swift が他のモバイル プラットフォームや他のフロントエンド プラットフォームに移行すると予想しています」と述べています。
IBM は、Swift を使用したイベント駆動型プログラミング モデルもサポートします。
IBMがSwiftにこだわるのは、数百万人のSwiftクライアント開発者をBluemixクラウド、そしてさらに重要なエンタープライズサービスに引き込もうとする狙いもある。フロントエンドとバックエンドに共通言語を使用するという話は、Kituraのコードがクライアントと実際のバックエンド(JavaやC++で記述される可能性が高い)の中間に位置するため、部分的にしか真実ではない。とはいえ、もし同社がSwiftをシステム言語として真剣に検討するのであれば、状況は変わるかもしれない。®