「Swift」をマスターしたい初心者必見!全てがわかる総合カリキュラム



「Swift」をマスターしたい初心者必見!全てがわかる総合カリキュラム

iPhoneアプリの開発に使われている Swift。
「アプリ開発には興味あるけど、学習する意味あるのかな」「学習する価値あるのかな」と悩まれていませんか?
本稿では、そんな方に Swift の価値・・を知って頂き、やるべきか・やらないべきかの判断にご活用頂ければと思います。

目次
  1. Swift情報
  2. Swiftはどういった言語なのか
  3. Swiftはなにを作るのに適した言語なのか
  4. 実際に作られているサービスはどんなものがあるか
  5. 難易度や習得するのにかかる時間はどれくらいなのか
  6. Swiftの学習方法
  7. レベルに合わせた書籍
  8. 学習サイトや動画を利用
  9. Swiftの開発環境について
  10. 基礎的な文法・概念の紹介
  11. プロトコル指向型言語
  12. 絶対に押さえておきたい基本的な文法について
  13. Swiftを学んだあとに、どんな仕事ができるの?
  14. Swiftエンジニアの実際の求人例
  15. 転職・起業事例
  16. Swift入門者におすすめの記事
  17. コードキャンプのSwiftカリキュラムの特徴

Swift情報

Swiftはどういった言語なのか

image

img: developer.apple.com

Swiftは、2014年9月に Apple社からリリースされたプログラミング言語で、 現在は iPhoneアプリの基幹言語として使われています。

Swiftが登場する前は、 iPhoneアプリの開発というと Objective-C という C言語由来のプログラミング言語が使用されていました。しかし、 Objective-C は C言語のように学習コストがかかり、プログラミング初心者には取っつきにくい存在。そしてシステム色の強い Objective-C は、アプリ内のバグを見つけにくくなるケースもあり、その結果ユーザーの使用感低下を招き、 iPhoneの使い勝手にも影響。

そうした Objective-C がもつ「バグ」や「セキュリティ」、「開発」の諸問題を解決するために考えられたプログラミング言語が 「Swift」 というわけです。

Swiftの将来性

Swiftを学習しようか悩んでいる方にとって、 「Swiftって今後もあり続けるの?」 と不安に思っている方もいらっしゃるでしょう。この点については、以下の 3点より安心して学習し、スキル習得しても問題ないと考えます。

  • 開かれた言語
  • スポンサー
  • シャア

まず「開かれた言語」ですが、 Swiftはオープンソースのプログラミング言語です。 GitHub上に Swift のシステムコードは公開されています(リンク)。オープンソースで運営することで、透明性の高い言語として評価され、セキュリティーホールやバグなどの問題も早期発見・早期解決できると考えられます。同じようにプログラミング言語のシステムコードを GitHubにアップしているのものとしては Ruby がありますね。

次に「スポンサー」ですが、こちらは世界時価総額ランキングで 2010年から 8年連続トップ 5入りしている Apple社が Swiftの開発・運営を担っていますので、今後当分は心配しなくてもいいと思います。プログラミング言語には、 Swift以外に Ruby や Python、 Java、 PHP などいくつかありますが、 一番大きいスポンサーを持っている言語は Swift でしょう。

「シェア」については、 2018年日本でのスマホOSシェアは、 iPhone が 約 71%、 Android が 27%です *。 iPhoneアプリの需要は今後も見込め、それに伴って Swift言語のニーズも続きそうですね。また最近では Apple TV や Apple Watch に代表されるよう、 iPhone以外でのアプリ開発も行えるようになってきています。

Swiftはなにを作るのに適した言語なのか

image

img:Beta Profiles

  • iPhoneアプリ
  • OSXアプリ
  • Apple Watchアプリ
  • tvOSアプリ

Swiftは、 Apple社からリリースされているハード用のアプリを作るのに適した言語です。大分類で考えれば、上記のようなデバイスが考えられますし、さらに細かく考えると 「iPhoneのゲームアプリ」「iPhoneのSNSアプリ」「iPhoneのARアプリ」などたくさんのアプリケーションを開発することが可能。

