Swift入門 - XcodeとPlaygroundsを利用したサンプル実行まで解説
Swiftの入門編として、Swiftの基礎的な構文構造やサンプルコードの実行までを解説し、Swiftに触れる環境を構築していきます。
Swiftの入門編として、Swiftの基礎的な構文構造やサンプルコードの実行までを解説し、Swiftに触れる環境を構築していきます。
スキルアップ
2020/11/27 UP
- プログラミング
- SE資格・スキル
- 入門
- Swift
Swiftは特にiOS開発で現在、主流となりつつあるプログラミング言語です。習得難易度が高いObjective-Cに代わって、急速にシェアが広がっています。
もしiOSでアプリ開発をしたいと考えているのであれば、Swiftを習得しておいて損はないでしょう。Appleでは公式の学習プログラムなどを用意し、積極的にSwiftの普及に努めているため、学習環境も整っています。
今回はSwiftの入門編として、Swiftの基礎的な構文構造やサンプルコードの実行までを解説し、Swiftに触れる環境を構築していきます。
なお、Androidアプリの場合は、GoogleがAndroid開発の公式言語として採用したKotlinがおすすめです。
Swiftとは
Apple社が開発した、iOSやmacOSなどのためのプログラミング言語です。iOSの他に、watchOSやtvOSなどのApple製品に搭載されているOSに幅広く対応し、さらにはWeb開発まで可能な柔軟な言語です。
元々、Apple社のOS上で動作するアプリケーション開発には、Objective-CというC系のプログラミング言語が使用されていました。しかし、Objective-CはC系言語であるため汎用性が高く優れているものの、習得難易度が高く、なかなかエンジニアが育ちにくいことや開発が難しいというデメリットがありました。
そこでApple社は、より広範のデベロッパーがアプリケーションを開発しやすいようにSwiftを開発しました。今や公式でSwiftの学習アプリや講座が提供され、iPhoneやiPadでもプログラミングが学習できるなど、Apple社は積極的にSwiftの普及に努めています。
実際に動作が速く、可読性の高いSwiftは習得しやすく、エンジニアの数も増えていることから、Apple社のOS向けのアプリケーション開発では、Objective-Cから急速に置き換えが進んでいます。
Swiftの開発環境はXcode
特に理由がない限り、Swiftを開発する際の統合開発環境(IDE)はApple社が提供するXcodeがおすすめです。
開発元であるAppleが公式ツールとして公開しているため、一番動作が安定しており、Swiftを使う際に必要となるプラグインなどが全て揃っているため、すぐに開発を開始できます。
なお、Linux環境でもSwiftの開発自体は可能です。ただし、自分で必要となるライブラリやプラグインをインストールし、環境を構築する必要があります。そのため、Xcodeによる環境構築と比較すると格段に難易度が上がってしまう点がデメリットです。
XcodeにはPlaygroundと呼ばれる、Swiftをインタラクティブに実行できる環境があります。
Swift Playgroundsはパズルなどを解きながらソースコードについて学んでいけるため、遊んで楽しみながらSwiftに親しめるのが特徴です。
ゲームの攻略に使用するコードは実際のSwiftのコードなので、さまざまなゲームをプレイする中で、プログラミングに必要なコーディングに対する概念の理解や知識が蓄えられる構造になっています。Swift Playgroundsで操作できるロボット、ドローン、接続デバイスは豊富にあり、Playgrounds内で作ったアプリケーションで、現実のデバイスを操作して楽しめます。
入門者向け Swiftの基本文法を紹介
Swiftはモダンな言語としてデザインされています。すっきりとして可読性が高く、書きやすいのが特徴です。また、プログラミング言語の定番である「;」を書かなくてよいのも特徴と言えるでしょう。
また、コンパイル言語でありながらPlaygroundsではコーディングしながら動作を確認できるため、他のコンパイル言語と比較すると格段に開発効率が高くなっています。
それでは、基本的な文法やよく使う構文を見ていきましょう。
データ型
データ型とは、データをプログラムが処理する方法をコンピュータに指示するためのものです。そのデータを使用してなにができるのか、また、実行可能な操作はなんなのかを決定します。
Swiftは静的型付けであり、また型推論であるため、最小限の表記で型を指定することができます。
Int |
符号付き整数(Intには Int8,16,32,64とデータ長の違うものが4パターンある) |
---|---|
UInt |
符号なし整数(UIntにも UInt8,16,32,64とデータ長の違うものが4パターンある) |
Float |
不動小数点32ビット |
Double |
浮動少数点64ビット |
Bool |
true /false |
string |
文字列 |
演算子
変数とは数字や文字などのデータをプログラムで処理するために、名前をつけて一時的に格納するものです。演算子は四則演算を始めとした数式などの処理を行う際に使用する記号を指します。
数値 |
+ - * / % ++ -- |
---|---|
文字列 |
+ |
ビット |
~ & | ^ << >> |
代入 |
= += -= *= /= %= **= &= |= ^= &&= ||= |
比較 |
== != < > <= >= === !== |
論理 |
! && || |
クラスとメソッド、プロパティ
クラスとは、Javaプログラムを実行するためのデータと処理(メソッド)をまとめたものです。メソッドはクラスで実現したい処理内容を具体的に定義したもので、プロパティはクラス内変数を指します。
実際のコードではどのように書くのか、サンプルを見てみましょう。
以下のサンプルコードではTestMethodというメソッドをもつTestClassというクラスを定義しています。
サンプルコード
class TestClass { func TestMethod(num: Int) { } }
条件分岐
Swiftの条件分岐は、一般的なif文と同じ構文構造をしています。
以下のサンプルでは5以下の場合、10以下の場合、11以上の場合の3つの条件をif elseif else で分岐させ、異なる内容を表示しています。
サンプルコード
var num = 5 if (num <= 5) { print("5以下です") } else if (num <= 10) { print("5以上 10以下です") } else { print("11以上です") }
ループ
ループ構文も一般的なfor文、while文と同様の表記方法になっています。
以下のサンプルコードでは、numが5未満の間、処理をループし、1ずつ加算しながら結果の値を出力しています。
サンプルコード
var num = 0 while (num < 5) { print(num) num += 1 }
入門者向け Swiftのサンプルコードの解説
開発環境と基礎的な文法を理解したところで、サンプルコードを実際にXcodeで実行してみましょう。
ここではプログラミング言語の最初の定番であるHello Worldと、if whileを使ったサンプルを紹介します。
Swift入門: Hello Worldを書いてみよう!
まずはXcodeを起動し、Playgroundを立ち上げましょう。起動したら、Get start with a playgroundをクリックし、Playgroundsの画面を表示します。任意の名前を入力し、iOSを選択してください。
保存する場所を選んだら、Createボタンをクリックして、Playgroundsを作成します。
コードの入力画面に、以下のサンプルコードを入力してください。
サンプルコード
print("Hello World")
画面右側にHello Worldと表示されました。Swiftはたった一行でHello Worldが記述できる、シンプルな構造であることがおわかりいただけたでしょうか。
if と while を組み合わせたサンプルコード
続いて前項で解説した条件分岐とループを組み合わせたコードを実行してみましょう。Hello Worldと同様にPlaygroundsを作成し、以下のコードをコピーペーストします。
このソースコードでは、0から始まって10になるまで1ずつ加算するループ処理を行い、3以下、6以下、7以上の場合に条件が分岐して表示する内容が変わります。
サンプルコード
var num = 0 while (num < 10) { if (num <= 3) { print("3以下です") } else if (num <= 6) { print("3以上 6以下です") } else { print("7以上です") } num += 1 }
Swiftのおすすめ学習方法
まずはPlaygroundsでSwiftのコードの記述に慣れ、できることを少しずつ増やしていきながら、書籍やWebの情報をもとに試していくのが一般的です。Apple社が提供するコンテンツは非常に豊富なため、コンテンツを消化しているだけで簡単なアプリケーションは自作できるようになるでしょう。
さらに上達を目指すのであれば、スクールなどに通って集中的に学習するのも良い選択肢です。Swiftは他の言語と比較すると扱っているスクールがやや少ない傾向にあるため、スクールを希望する場合はオンラインスクールなども検討するとよいでしょう。また、イベントやセミナー、無料動画サイトによる学習なども可能です。
iOSアプリの開発需要は大きいため、エンジニアの勉強会なども多く、ハッカソンなどに参加すると周りに質問したり刺激を受けたりしながら集中的にコーディングや開発を学ぶことが可能です。
Swiftは接続できるガジェット類が多いため、ものを作りながら学びやすく、学習しやすい環境が整っている言語だといえます。
Swiftでアプリ開発にチャレンジ!
開発言語の主流がObjective-CからSwiftに変わって以降、特にiOSアプリ開発は格段にやりやすくなったといわれています。新しいデベロッパーの成長を後押しするApple社の方針もあり、言語として習得しやすい環境が整っているのも一つの理由としてあげられるでしょう。
言語としては比較的優しい部類に入り、最初からオンラインでの学習環境が整備され、公式によるPlaygroundsなども揃っているため、プログラミング初心者が習得を目指すのも難しくありません。
なにかプログラミング言語を始めてみたいという場合は、Swiftでアプリ開発にチャレンジしてみてはいかがでしょうか。