オープンソースSwiftがもたらす変化

Swiftは「速い」という意味です。 AppleがObjective-Cの短所を改善してより読みやすく、バグが入る余地を減らし、安全で、最新言語の機能を受け入れた言語を提供するために1年前に新しいSwfitをiOS、OS Xエコシステムに向けて発表しました。既存のObjective-Cコードと混在してもうまく動作するためiOS開発者たちはSwiftをいち早くプロジェクトに適用していっています。SwiftはStackOverflowで実施したアンケートで一番愛される言語に選ばれています。Swiftが発表されてからまだ1年しか経っていないことを考えると驚異的な結果です。

記事の更新情報を受け取る

Swiftはすでに無料で公開されているのに、なぜオープンソースにするのか?

まず、Swiftはまだオープンソースとして公開されていません。今年7月にSwfit 2.0が発表されましたが、Appleが今年中にオープンソース化しようとしているだけでまだオープンソースにはなっていません。今も私たちはSwiftをよく使っていますがSwiftがオープンソースになるとどのような点が変わるのでしょうか?

Swiftがオープンソースになるということは一言で言うとSwiftのコンパイラと標準ライブラリがオープンソースになるということを意味します。もちろん現在はコンパイラコードが公開されていません。それではコンパイラコードでは何をすることができるでしょうか?

上で私がSwiftを紹介する際に、「iOS、OS Xのための言語」という表現を使っていましたが、Swiftがオープンソースとなって他のプラットフォームに移植されれば、Swiftを他のプラットフォームでも使えるようになります。例えばもうOS Xアプリケーションを開発するために必ずMacを買う必要がなくなるかもしれません。もちろんオープンソース化されればWindowsでiPhone開発ができるということではなく、SwiftコンパイラとライブラリをWindowsにポーティングしたらそうなるだろうという話です。また、さまざまなサードパーティ開発プラットフォームでより多くのiOS / OS Xアプリケーションを作ることができるようになります。長期的にAppleのエコシステムがより豊富になるための下準備になります。

それだけでなく、SwiftがAppleプラットフォームのための言語を越えて様々な開発ができる汎用言語に生まれ変わることができます。Swiftを使ってWindowsアプリケーションを作ったり、サーバサイドプログラミングをするなど汎用言語として使用される機会が増えることになります。もちろんSwiftがWindows開発のメイン言語にはならないと思いますが、2つのプラットフォーム間でのライブラリなどの共有や、クロスプラットフォーム開発者たちには新たなチャンスとなるでしょう。

Swift Scripting事例

あなたが普段Swiftを使って開発しているとしても、さまざまな自動化作業のためにはPythonやRubyを使っているかもしれません。もしそうならSwiftは自動化やデプロイ作業のための良い代替になるでしょう。Swiftは軽くて読みやすい文法を使用していますが、同時に厳格な型システムを持っています。このような特長があるのでSwiftはPython/Rubyを代替してさまざまな作業を正確に処理するのに最適な言語になるかもしれません。またスクリプト環境でSwiftのAPI、Cocoaライブラリなどをすべて使用することができます。

もちろんまだSwiftをスクリプト言語として使用するユーザが多くないため多少不便なところはあります。しかし現在すでにスクリプト言語として使用しているたくさんの事例((Swift Scripting)が共有されており、Swiftがオープンソース化することでこの流れは加速することでしょう。

Appleが初めてSwiftという言語を発表したとき、最初はなぜこんな大きな決断を下したのかという多くの疑問がわきました。しかし1年が経ったいま、AppleがSwiftを公開したことで開発者たちはアプリケーションをさらに短期間で開発しています。またその流れをオープンソースを通じて加速化しようという動きは開発者のエコシステムをAppleに有利にし、長期的にアップルのプラットフォームを拡張することを助けることになります。長期的な視野を持ってプラットフォームとエコシステムを引き続き発展させるAppleの姿はやはり世界最大の時価総額を持つ会社らしいという気がしますね。

About the content

This content has been published here with the express permission of the author.


Realm Korea

Realm Korea Team

4 design patterns for a RESTless mobile integration »

close