皆さんは、普段どのような「アプリ」を使っていますか? 電話アプリ、やLINEなどのチャットアプリ、ニュース を読むアプリ、カメラの撮影アプリ、画像を加工するアプリ、動画や音楽を再生するアプリ、ゲームアプリなど世の中には実にさまざまなジャンルのアプリがあります。
普段何気なく、いろいろなアプリを使っていると、ふと「このアプリのここが使いづらいな。」「このアプリ、ここがもっとこうなっていたらなあ」と思うこともあるでしょう。「自分だったら、ここをこうするのに。何でこんなふうに作ったのかな?」と思う人もいるはずです。
自分でiPhoneアプリをつくりたいと思った時に学んでほしいプログラミング言語が「Swift」です。Swiftはまだ誕生して日の浅いプログラミング言語ですが、iPhoneアプリをつくりたい人は必ずと言っていいほど学んだ方がいい言語です。
こちらの記事ではいPhoneアプリ(iOSアプリ)などをつくることができるプログラミング言語「Swift」について詳しく紹介します。Swiftの概要、特徴、またSwiftが学習できるサイトなどを紹介しますので、これから学習を始める予定の人はぜひ参考にして下さい。
目次
Swiftとは
はじめにSwiftの概要を紹介します。
SwiftはApple社が2014年に発表した、iOS、macOS、Linuxで利用することができるプログラミング言語です。iOSアプリ(ネイティブアプリ)の開発を行うことができる言語です。
今までiOSアプリを開発することができる言語はObjective-Cでしたが、SwiftはObjective-Cに代わる新しい言語といえます。
また2015年にSwiftはコードを公開(オープンソース化)しました。このコードの公開によって全世界の人がSwiftを改良することができるようになりました。Apple社がSwiftを発表した時、「モダン、安全、高速、インタラクティブ」を大きな特徴として挙げました。
プログラミング言語を表現する時に使う「モダン」という言葉は、コードが読みやすく、また記述しやすいという意味です。現代のプログラミング言語で必要とされている要素がある時にモダンと表します。Swiftはコードの記述がしやすく読みやすい、かつ未来も使用されるという期待のある言語なのです。
またSwiftは「安定性」という言葉でも表されています。そしてプログラミング言語における安定性というのは、不具合(エラー)が起こりづらく、安定した状態でアプリやシステムを稼働できることを指しています。Swiftはプログラマーのミスによるエラーが起こりづらい構造になっているため、安定性が高いのです。
iOSのユーザー数は10億以上と言われています。Swiftはそのユーザーに、iOSネイティブアプリを開発し、アプリをリリースができる言語なのです。
なお、基本的には、SwiftはMacでXcodeでの開発を想定されています。
Swiftの特徴
つづいて他の言語と比較した時に分かるSwiftの4つの特徴について詳しく紹介します。
(1)実行速度が早い
「Swift」という単語の意味「迅速」の通り、プログラムの実行速度が速くなるように作られています。非常に高性能なLLVMコンパイラを使用することで、Swiftのコードは、モダンなハードウェアを最大限に活用し、最適化されたネイティブコードに変換されることで、高速処理を実現しています。
スマホの普及によって情報量も増えていますから、アプリが軽快に動作することは大きなメリットになりますよね。
(2)モダンである
Apple社が伝えるモダンとは、プログラミング言語に関する最新調査の結果と、Apple社のプラットフォームの構築経験の結果から、Objectvie-CやRuby、Python、Javaなどの言語の良いところを取り入れ、使いやすい楽しい言語という概念の元に開発されたイマドキな言語であることを意味しています。
具体的には、型の指定が必要ないことや、セミコロン(;)が必要ないことなどがあげられます。メモリの開放もコンパイラが行ってくれるので、コードに書く必要はありません。
(3)安全な設計
Swiftは安全に設計されています。ポイントは次の通りです。
・ 安全でないコードのクラス全体を排除
・ 変数は常に使用する前に初期化され、配列と整数はオーバーフローがチェックされる
・ メモリは自動的に管理される
・ 構文は意図を簡単に定義できるよう調整されている
・ デフォルトで、Swiftオブジェクトが決してnil(何も値がない状態)にならないため、コードがよりクリーンで、安全に書くことが出来る
(4)インタラクティブ(他の言語との相互性)
Swiftには、これまでiOSやMacの開発に使われてきたObjective-Cとの互換性があり、Objective-C、C++やC言語とも混在が可能です。SwiftとObjective-Cとの間でAPIを共有したり、Objective-Cとの間のフレームワークをSwiftにインポートしたりと、シームレスに使用できます。
Swiftでできること
つづいてSwiftで作ることができるものを紹介します。
iPhone、iPodtouch、iPadアプリ
iPhoneアプリをつくりたくてSwiftを触りはじめる人は多いと思いますが、SwiftではiPhoneアプリだけではなく、iPodtouch、iPadアプリもつくることができます。iPodtouchのアプリもつくることができることを知らない人は多いのではないでしょうか。
iPhone用にアプリをリリースしようとしても、基本的にはiPadにもアプリを対応させる必要があります。なので自然とiPhoneアプリをつくればiPadアプリもつくることができます。
アプリをリリースするまでにはAppleの審査を通す必要があるので、事前に審査項目などを確認して実装するようにしましょう。
Macアプリ
またSwiftではMacBookやMacBook AirといったMac専用のアプリケーションを作ることも可能です。そしてリリースすることができた場合、MacAppStoreで配信することが可能です。
iPhoneやiPadのアプリとMacアプリの違いは、Macのメモリ、ハードディスク、キーボードなどMacのハードウェアに関わるアプリをつくれることです。Macを利用していて作りたいと感じているアプリがあるならMacアプリを作るのがオススメです。
AppleTVアプリ
「AppleTV」の存在を知らなかった人もいるかもしれませんが、SwiftではAppleTVのアプリもつくることができます。AppleTVは映画や音楽などをTVで楽しむことができる製品です。
そして2015年に発売した第4世代のAppleTVからは、AppleTV上でアプリが動くようになりました。現在の時点で1000個以上のアプリがリリースされています。普段AppleTVを活用している人は、AppleTV用のアプリを実装してみることをオススメします。
Applewatchアプリ
Swiftでは「Applewatch」のアプリもつくることができます。手首の上で使用できると便利なランニングの走行距離計算、ニュース、乗り換え案内など多くのアプリが現在リリースされています。
iPhoneアプリやMacアプリと比較すると、まだリリースされているアプリの数はまだまだ少ないので、Applewatchに適したアプリのアイディアが思いついた人は挑戦してみてはいかがでしょうか。
Webアプリケーション・Webサーバー
SwiftはiOSアプリをつくるためのプログラミング言語、というイメージが強いですが、実はRubyやPython、PHPなどと同様にSwiftもWebアプリケーションをつくることができます。
さらにSwiftではWebサーバーもつくることができます。これまでは一つのサービスでiOSアプリをつくり、またWebアプリもつくりたかった場合、Objective-CでiOSアプリを開発したあとに他のプログラミング言語でWebサーバーをつくる必要がありました。
しかしSwiftであればiOSアプリ、そしてWebサーバー両方を一気通貫でつくることができるので、作業がグッと減ります。現在Swiftを利用する目的で圧倒的に多いのはiPhoneアプリの開発ですが、そもそもSwiftが2014年に開発されたばかりの言語ではあるので、使用される幅も広がっていくことが見込まれます。
良いアイデアが思いついたのなら、様々なデバイスでのアプリをSwiftで実装してみることをオススメします。
Swiftが学習できる学習サイト・スクール・本
つづいてSwiftを学習できるおすすめ学習サイトを紹介します。
学習サイト
ドットインストール
「ドットインストール」は動画でプログラミングを学ぶことができる学習サイトです。Swiftだけではなく、Xcodeの環境構築方法やiOSでのレイアウト入門などがあり、iPhoneアプリをつくるのに大変おすすめしたい学習サイトです。
ただしドットインストールでSwiftの学習をする場合、プレミアム会員に登録する必要があります。プレミアム会員は月額税込980円で利用することができます。
schoo
「Schoo(スクー)」はプログラミングだけではなく、Webデザインやビジネススキルなどの授業動画を見られる学習サービスです。もちろんSwiftの授業動画も見ることができます。(注意:無料動画と有料動画があります)
Schoo(スクー)のサービスの場合、授業は全てオンライン(または録画)で見ることができ、またスマホからも見ることができるので移動中もSwiftの勉強ができます。さらに生授業の場合、授業中にチャット機能を活用して先生に質問をすることもできます。
Swiftプログラミング言語入門(YouTube)
「Swiftプログラミング言語入門」は伊沢剛さんが公開しているSwiftの学習動画です。Swift の実行に必要なXcodeの環境構築方法なども教えてくれる動画なので、プログラミング経験自体が未経験であってもSwiftを学ぶことができます。
The Swift Programming Language
スウィフト ツアー。Apple公式ガイド(英語)です。
(ブラウザの翻訳ツールの利用する場合には、ソースも翻訳されることに注意)
逆引きSwift
逆引き形式のサンプル集です。iOSフレームワークの解説がメインです。
Udemy(ユーデミー)
世界最大級のオンライン学習サイトUdemy(ユーデミー)が、プログラミング学習にとてもおすすめです。本1冊位の値段(1講座、1,200円〜数千円)で動画を見るだけでなく、実際に手を動かしながら学ぶスタイルなので、実務で使えるスキルが身につきます。
iPhoneアプリ関係の講座を見てみると、
- みんなのiOS講座 ゼロからSwiftで学ぶiPhoneアプリ開発の基礎
- 【初級~中級編】Swiftを使ってTinderのようなiPhoneアプリを開発しよう!【iOS】
- 【3日でできる】はじめてのiOS アプリ開発超入門【iOS 10 ・Swift 3対応】
- iOSを超初級から上級まで完全網羅!知識ゼロからプロのInstagram風画像加工アプリをつくる!
など多数の講座が揃っています。
iPhoneアプリ開発を学べるオススメプログラミングスクール
つづいてSwiftを学習できるおすすめプログラミングスクールを紹介します。
TechAcademy(テックアカデミー):iPhoneアプリコース
TechAcademyのiPhoneアプリコースは一人一人にパーソナルメンターが付くスタイルの学習プログラムです。オンラインで行うため、忙しくて時間がない方でも学習可能ですね。
iPhoneアプリコースでは横スクロール型アクションゲームアプリやタスク管理アプリなど短期間で計4つのアプリを作り公開します。最終的な公開まで一通り経験することで開発手法が身に付くようになっているのです。
基礎から達成感を持って学べるので独学で一度挫折した人にもオススメできます。
CodeCamp(コードキャンプ):iPhoneアプリコース
CodeCampもオンラインで学習を進めるスタイルです。iPhoneアプリコースでSwiftを利用したアプリ開発が勉強できます。iPhoneアプリのエンジニアとして活躍したい人に向けたSwiftの基礎からのレッスンが魅力的です。最終的にはニュースアプリのようなものも作成できるようになります。
期間は1カ月のプランと6カ月のプランがあるので自分に合った期間で学習するとよいでしょう。
Swift入門にオススメの本
最後にプログラミング初心者でもSwiftを学習することができる、オススメの本を紹介します。
絶対に挫折しないiPhoneアプリ開発「超」入門増補改訂6版
- 著者名:高橋京介【著】
- 価格: ¥2,970(本体¥2,750)
- SBクリエイティブ(2017/11発売)
本書は、これからはじめてiPhoneアプリ開発を学ぼうとしている人にとって少しでも役立つ本であるために、「誰一人、絶対に挫折しない」を命題に、とことんこだわって、とにかく丁寧に解説しています。手順の省略や解説の飛躍も一切ありません。 自信がない人、大歓迎です。ぜひ本書を最後まで読み進めてください! 経験ゼロからでも必ず読み進められ、Swiftとアプリ開発の基本はこの1冊で必ず習得できます!
小学生でもわかるiPhoneアプリのつくり方
- 著者:森巧尚 (著)
- 価格: ¥3,024
- 出版社: 秀和システム
「プログラミングはまったくはじめて」という超初心者でもOK!
いちばんやさしいiPhoneアプリ開発の入門書です。
わかりやすい解説に定評があり、子供向けプログラミング講座の講師としても活躍する著者が、小学生でもわかるようにプログラミングの基礎とiPhoneアプリのつくり方を解説します。
Swiftの始め方
iOSアプリの開発の流れ
0.統合開発環境(IDE) Xcodeのインストール
→App Storeから簡単にインストール可能
1.Xcode プロジェクト作成
2.アプリ基本設計(アプリアイコン、画面遷移、アイコンラベル)
3.画面デザイン
→StoryboadでUIを構築
4.Xcode Playgroundにてプログラミング
→SwiftもしくはObject-Cでコードを記述
5.シミュレーターで動作確認
→XcodeのiOSシミュレーターを起動
6.実機で動作確認
7.アプリ申請
→App Storeにアプリの申請
8.リリース
Playgroundを作成する
Swiftを使って「Hello World」までのコードを書いてみましょう。
Playground って何?
Playgroundは、プログラムを簡単に試すことができる「遊び場」のような機能です。
プログラムを1行書いただけで、そのプログラムが実行され、すぐにそのプログラムの処理結果を確認できます。プログラミングを学ぶ人のための機能といえるでしょう。
プログラムの書き方
1.Xcodeを開きます
(初回は起動がわりと時間がかかります)
「Welcome to Xcode」と表示されたダイアログで、「Get started with a playground」をクリックしましょう。
2.Playgroundのファイル名を入力して「Next」を、保存場所を指定して「Create」をクリックします。(Platformは iOS)
3.Hello Woldを書く
Playgroundは、2つの画面に分かれています。左側に表示されている編集画面と右側に表示されている結果画面です。編集画面にプログラムを入力してみて下さい。
次に、編集画面に以下のように一行追記します。
すると結果画面に文字が出力されるのを確認しましょう。
“print (str)”
Windows でSwiftを試すなら「IBM Swift Sandbox」がオススメ
Windows環境で、Swiftのプログラムをサクッと書いて試してみたい場合には…。
このIBM Swift Sandboxを使ってみてはいかがでしょうか?
画面左側にSwiftのコードを書いていきます。
そして、実行するには画面中央下にある再生ボタン(▶)をクリックします。
すると、プログラムの実行結果が画面右側に表示される対話実行環境です。
まとめ
Swiftを使ってみたくなりましたか?
Swiftが使えるとアプリ制作が楽しくなります。Swiftは人気急上昇の言語でもあります。簡単に習得できるというわけでもないですが、Apple信者の多い日本では今後も必要となっていく言語かと思われます。仕様も十分安定してきているので、使い始めるなら今でしょう。
Swiftは2014年に発表されて以来、バージョンアップを経て仕様も大きく変化しています。今後のバージョンアップは互換性も維持すると言われていて、さらに開発がしやすくなるでしょう。
この記事をプログラミング学習やアプリ制作のきっかけにしていただければと思います。