結論:Swift は Apple が作った「安全で速い」プログラミング言語で、iPhone・iPad・Mac・Apple Watch のアプリ開発が主な使い道です。 SwiftUI という仕組みで画面を宣言的に書け、副業でよく狙われる「自分のアプリを App Store に出す」ことに一番近い言語です。加えてサーバーサイド(バックエンド)にも使えます。まず「Swift のコードがどんなものか」は、Mac や Xcode がなくてもSwift(iOSアプリ)コースでブラウザからそのまま試せます(無料・登録不要・環境構築なし)。
Swift は結局「何が作れる」言語なのか
Swift の使い道は、ひとことで言えば 「Apple のデバイスで動くアプリ」 です。iPhone だけと思われがちですが、実際は Apple のほぼ全製品が対象です。
- iPhone アプリ(iOS) ― 一番の主戦場。App Store で配布・販売できる。
- iPad アプリ(iPadOS) ― 大画面向けのアプリ。iPhone と同じコードを流用しやすい。
- Mac アプリ(macOS) ― デスクトップアプリ。SwiftUI なら iPhone アプリとコードを共通化できる。
- Apple Watch アプリ(watchOS)/Apple TV(tvOS) ― 時計やテレビ向けのアプリ。
- サーバーサイド(バックエンド) ― Vapor などのフレームワークで Web サーバーや API も書ける。
副業で「自分のアプリを作って公開したい」という人にとって、App Store に出すアプリを作る一番素直な道が Swift です。まずどんな言語か1分で体感したい人は、iOSアプリはどう作られる? ― 全体像とはじめてのSwift ― print で出力するをブラウザで開いてみてください。
なぜ「Apple のアプリ」が主用途なのか(3つの特徴)
使い道は Swift の性格から素直に決まっています。3つの特徴で見ていきます。
1. Apple が「アプリを作るための公式言語」として作った
Swift は 2014 年に Apple が発表した比較的新しい言語で、それまで使われていた Objective-C を置き換えるために生まれました。つまり Apple 純正のツール(Xcode)と最初から相性がいいように設計されています。iPhone・iPad・Mac のアプリを作るなら、いま最も標準的な選択肢が Swift です。
言語としての基本は、他のモダンな言語と大きくは変わりません。まずは基礎をブラウザで動かしてみてください(いずれも実行できる回です)。
- 変数と定数 ― let と var:
let(定数)を基本にする安全志向。 - 文字列と文字列補間:
"\(名前)さん"のように値を文字に埋め込む。 - 関数 ― 引数ラベルとデフォルト値:呼び出したとき読みやすい Swift 特有の書き方。
2. 「安全」― nil(値がない)をうっかり使わせない
Swift の設計思想の中心が 安全性 です。中でも有名なのが Optional(オプショナル)という仕組みで、「値がないかもしれない」ことを型で明示させます。これによって、多くの言語でアプリが落ちる原因になる「値が空なのに使ってしまった」バグを、書いている時点で防げます。
Swift のコードでよく見る ? や !、guard let の正体はこれです。実際に動かして押さえておくと、後々のアプリのコードがすんなり読めます。
- nil と Optional(ブラウザで実行できる)
- struct ― データのかたちを作る:アプリのデータを表す基本の型。
- protocol ― 「できること」を約束する:後で出てくる
: Viewの正体でもある。
3. 速い ― コンパイル型で機械語に翻訳して動く
Swift はコンパイル型(機械語に翻訳してから動く)の言語で、動作が速いのも特徴です。スマホや時計のように電池と性能が限られたデバイスで、なめらかに動くアプリを作るのに向いています。コンパイル型とインタプリタ型の違いが気になる人は コンパイラとインタプリタの違い も参考にしてください。
主用途をもう少し具体的に
iPhone / iPad / Mac のアプリ(SwiftUI で画面を作る)
Swift でアプリの画面を作る、いま主流の方法が SwiftUI です。「こういう画面にしたい」という完成形を宣言的に書くと、その通りに表示され、状態が変わると自動で画面が更新されます。
このサイトの Swift コースの強みは、その SwiftUI の画面をブラウザ上の iPhone 風プレビューでそのまま動かせることです。: View と var body を書くと右側に画面が描画され、ボタンのタップやテキスト入力にも反応します。Mac も Xcode も要りません。
- はじめてのSwiftUI ― Text:画面に文字を出す最初の一歩。
- @State と再描画 ― カウンターを作る:ボタンを押すと数字が増える。プレビュー上で本当にタップに反応する。
- TextField ― 入力を受け取る:入力した文字が画面に反映される。
- List ― 一覧を作る・NavigationStack ― 画面を移動する:一覧から詳細へ、という「アプリらしい」画面。
自分が書いたボタンが本当に動く体験は、副業でアプリを作りたい人にとって最初の手応えになります。Swift コースは第1章から第7章までのほぼすべてのレッスンがブラウザで実行できます。
サーバーサイド(バックエンド)
意外に知られていませんが、Swift はサーバー側(Web サーバーや API)にも使えます。Vapor というフレームワークが代表的で、iPhone アプリと同じ言語でその裏側のサーバーまで書ける、という選択肢があります。バックエンドとフロントエンドの役割分担があいまいな人は、先に フロントエンドとバックエンドの違い を読むと、どこで Swift が使えるのかが整理できます。
なお、実際にサーバーと通信する部分は Mac・Xcode が前提のため、コースでは URLSession ― サーバーと通信する として読み物で解説しています。
つまずきやすいところ(使う前に知っておく)
Swift でアプリを作るとき、初心者が最初に詰まりやすいのが先ほどの Optional(nil の扱い) です。「値がないかもしれない」を毎回意識させられるので最初はくどく感じますが、if let と guard let ― 安全な取り出し を動かすと「アプリが落ちにくくなる」という狙いが腑に落ちます。
もう一つは環境の壁です。本格的な開発には Mac と Xcode(数GB) が必要で、iPhone 実機や Apple Developer への登録も App Store 公開時には要ります。ここは正直なところ、独学のつまずきポイントです。だからこそ、まずはブラウザで文法と SwiftUI を体験し、「自分はアプリ開発を続けられそうか」を確かめてから Mac を用意するのが、遠回りに見えて挫折しにくい進め方です。この環境まわりは 実機テストとApp Store公開 に読み物としてまとめています。
まず何をすればいい?
「Swift で何が作れるか」が分かったら、次は 手を動かして向き不向きを自分で確かめる のがいちばんです。Swift コースは文法から SwiftUI で画面が動くところまで、多くの回をブラウザ内で実行しながら進められます。無料・登録不要・環境構築なしです。
- 最初の一歩 → はじめてのSwift ― print で出力する
- Swift らしさ → nil と Optional
- 画面が動く体験 → @State と再描画 ― カウンターを作る
- iPhoneアプリを独学したい → iPhoneアプリの作り方を独学したい人へ
- コース全体を見る → Swift(iOSアプリ)コース