現状では上記のようなデバイス用アプリの開発に Swift は適していますが、今後は Homepod や iCar のような新製品用アプリにも Swift は活用されていくと考えられます。そう考えると Swift って Appple社と運命共同体で、 Apple社のように将来が楽しみな言語といえるでしょう。

実際に作られているサービスはどんなものがあるか

image

  • グノシー*
  • 日経電子版*
  • ストアカ*
  • アオイゼミ*
  • クックパッド*

どうでしょう、利用されているアプリはありますか?アプリを使っているとそのアプリがどの言語で動いているか、というのはわからないですが、改めて確認してみるとナゼか親近感が湧きますよね。

上記以外にも Swift製のアプリはたくさんありますが、改めてここで一つ確認しておきましょう。それは iPhoneアプリは Swift以外でも開発されている、ということ。実際に、「Pokémon GO」は Unityベースの C# や Java を使い、 パズドラは C言語? と推測。そして Instagramインスタグラム は JavaScript(React)。

Swiftを検討している方にとって混乱を招くような内容かもしれませんが、 iPhoneアプリの開発は 「Swiftだけじゃない」 ということも知っておきましょう。そして Swift学習後、プログラミングに興味があれば他の言語も積極的に取り入れていくことをオススメします。

難易度や習得するのにかかる時間はどれくらいなのか

image

Swiftの基礎、ということであれば概ね 40 〜 60時間程度ではないでしょうか? 私自身、参考書を片手に勉強した感じでは、基本文法からオブジェクト指向の継承あたりまでで 約40時間 ぐらいだったと思います。 40時間、 1日 2時間勉強できるとすると 20日で Swift の基礎をクリアですね。

Apple社主催の世界規模カンファレンスに小学生で登壇した Yumaさんは、 Swiftの基礎学習には 1年かかったとコメントされています*

つまり理解の到達レベルや学習ペースによって学習にかかる時間は変わるということですね。私の場合は、あくまで表面的な基礎学習。。。

学習の難易度については、 「最初簡単、進むとなかなか難しい」 といった感じでしょう。まず基本文法については、 Pythonに似た印象で読みやすく書きやすい構文で、クラスあたりまで比較的スムーズに学習を進められるのではないでしょうか。

問題は実際に XCode を使って、アプリ開発をする段階での Swift。 UIViewController に代表されるような長い英単語が連発し、 プロトコル や オプショナル型 など難しい文法も初期段階から登場。最初は「難しい」という印象をだれでも受けると思いますが、徐々に慣れてくると、 Appleからの Swift公式ドキュメントも抵抗なく読めていき、気づけば iOSデベロッパーになっていることでしょう。

Swiftの学習方法

レベルに合わせた書籍

image

Swift初心者向け

Amazon.co.jp で 『Swift』 と検索するといくつかの参考書が表示されますが、最新バージョン Swift 4.2 に対応した参考書は少ないです。そして最新バージョンに対応した参考書は、初心者向けのみ。今回は 『初心者向け』 に限定した本をご紹介させて頂きます。


【Swiftの参考書を選ぶときの注意点】
今回ご紹介させて頂く本は、 「Swiftの最新バージョン 4.2」 ですがこれには理由があります。 Swift は毎年のようにバージョンアップを繰り返しています。

  • Swift バージョン 1.0 2014年9月リリース
  • Swift バージョン 2.0 2015年9月リリース
  • Swift バージョン 3.0 2016年9月リリース
  • Swift バージョン 4.0 2017年9月リリース
  • Swift バージョン 4.2 2018年9月リリース

これに伴って基本的な文法は大きく変わりませんが、クラスなどの使い方が変わってきます。例えば、 Swift 4.0 ではエラーにならない書き方も Swift 4.2 ではエラーだったり(下記画像参照)。

そのため Swift 初学時は、 Swiftの最新バージョンに適応した参考書を選ぶことをオススメします。

