2ヶ月間でiOSアプリを開発、ストアに申請するまでの学習軌跡

2017年3月1日(水)
TechAcademy

本稿は、Mediumのブログ記事を了解を得て日本語翻訳し掲載した記事になります。

本記事は、iOS開発者のBob Lee氏によって投稿されました。

ローンチの2週間前に、私の知人で仕事熱心なiOS開発者の一人が、ストレスと社会的生活を送る余裕がないという理由から、彼は仕事を辞める予定であるという手紙を送ってくれました。この時点で新しい人材をチームに迎えるにはすでに遅すぎました。そのため、私が彼の仕事を引き継ぐ以外に選択肢がありませんでした。

iPhoneアプリを開発するのは簡単ではありませんでした。正直に言うと、辞めたいと思うこともありました。プログラミングを学ぶだけではなく、Xcode、何千ものクラス、証明書などを含むiOSのエコシステムを理解する必要がありました。

私には時間的な余裕はありませんでした。手に入る情報のすべてを読みました。

結局、私は納期を守ることはできませんでしたが、最終的にはアプリをリリースできました。App Storeで自分の開発したアプリを見ていたころは、私の人生の中で最も幸せな日々の1つでした。

この記事では、Swiftを使用したiOS開発を学ぶために私が使ったリソースを、共有します。

1. Swiftプログラミング言語へのガイド

まず私は、iPadにSwiftのドキュメントをダウンロードしました。スタートアップの時期には、歩く時間さえ無駄に思えたため、いつでもどこにでもこのドキュメントを持ち歩いていました。

このドキュメントは、すでにプログラミング経験のある人向きです。私はその時点で、ほとんど何の経験もなかったため、ドキュメントの各章を何回も読まなければなりませんでしたし、いくつかのトピックについては、他のリソースを利用してさらに理解を深める必要がありました。

しかし、電子書籍を使用することの大きなメリットは、その移植性です。コードをコピーして貼り付けるだけで、すぐに結果を得られます。

2. オンラインチュートリアル

最初の1週間の間に、私はUdemyで「The Complete iOS 9 Development Course」というコースを受講しました。私の感想としては、コースはひどいものでした。インストラクターが先へ先へと進むので、大部分について、私は何をしているのか理解できませんでした。

また、全体で約70時間の動画講義であったため、私は学習意欲よりも、「とにかく視聴を早く終わらせよう」という気持ちの方が強かったかもしれません。

結局、私はこのコースを途中で中断して、Mark Price氏の「iOS 9 and Swift 2: From Beginner to Paid Professional 」というコースを受けることにしました。しかし、コンテンツの50%しか受講を完了することができませんでした。

そして、インストラクターがどんどん先へ進むスタイルの直線的な講義スタイルでは、iOSの「完全な」理解を得ることは不可能であることに気付きました。また、コードを画面からコピーしているだけであるように思いました。

その後、Treehouseで「iOS Development with Swift」というコースを受講してみました。しかし、私は混乱したままでした。正直なところ、私は何度も「一体どういうことなんだ?」とつぶやいていました。

3. ブログの記事

私はブログから非常に多くのことを学びました。ブログの利点の1つは、記事にテーマがあることです。

「完全な習得」を宣伝するコースとは異なり、ブログ記事は、1度に1つのテーマについて掘り下げています。たとえば、オブジェクト指向プログラミングとは何であるか、Swiftについて、GoogleのMap APIについてなど学びました。これらは、今でも私にとって優れたリソースです。

4. YouTube

YouTubeのチュートリアルは、ブログの記事と同じように一度に1つのトピックに焦点が当てられていること、また個人的なチューターを持っているような感覚になれることが、優れています。

Stanford iOS 9 Course

私は、スタンフォード大学提供のこのコースを通して、iOSの機能の詳細について学びました。このコースは大学の講義なので、教授は面白い人ではありませんでしたが、彼はテーマについて深い理解を備えていて、私はコースの半分は視聴を完了しました。

このコースでは実践的なスキルを身につけることはできませんでしたが、iOSプログラミングの豊富な機能について、全体像を理解することができました。

Let’s Build that App

このコースを提供しているBrian Voong氏は、アプリをゼロから開発するための全プロセスを解説しています。私は彼の無料講座を通して、チャットアプリケーションを開発することができました。

しかし、彼のコースについていくには、まずSwiftを習得している必要があります。最初は内容を理解できなかったため、何度か挫折した場面がありました。そこで、学習をもっと進めてから1週間後に、視聴を再開しました。

Jared Davidson

iOSアプリ開発のための、面白くてカラフルなチュートリアルが提供されています。 Brian Voong氏のコースとは異なり、一度に1つの機能に集中するコースです。

彼は編集に多くの時間を費やしているだけでなく、面白い人であるため、私は彼の動画が気に入りました。このコースには約35,000人のチャンネル登録者がいます。彼は有名人です。

実用性についての個人評価:10/10

5. Stack Overflow/ Quora

Stack Overflowは、自力でアプリケーションを構築する際に、本当に助けになりました。

問題に直面したとき、Stack Overflowの答えによってたいてい問題を解決することができました。解決に至らない場合でも、質問をしてから2時間以内に、親切なユーザーが助けてくれました。もちろん、冗長な質問や愚かな質問をした場合には、あなたの質問はユーザーによって削除されるでしょう。

Stack Overflowは、ほとんどすべての言語のオープンソースのドキュメントを提供しています。ドキュメントは、新機能を学習するには最適です。

またQuoraは、「Objective-CとSwiftのどちらを学ぶべきですか?」、「ストーリーボードを使うべきですか?」、「iOS開発者になるには何が必要ですか?」などの質問をするときに利用しました。

実用性についての個人評価:10/10

6. Github

Swiftを理解した後、私は自分が良いコードを書けているかどうかを疑問に思うようになりました。私はその時にメンターを持っていませんでした。そのため、私はGithubから多くのプロジェクトをダウンロードして、他の人たちがSwiftをどのように使用しているかを詳しく分析しました。

そして彼らのスタイリング、コーディングのプラクティス、デザインを真似しました。つまり、私は構造化されたプログラムを書くための標準を、確立し始めたのです。

実用性についての個人評価:8/10

7. UI / UX

最初に、美しい見た目のアプリのデザインに役立つということに魅了されて、Sketch 3をダウンロードしました。Sketch 3はPhotoshopやIllustratorと似たデザインツールであり、使い方についての電子書籍をMeng To氏がDesign+Codeで提供しています。

私はこのSketch 3とGoogleマテリアルデザインの勉強を通して、UX / UIの基本を学びました。また、Sketch 3のプラグインとしてFlinto(プロトタイピングツール)もダウンロードしました。これにより、コードを1行も書かなくても、画面遷移時のアニメーションを作成することができました。

実用性についての個人評価:9/10

さいごに

iOS開発を始めたばかりの人にとって道は険しいと思います。

多くの人は途中で諦めてしまいますが、だからこそ、最後まで成し遂げることができたら、それはあなたを特別な存在にするでしょう。

TechAcademyでは初心者でも最短4週間でオリジナルアプリが作れるiPhoneアプリ開発オンラインブートキャンプを開催しています。期間中は現役エンジニアのメンターが毎日学習をサポートするので、独学よりも効率的に学ぶことができます。


TechAcademyマガジンは、オンラインのプログラミングスクールTechAcademyが運営する教育×ITに関するWebメディアです。トレンドや最新情報など役に立つ記事を発信しています。
https://techacademy.jp/magazine/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています