[Stream アプリ:AppleInsider]
最も充実したデジタルコンテンツのライブラリとして知られる Getty Images が、自社コンテンツの検察ツール Stream を公開している。
これはすべて Swift だけで書かれたアプリだという。
Daniel Eran Dilger が開発者とのインタビューをまとめているが、Swift のケーススタディとしてたいへん興味深い。
Apple’s new Swift programming language takes flight with Getty Images, American Airlines, LinkedIn, and Duolingo | AppleInsider
* * *
すべては WWDC から始まった
Getty Images が「Stream」を開発したそもそもの始まりは、同社のアプリ開発部門のマネージャー Raphael Miller が昨年の WWDC で2日間のハッカソン(hackathon)に参加したことだった。その結果 Getty Images のデジタルライブラリを検索する iOS・OS X アプリ Stream が生まれた。
* * *
さまざまな開発者
経験を積んだ Objective-C の上級開発者はもちろんすぐ Swift を使えるようになったが、そうでない若い開発者 — 1〜2年程度の C# 経験者や Java を習っただけの大学出たて — にとってはとくに取っつきやすいのが注目されたと Miller はいう。Ruby に習熟したウェブ開発者もまた、これまでとはシンタックスが異なる Objective-C より Swift の方が使いやすそうだったとも。
新規開発者にとっても Swift をアップルプラットフォームのデフォルト言語にすれば、Mac の Cocoa や iOS の Cocoa Touch API を理解し、習熟しやすくなるという。
* * *
少ないコードで多くのことを
Miller は Swift のことを「より高性能な(pretty performant)」言語だという。開発者の生産性を高められることが主たるメリットだ。冗長な Objective-C にくらべ、Swift の簡潔さは「少ないコードでより多くのことをやる」ことが可能で、「日常的なことをすばやく片づけられる」という。この点は Ruby の開発者にとってとくに魅力的だ。その結果「少ないコードでより多くのプログラミングができる」からだ。新しいコンセプトのプロトタイプを素早く作るのに Ruby が使われることが多い。
* * *
コンシューマアプリの分野
開発者の生産性を高めるという Swift のメリットはコンシューマ分野でとくに重要だ。新しい機能でアプリを新鮮に保ち、目に見える機能強化を行なう必要があるからだ。Swift なら「素早く片づけて」、新しい機能を求めるユーザーの要求に素早く答えられる。
* * *
エラーを省き効率的
また Swift は一般的なエラーを含むコードのコンパイルを許さない。「早い段階でどこが間違っているのか教えてくれる」と Miller はいう。開発者には「コードを入力している段階でなぜうまく動かないのか教えてくれる。」このため欠陥を含んだコードをコンパイルすることで無駄な時間を使わずに済むのだ。
* * *
すべてのアプリを Swift 化
Miller によれば、初期の Swift は「かなり未完成」だったが、「リリースの度に良くなった。」 コンパイラの問題や Objective-C と Swift をミックスする問題により「まだ Xcode がクラッシュすることも時々ある。」 しかし Swift だけで書かれた Stream の成功を見て、彼のチームは「Getty Images のアプリをすべて Swift コードに変換しようとしている。」すべてのアプリの 50 〜 60% を Swift 化することを目標に掲げていると。
* * *
社内の関心を呼んだ
Getty Images としては Android アプリの開発も、クロスプラットフォームの計画もないという。だから移植の問題もない。しかし Swift の社内ワークショップを開いたことで社内の他の開発者たちも注目している。マイクロソフトの C# を使うバックエンド API プログラマーや Ruby に馴染んだウェブ開発者などがそうだ。
Swift のおかげで「みんながやってくる」ようになったと Miller はいう。とくにモバイル開発への興味がそうさせるのだと。Objective-C のシンタックスが近づきにくいのと違って、Swift はモバイルアプリのスキルを身につけようとする既存のデベロッパにとって「シンタックス的にこわくない」ので親近感が増すのだという。
* * *
アップルに望むこと
Swift について将来アップルに何を望むかと尋ねられた Miller は、「サンプルコードがもっとあると有難い」という。「これはよくある問題だが Objective-C ではこうやるのを Swift ではこうやる」と教えてくれるようなサンプルコードだ。また異なるタスクについて Swift を使うメリットを教えてくれる費用対効果分析も。
Asked what he’d like to see from Apple related to Swift in the future, Miller said, “it would be nice to see more sample code” demonstrating, “here’s a common problem, here’s how you’d do it in Swift vs Objective-C,” and outlining a cost benefit analysis of using Swift for different tasks
「Objective-C はこれまで長い間使われてきたので最適事例も多々ある。」 Swift については最適事例はまだ集積されていない。理想的には、「Swift を設計した連中」が Swift の効果的利用法をいちばんよく知っているのだから・・・
“Objective-C has been around so long, the best practices are out there,” Miller stated. For Swift, there’s less best practice architecture available, and ideally the best insight on how to use Swift most effectively would come from “from guys who designed it.”
* * *
実際に自社アプリを開発した者のことばなので具体的で説得力がある。
この記事をまとめた Daniel Eran Dilger は、この他にも American Airlines や LinkedIn、Duolingo のケースも触れているので、類似の分野の開発者にとってはこれまた参考になりそうだ・・・
このところ新しい開発環境が魅力的に見受けられますね。