ただし、 Swiftバージョンの互換性については、 Swiftコードを書いたりアプリを作成するソフト XCode がある程度指摘してくれます。例えば、「そんなクラスの書き方ないよ」とか「この場合はこういう書き方だよ」など。少し Swift にも XCode にも慣れてくると、バージョンの互換性はある程度クリアできると思います。


img text

絶対に挫折しないiPhoneアプリ開発「超」入門 第7版 【Xcode 10 & iOS 12】 完全対応

著者:高橋京介
出版社:SBクリエイティブ
出版年月:2018/11/22
単行本価格:2970円
Kindle価格:2750円

対象:初心者
Swiftバージョン: 4.2
こちらは Swift 1 の時からリリースサれているロングセラーの参考書。なんといっても読んでいて疲れないレイアウトと読みやすい文調、それから少しずつレベルアップするアプリテクニックの紹介。プログラミング初心者かつ iPhoneアプリの開発初心者という方であればこの本をオススメします。しかし、そうはいってもオブジェクト指向やプロトコルあたりになるとなかなか難しいですよ。

img text

本気ではじめるiPhoneアプリ作り Xcode 10.x対応

著者:西 磨翁
出版社:SBクリエイティブ
出版年月:2018/11/22
単行本価格:2970円
Kindle価格:2750円

対象:初心者
Swiftバージョン: 4.2
こちらは Swift の基本文法からアプリの作り方まで詳しく書かれた教科書のような参考書。他の 2冊に比べてお堅いイメージのレイアウトで、サンプルアプリも本格的なので、まさに題名の通り 「本気」 じゃないと読み切れないと思います。 しかし、サンプルアプリを実行してみる分かるのですが、私の場合は 「おお、見応えのあるアプリの動き」と思わず感動してしまいました。 ちょっと Swift にも XCode にも慣れてきた方にオススメしたい一冊です。

img text

たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 10 Swift 4.2対応

著者:藤 治仁ほか
出版社:ソシム
出版年月:2018/10/22
単行本価格:2678円
Kindle価格:2480円

対象:初心者
Swiftバージョン: 4.2

こちらは Swift の基本文法レッスンなしで、 iPhoneアプリの開発に特化した初心者向けの参考書。Swiftの基礎を終えて、様々なアプリテクニックを身に着けたい方におすすめ。文字と画像のレイアウトや文調など見やすく、一人でも学習できそうな参考書になっています。

学習サイトや動画を利用

無料編

無料の学習サイト、というと 「ドットインストール」 や 「Progate」 「Schoo」 を思い浮かべる方も多いと思いますが、こちらの Swift講座はどれも Swift 3 です。

Swift 4 に対応した日本語のチュートリアル・サイトは見当たりませんでした。基本的には参考書を元に Swift の基本文法を学習することをオススメします。

ただし、 Swift 4 を使ったアプリ制作の動画はいくつかありますのでご紹介させて頂きますね。

Anyone Can Code

image

こちらはオーストラリア在住の小学生 Yuma さんがお届けしているアプリ開発のチュートリアル・チャンネル。小学生とは思えない分かりやすい解説で Swift初心者には分かりやすい動画と思います。ただし、サンプルコードのダウンロードはないので、動画を見ながら一緒にアプリ制作していく形です。


Code Pro

image

こちらは Udemy でも Swiftチュートリアルを公開している方のチュートリアル動画。 Swift の基本レッスンと アプリ開発の基本レッスンを視聴できます。実際にいくつか視聴しましたが、英語でも分かりやすい解説なので参考になるでしょう。尚、こちらもプログラムのダウンロードはありません。


Electronic Armory

image

こちらは Z Studio Labs というアプリ開発会社が運営するチュートリアルの動画集。 Swift4 の基本文法からアプリの基本的な作り方まで分かりやすくレッスンしてくれています。動画を見ながら実際にコーディングしていくと勉強になるでしょう。

この他には Siwftのバージョンは確認できていませんが、 Udacity からも Swift のチュートリアルが公開されていますので、興味ある方は参考にしてみて下さい。

有料編

Udemy

image

