見出し画像

iTunes UでiOSプログラミングを始めよう!

まいどー、うっくんです。

今回はiTunes U でiOSプログラミングを勉強する方法を教えちゃう回です。

iTunes Uとは

iTunes UのUはUniversityのUです。その名の通り、大学の授業をiTunesのプラットフォームで受講できるようにしたものです。オープンコースウェアという、大学の授業をインターネットを通じて無料で解放しようという精神に基づいた活動があり、スタンフォード大学やマサチューセッツ工科大学が多くの授業を配信しています。そのコンテンツをiTunes(Apple)が教材や動画として無料配信しているプラットフォームがiTunes Uと言うわけです。動画の他に、Reading Assignment (課題図書)やウェブサイトがパッケージになって提供されています。

https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%B3%E3%83%BC%E3%82%B9%E3%82%A6%E3%82%A7%E3%82%A2

今回はGoogleのお膝元マウンテンビューにあるアメリカの超一流大学、スタンフォード大学のiOS開発の授業をご紹介いたします。

iTunes U の使い方

iTunes U はiOSデバイスのみからアクセスすることができます。

App Store で"iTunes U"と検索すれば出てくると思います。課題図書や動画内の細かいコードを読むためにはiPadぐらいの画面サイズが実質必須になってくると思います。

確かに「結局iPad買えってことかよ!」と言う批判は重重承知しているのですが、スタンフォード大学の授業料は年間400万円であることを考えるとこの投資はタダと言ってしまって差し支えないです。(Apple 信者脳)

今回紹介する授業は"CS193P_F17: Developing iOS 11 Apps with Swift"と言うもので、iTunes Uで検索してもらえると見つけられると思います。

受講するにはiOSデバイス以外にも下記の条件が必須になってきます。

1. 英語ができる、もしくは鍛えたい (今回紹介する講座は、ガチのスタンフォード大学の授業で、専門用語もそれなりに出てくるので、かなりの英語力か英語学習のやる気がないと死にます。)

2. Macを持っている。(iOSアプリの開発にはMacが必須。)

スタンフォードのiOS講座のここがすごい!

1. 毎年アップデートされる
スタンフォードで毎年行われているiOSアプリ開発の授業がすべて公開されているので、最新の環境やプログラミング言語で進められる。

書籍やYouTubeのチュートリアルでプログラミング講座を進めようとすると、よく起こる問題として「開発環境の違い」があります。例えば、最新のSwiftはversion 5ですが、version 2の動画を見てそのままコードを書いてもエラーが発生してうまく先に進めないと言うようなことがよくあります。

その点、スタンフォード大学の授業は毎年行われているので、常に最新(に近い)環境で学習を進めることができます。今現在、beta版をのぞいて最新のXcode 10.2.1 で全くエラーなく進められています。

2. 英語の勉強になる
私、うっくんもスタンフォード大学と同じカリフォルニア州にあるUniversity of California, Irvine(カリフォルニア大学アーバイン校)で1年間留学していましたが、大学の授業は英語の勉強として最適です。Fuxkなどの汚い言葉が使われないので、ビジネスでも使えるきちんとした英語が身につきますし、スラングが少ない分、理解するのも案外容易です。黒人のラップは無理でも大学教授の英語ならわかる、と言うイメージ。

3. 課題図書が無料
この授業の課題図書は、Apple公式のSwiftドキュメンテーションなので、無料で読めます。Swiftのドキュメンテーションはめちゃくちゃ長いのですが、教授が「このセクションだけは読んどけ」と言う風に重要な部分を教えてくれるので効果的に英語の学習とSwiftの学習ができます。

この授業で得られること

まだうっくん自身も全て把握しているわけではないのですが、この授業を完全に理解した暁に得られるものを紹介します。

1. 英語
これは間違いないです。スタンフォード大学は年間の学費が400万円以上の超一流私立大学です。しかも、地理的にシリコンバレーのど真ん中に位置することもあり、コンピュータサイエンスの分野ではトップ中のトップです。その大学の授業を(一つとは言え)クリアしたと言うことは、あなたの英語力は一流です。少なくともビジネスで舐められるようなことはないと思います。

2. プログラミング
「基本的なプログラミング知識はある」と言って過言ではないレベルにはなれます。新卒でプログラマーとして採用してくれる会社もあるでしょう。シンプルなものであればオリジナルのアプリを開発して、アイデア次第ではApp Storeに公開できるレベルのものも作れると思います。

3. オブジェクト指向プログラミング
授業ではMVC (Model-View-Controller = データ構造とUIを分離し、メンテナンスや開発を容易にするプログラミング手法。今日のアプリ開発における基本的なモデルとなっている。) に基づいた開発が強調されています。「MVC が理解できないと単位はあげないよー(教授談)」と言うぐらいに。

MVCはオブジェクト指向プログラミングにも密接に関係しており、現在開発されているほとんどのアプリケーションの設計に通ずる概念となっています。

UIデザインとの関係性

うっくんはUI デザイナーですが、なぜiOSプログラミングの授業を今更受けているかと言う疑問。

それは、最近iPad Pro を買ったからです笑

iPadはもともと初代からほとんど全ての世代を使ってきたのですが、iPad Pro 13インチ(初代) がデカすぎる割にMacほどの能力はない(動画編集ソフトとか画像編集ソフトとか)ために、あまり活用しなくなっていました。ところが、2019年(今年)のWWDCでiPadOSやARkit3.0が発表されたのを見て、iPad Proを改めて使ってみようと思い、購入しました。

ARkit3.0の登場で、#MacPro AR 写真コンペと言うハッシュタグが登場し話題になっているように、ARが単なるexhibition(展示)としての意味ではなく、より実用的なUIとして注目されはじめました。(MacPro ARはARkit2.0のテクノロジーを使用しているので、決して最新のテクノロジーではないにも関わらず、そのリアリティに多くの人が感動している)

UIデザイナーとして、ARを有効に製品に取り込むためにも最低限の知識としてARkitなどのライブラリーを理解することで、より現実に即した有用なUIコンセプトを提案できるのではないでしょうか。

そのためには、UIデザイナーといえどもiOS開発とは無縁ではいられないと思っています。

一緒に頑張りましょう!

UI/UXデザインに関する情報発信をしています。この分野のコミュニティに貢献できるように、全てのnoteは無料で公開しています。サポートしていただけましたら、デザインのツールを購入するのに使いたいと思います。ツールの使い方や、レビューを投稿しておりますのでぜひご覧ください。