WIREDに掲載されているすべての製品は、編集者が独自に選定したものです。ただし、小売店やリンクを経由した製品購入から報酬を受け取る場合があります。詳細はこちらをご覧ください。
昨年の夏、 AppleのSwift Playgroundsプログラミング言語を使って若いプログラマーたちが作ったアプリを紹介する感動的なショーケースを見て、子供たちにiPhoneアプリを開発させようと決意しました。10歳と13歳の子供たちは、長年にわたり、プログラミングの基礎概念を学ぶための数え切れないほどのSTEM玩具で遊んできました。中には簡単なプログラミングも含まれていたので、自分たちで本格的なアプリを作ってみるのも楽しいだろうと思いました。
まずはコンセプトを練り上げ、最終的には(当然ですが)猫をテーマにしたアプリに落ち着き、紙にレイアウトをデザインしました。夏の間にバージョン1.0をなんとか完成させられると楽観的に考えていましたが、各要素を誰が描くかで行き詰まりました(彼らは熱心な絵描きです)。その後、次々と問題が起こりました。これは思った以上に大変になりそうだったので、実際に自分でアプリを作った若いプログラマー数人と話をしてみることにしました。
幸福の追求

写真:アップル
AppleのApp Storeには、子供たちが寝室で楽しむものから、広大なオフィスで働くプロフェッショナル開発チームまで、実に様々な人々によって開発されたアプリが200万本近くあります。米国だけでも約1億2500万人の潜在的ユーザーを抱えるiOSアプリ開発には、大きな魅力があります。成功は、収益やダウンロード数で測られる人もいるでしょうが、アプリ開発は、大義のために貢献し、人々を助けることを目指す人にとって、大きな意味を持つものです。また、アプリ開発そのものが、価値ある追求となることもあります。
7歳でコーディングを始めたラフル・クマールもその一人です。2020年、新型コロナウイルス感染症によるロックダウンの制限で部屋にこもりがちになり、高校卒業前にiPhoneアプリを開発しようと決意しました。父親のMacBookを使い、クマールはEmSafeを開発しました。これは、難民、移民、避難民、そして英語を話さない人々が、世界230以上の地域で緊急サービスを利用できるように設計された緊急旅行アプリです。
クマールはSwiftでコーディングを始める前からJavaとPythonの経験はありましたが、独学で両親からのサポートは一切受けていません。「始めた頃はこれらの言語でコーディングするのが難しく、問題解決のための具体的なリソースが簡単に見つからず、プロジェクトを何週間も放置してしまうことがよくありました」と彼は言います。
彼のプロジェクトは、Appleの社内審査に提出した際に困難に直面しました。開発ツールとコミュニティサポートは無料ですが、アプリを審査に提出し、App Storeで配信するには、Apple Developer Program(年間99ドル)に登録する必要があります。Appleは、公開するアプリやゲームについて、詳細なガイドラインを設けており、従う必要があります。「ボタンのテキストやアラートの表示方法など、App Reviewで問題が見つかるたびに、その都度解決する必要がありました」とクマール氏は言います。しかし、彼は粘り強く取り組み、最終的に2021年と2022年のApple Worldwide Developers Conference Swift Student Challengeの優勝者に選ばれました。クマール氏は7月にEmSafeの最初のバージョンをリリースしました。
Appleは2016年にiPadアプリとしてSwift Playgroundsを初めてリリースし、2020年にはmacOS版が続きました。Swift Playgroundsは無料で、1つのウィンドウでコードを編集し、別のウィンドウで完成したアプリでどのように表示されるか(リアルタイムで)確認できます。レッスンとチャレンジが組み込まれており、サンプルのプレイグラウンドを読み込んで動作を確認することもできます。ガイド付きのウォークスルーで基本を学べるように設計されており、入力時にコードエラーがフラグ付けされます。iPhoneアプリ全体をSwift Playgroundsで作成することも可能ですが、プロジェクトをXcode(Appleのフル機能開発環境)にエクスポートすることもできます。
「AppleはPlaygrounds向けに初心者向けのコーディングガイドを数多く提供していましたが、しばらくするとより詳細で高度な情報が必要になりました」とクマール氏は語る。彼は、分厚い開発者向けドキュメントを理解するために必要なコーディング経験が不足していると感じていた。「iOSアプリの開発方法を学んだ主な方法は、Hacking With Swiftのようなウェブサイトを見たり、GitHubでコードスニペットを探したりすることでした。」
「不安解消:落ち着きを見つける」の若き開発者、ベン・ロビンソンも似たような話をする。彼が初めて本格的なiPhoneアプリの開発を始めたのは13歳の時だったが、プログラミングについては数年前から学んでいた。
「Appleのドキュメントは最初はかなり敷居が高かったです」とロビンソン氏は言います。「API(アプリケーション・プログラミング・インターフェース)の仕組みを正確に理解していないと、必要なコンポーネントを見つけるのが難しいこともありました。すべてを手順的に考えることから、コードを抽象化し、オブジェクト/プロトコル指向の設計を採用することへの精神的な飛躍がありました。」
最初は、コーディング内容を文字通りに考えすぎて、あまりにも多くの処理を実行する関数を実装しようとしたため、行き詰まってしまいました。しかし、iOS開発者コミュニティが協力的で、豊富なリソースを提供してくれたと彼は言います。クマールと同様に、ロビンソンもポール・ハドソンの「Hacking With Swift」チュートリアルが役に立ったと語っています。このチュートリアルは、様々なAPIを解説し、それらを使って何かを作るように促してくれたからです。
「アプリ開発者の知り合いが一人もいませんでした。行き詰まると、たいていStack Overflowで見つかる答えに頼るしかありませんでした」とロビンソンは言います。「独学で開発をする人は皆、この問題に直面しますが、そのおかげで私はより粘り強く、自立することができました。問題が発生した時に論理的に考え、効果的に対処する自信がつきました。」
ロビンソン氏はその後、友人と遊ぶパーティーゲーム「マフィア」のiOS版を開発し、テクノロジー分野でのキャリアを志望しています。「アイデアがあるなら、ぜひやってみてください!どのアイデアが成功するかは誰にもわかりません」と、若い開発者を目指す人々へのアドバイスとして彼は言います。「もし自分のアイデアが十分にワクワクするものなら、それを実現するために必要なスキルは必ず身に付くはずです。」
クマール氏も同意見で、本当に興味のあることに焦点を当てた複数の小さなプロジェクトから始めるのが最善だと付け加えました。そうすれば習得が早く、完成させるモチベーションも高まります。また、コーディングを始める前に、十分な時間をかけてブレインストーミングを行い、アプリのビジュアル化を行うことを勧めています。
キャットナップ
猫アプリの開発は、なかなか進みませんでした。子供たちはアイコンをデザインし、猫に関する豆知識を集め、飼い猫2匹のニャーニャーという鳴き声やうなり声を解読しようと必死でした。ロゼッタストーンのような発見があれば、猫の鳴き声を翻訳できるアプリが作れるのではないかと期待していたのです。コーディングとなると、ますます重労働は私にのしかかるようになりました。残念ながら、時間を見つけるのに苦労しました。正直に言うと、私はコーディングが得意ではないのです。子供たちはチュートリアルを見たり、Swift Playgroundsをいじったりしていましたが、例を見ても概念を理解するのに時間がかかりました。
猫に関する豆知識を表示するアプリとランダムな名言ジェネレーターをなんとか作り上げましたが、当初の目標には程遠いことが明らかになってきました。子どもたちは感銘を受けず、機能の過剰化を抑えようとする私の努力も聞き入れられませんでした。楽観的にこのストーリーを提案した時、私はアプリ開発の明るく刺激的な物語を想像していました。皆さんがApp Storeにアクセスして、そこそこ素晴らしい成果をご覧になるようなストーリーです。しかし、現実は厳しいものです。
子供たちが学校に戻る頃には、アプリが完成する可能性は極めて低くなっていました。誰かにプロジェクトが中止になったと伝える良い方法はありませんが、結局私は難を逃れました。しかし、決定打となったのは、末っ子がすでに誰かが猫の翻訳アプリを作っていると教えてくれた時でした。そして、代わりにウェブサイトを作ろうと優しく提案してくれたのです。こうして、私たちのプロジェクトは(おそらくほとんどのアプリプロジェクトと同じように)廃案となりましたが、その道のりは楽しく、私たちは皆、あることを学びました。それは、最後までやり遂げるアプリ開発者への新たな敬意です。