世界最大規模のオンライン学習プラットフォーム Udemy から Swift4 の講座がいくつか公開されています。 1レッスン 10,800円程度と手頃な価格でレッスンを視聴できる点が特徴的。ただ、 Swift4 対応ですが、 XCodeのバージョンは一つ前の 9 が主流。操作画面が最新版と異なることを了承の上、利用する必要があるでしょう。

無料も有料もですが、とにかく Swift4 に対応した日本語のチュートリアルを探すのは困難です。参考書、 Udemy 以外となるとプログラミング・スクールになってくるのではないでしょうか。

Swiftの開発環境について

image

Swiftは、 Mac以外の Windows でも Linux でも動かすことができますが、アプリ開発となると Mac を使う必要があります。また使用する Mac PC も OS が 10.13 以上、 つまり High Sierra もしくは Mojave である必要があります。これは Swift や アプリ開発 に使う 『XCode』 というソフトを使用するため、上記のようなパソコン環境が必要に。

XCode は、 App Sotre からインストールできますので、 Swift学習をはじめるまえにインストールしておきましょう。ただし、 XCode のダウンロード時のファイルサイズは、約 6GB と巨大です。通信制限にかからないよう、そして通信速度の早い時間帯を狙ってインストールすることをお勧めます。

基礎的な文法・概念の紹介

プロトコル指向型言語

image

Swiftは、 iPhoneアプリや Apple Watchアプリの開発用に設計された言語。そのためアプリ開発時に生じやすいミスやバグを防ぐような言語設計が特徴的。例えば、何もない値を意味する nil の使い方やデータ型をサポートするオプショナル機能。学習を進めていくと、複雑な処理にも関わらずシンプルに処理しようとする Swift の書き方に納得すると思います。

また Swift は、オブジェクト指向型というよりは 「プロトコル指向型言語」 と言われています。 「プロトコル」 ちょっとイメージしにくい言葉ですが、和訳すると 「手順」 や 「覚書」 といった意味。オブジェクト指向をもう一段階ゆるくしたような、柔軟性の高い言語モデルが 「プロトコル指向型」 になります。 XCodeを使って Swiftコードを書き始めると、至るところで プロトコルを使ったコードに出くわしますよ。

絶対に押さえておきたい基本的な文法について

文字の出力

image

print("Hello,Swift")

どのプログラミング言語でも最初に行うプリント文。 Swift の場合は、シンプルですね。

繰り返しの for文

image

for n in 1...5{
  print(n)
}

Swiftの繰り返し分では、 「どこからどこまで」 という表現に ... を使います。これは他のプログラミング言語にはない書き方で特徴的。分かりやすくていいですね。

条件分岐の if文

image

var myNumber = 11

if myNumber <= 10{
  print("もうすぐ順番です")
}
else{
  print("まだ順番ではありません")
}

条件分岐の if 文は、 Pythonと同じような書き方。シンプルで分かりやすい文法ですね。

Swiftを学んだあとに、どんな仕事ができるの?

image

基本的には Apple社製のアプリ開発に従事することができるでしょう。

  • iOSデベロッパー
  • アプリエンジニア
  • システム開発

IT業界といういうと、大きい会社がシステム設計、要件定義をして、実際のプログラムは下請け、というイメージが強いですが、アプリ開発については自社設計で自社プログラムという企業も多く見受けます。

これはやはり XCodeなどのおかげで、設計から開発、デバグまでの期間が短くて済む特徴があるためと考えます。自分のやりたいこと・・・・・・を仕事にできるかもしれませんね。

Swiftエンジニアの実際の求人例

富士ゼロックスシステムサービス株式会社

【雇用形態】
正社員

[想定年収]
非公開

【事業内容】
全国の自治体および企業向けBPO(ビジネス・プロセス・アウトソーシング)サービスの提供

【募集背景】
基幹/業務系システム領域から、ビジネスプロセスのトータルソリューションなど、幅広いサービスを提供している当社。お客様も自治体・公共機関、企業など多様で、単独で直受けする案件がほとんどです。多様化するニーズに対応しつつ、さらなる顧客満足度向上のため、さまざまな領域で活躍していただけるSEを求めています。

