Airpods

Appleの新しいプログラミング言語Swiftが開発者の間で話題になっている理由

Appleの新しいプログラミング言語Swiftが開発者の間で話題になっている理由
ブレント・シモンズ
ブレント・シモンズ

サンフランシスコ — 先週、WWDC に参加していたとき、誰もが口にしていた言葉が 1 つありました。それは「Swift」です。

Appleが新たに発表したプログラミング言語は多くのメリットをもたらし、開発者がiPhoneとiPad向けアプリを開発する方法に大きな変化をもたらします。これまでAppleは、由緒あるC言語を基盤として構築されたObjective-Cに依存してきました。

Appleの今回の変更は、消費者と開発者双方にとって朗報です。Swiftの導入は、既に活気に満ちたApple開発者エコシステムに新たな活力を与え、革新的な新世代アプリケーションの創出を促進する準備が整ったと言えるでしょう。

Swift の本質は、まさにその通りです。iPhone、iPad、Mac 向けのプログラムを迅速かつ簡単に構築できる手段です。この言語は Objective-C の複雑な仕組みを取り除き、より習得しやすく、それでいて馴染みのあるシンプルな構文を採用しています。

この新しいアプローチの支持者は、iPhone 用メモアプリ Vesper の開発チームの 3 分の 1 を占めるシアトル在住の開発者、ブレント・シモンズ氏だ。

「より速く、より多くのことを成し遂げられるように思えます」と彼はGeekWireのインタビューで語った。「従来の言語で必要だった、面倒な細かい作業が少なくて済むのです。」

また、Objective-Cにはなかった強力な機能が数多く搭載されています。その中には、開発者がコードを追加したり調整したりする際に、プロジェクトへの変更が最終製品にどのような影響を与えるかを確認できるシステムであるPlaygroundsも含まれます。Objective-Cでは、開発者はコードの変更をテストする前に、プロジェクトがコンパイルされて実行されるまで待つ必要があり、これは時間のかかるプロセスでした。

Swiftの興味深い機能の一つは、Objective-Cの変数型の宣言を重視する考え方が廃止されたことです。これにより、開発者はコード内で変数がテキスト文字列なのか浮動小数点数なのかを指定する必要がなくなり、コンパイラが自動的にデータを処理します。

Swiftコードのサンプル
Swiftコードのサンプル
ウェイン・ビショップ。
ウェイン・ビショップ

さらに、SwiftとObjective-Cは同じコンパイラを使用しているため、アプリにObjective-C、C、Swiftのソースコードの両方を含めることが可能です。これは、Simmons氏のようにAppleの旧プログラミング言語に既に精通しているプログラマーにとって大きなメリットです。

「同じアプリ内で2つの言語が共存できるのが気に入っています」とシモンズ氏は語った。「Objective-CにSwiftにはない特別な機能があって、実際に必要な場合は、必要に応じてSwiftを使えばいいんです。今後そのような機能が登場するかどうかは分かりませんが、フォールバック機能があるのは良いですね。」

しかし、この言語にはまだいくつか問題点が残っています。例えば、シアトルを拠点とするGalleries HQの開発者であるウェイン・ビショップ氏は、Swiftではコード文の末尾にセミコロン(C言語やObjective-Cの定番)を付けるかどうかをユーザーが選択できる点を指摘し、それが混乱を招く可能性があると述べています。

「継続性の欠如は、新しい開発者や開発チームに大きな支障をきたす可能性がある」と彼はGeekWireへの電子メールで述べた。

しかし、全体として、ビショップ氏は「言語機能と技術ロードマップには感銘を受けています。Objective-Cは難解で、構文が重く、冗長な言語として広く知られており、「現代的な」言語に見られる多くの機能が欠けていました。この新しい言語は、高速で効率的であるように思われます。」と述べました。

これらの変更により、iPhoneやMac向けのアプリを初めて開発したいと考えている新規開発者にとって、MacとiOSはより魅力的なプラットフォームとなるはずです。Code FellowsでiOS開発を教えるジョン・クレム氏は、GeekWireとのインタビューで、開発者にSwiftで新たなスタートを切る機会を提供するというアイデアを高く評価しています。

ジョン・クレム
ジョン・クレム

「この言語の良いところの一つは、皆が同じ場所からスタートしているということです」とクレムは言った。「Objective-Cは非常に古い言語なので、いつ学んだとしても、40歳未満であれば、自分が取り組んでいる特定の分野では、自分よりはるかに優れた専門家が必ずいるはずです。」

消費者側では、開発者がSwiftを使い始めても、ユーザーはほとんど、あるいは全く違いに気付かないでしょう。これは設計上の理由もあります。開発者はSwiftのコードをObjective-Cと並行してコンパイルでき、どちらの言語も同じフレームワークにアクセスできます。開発者がSwiftを使い始めても、ユーザーには特に説明がない限り、その違いに気付かないでしょう。

開発者側から見ると、Swiftが一般のアプリケーションに浸透し始めるまでにはしばらく時間がかかるでしょう。Appleは、今年後半にiOS 8とOS X Yosemiteがリリースされるまで、Swiftで開発されたアプリケーションのiOS App StoreおよびMac App Storeへの登録を受け付けません。Appleの新OSのリリースに間に合うように新機能の実装を急ぐ開発者の中には、慣れ親しんだObjective-Cの構文を使い続け、Swiftでの開発を後回しにする人もいるかもしれません。

たとえすぐにSwiftでプログラミングを始めなくても、Apple開発者コミュニティには新たなエネルギーが生まれているとClem氏は語った。

「Apple開発者にとって、今は最高の時代だと思います」とクレム氏は語った。「プラットフォームの勢いは増し、ソフトウェアを創造的に開発するためのツールも増えています。」