【仕事内容】
【システム構築】企画から設計、開発などの上流工程の業務が中心。

【具体的な業務】
・スマホアプリの開発
・Webアプリケーションの開発
・既存システムのプラットフォーム化など

【歓迎する経験やスキル】
以下の言語やキーワードに強い、あるいは興味をお持ちの方。
※どれかひとつで構いません。

Java、JavaScript、PHP、Ruby、python、C、C#、Swiftなど
キーワード
Web、サーバーサイド、アプリケーション、インフラ、クラウド、アジャイル・スクラム開発、デザイン・シンキングなど。

※業種未経験歓迎(上記事項に当てはまる場合)
※第二新卒歓迎

【勤務時間】
フレックスタイム制(コアタイム11:00~15:00)
※1日の標準労働時間7.5h
※勤務時間例9:00~17:30
※残業代は1分単位で全額支給します。

【待遇・福利厚生】
社会保険完備
通勤手当
時間外勤務手当
各種研修制度 など

【休日・休暇】
【年間休日125日】
完全週休2日制(土・日)
祝日
夏期休暇(5日)
年末年始休暇
有給休暇
積立有給休暇
特別休暇(リフレッシュ、慶弔、永年勤続など)
産前産後休暇

data: indeed

株式会社 フロムスクラッチ

【雇用形態】
正社員

[想定年収]
非公開

【募集背景】
新規プロダクト開発に伴う開発体制の強化を実施しております。
また、膨大なデータ処理と活用に伴う研究企画部門の設立を予定しております。

【仕事内容】
フロムスクラッチでは、テクノロジー×データ×マーケティングの領域で、新しい価値の創造に本気で取り組むエンジニアを募集しています。
現在、オープンポジションとして、ソフトウェアエンジニアを募集しています。

【応募資格】
・テクノロジー、データサイエンス、マーケティングのいずれかの領域に興味があること
・新技術の検証と採用、自社プロダクト開発に興味があること
・Ruby、Java、Scala、Swift、Javascriptのいずれかを用いた開発経験

【待遇・福利厚生】
社会保険完備
通勤手当
住居手当など

【休日・休暇】  
週休2日制
リクルーティング手当
出産祝い金
育児手当

data: indeed

Swift入門者におすすめの記事

本稿と合わせて読んでおくと、より理解が深まる記事をご紹介させて頂きます。

コードキャンプのSwiftカリキュラムの特徴

image

『オンライン × マンツーマン』 で定評のある CodeCamp からは 「アプリマスターコース」 がリリースされています。 Swift の学習は、この 「アプリマスターコース」で受講可能。 Swiftの基本文法からオブジェクト指向やプロトコル、デリゲートといった構文を実際のアプリ制作を通じて学習。

また本コースでは Swift学習に加えて、 iOSのアプリ制作もいくつか行うのですが、なんと Android の開発まで体験しちゃおうという内容。一見すると 「そんなのムリ」 と思うかもしれませんし、「私、 Android 使わないし」 と思う方もいらっしゃるでしょう。しかし、「アプリ」の視点で考えると多くのアプリが 「iPhone」「Android」 の両方でリリースされています。

最初は 「iPhone用」 で作ったアプリも、 Androidの開発手順を知っておくと 「Android市場」 にも投入でき、より高い収益性に期待できるのではないでしょうか?

Android = Java = 難しい 、と思われている方もいらっしゃるかもしれませんが、本コースは Javaの基本学習なしでアプリを作っていく 「Androidアプリ開発 パーフェクトマスター」 という本を参考に進めていきます。優秀な先生もついていますので、安心して 「Swift」「iOSアプリ開発」「Androidアプリ開発」 の基礎スキルを習得できると思いますよ。

CodeCamp
【アプリマスターコース】

受講料: 148,000円(税込み)
入学金:  10,000円(税込み)
受講期間: 2か月間
レッスン回数: 20回

オシママサラ
この記事を書いた人
オシママサラ
\ 無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp