Swift

Apple が開発した安全性と速度を重視するモダン言語。iOS/macOS アプリ開発の主役

プログラミング言語モバイル
Swift」の技術書を見る →

Swift とは

Swift (スウィフト) は、Apple が 2014 年の WWDC で発表したプログラミング言語だ。それまで Apple 製品の開発に使われてきた Objective-C を置き換える目的で設計され、安全性・速度・表現力を重視している。iOS・macOS・watchOS など、Apple のプラットフォーム向けアプリ開発の主役言語になっている。2015 年には Apache License 2.0 でオープンソース化され、コンパイラ本体の開発も公開のリポジトリで進む体制になった。2026 年 8 月時点で配布されている版は Swift 6.3 系である。

設計の特徴

特徴内容
安全性値が無い状態を Optional という別の型として区別する
速度LLVM を介して機械語へコンパイルされる
型推論型注釈を省いても変数や戻り値の型が決まる
メモリ管理参照カウント (ARC) で自動解放し、ガベージコレクタを持たない

Optional は、値が入っているかもしれないし空かもしれない、という状態を型そのもので表す仕組みだ。取り出す前に中身の有無を確かめる手続きが必須になるため、nil のまま使われて落ちる経路がコンパイル時に洗い出される。Objective-C では nil へメッセージを送っても何も起こらずに処理が進み、値が空だったことは後段の不自然な結果として現れるだけだった。この曖昧さを型検査の側へ移したのが Optional のねらいである。ただし ! による強制的な取り出しを多用すると、その検査を自分で無効化して元の状態に戻ってしまう。

Objective-C からの進化

Objective-C は C にメッセージ送信の構文を足した設計で、角括弧を使った呼び出しやヘッダーファイルの管理が学習の壁になっていた。Swift は名前付き引数や型推論を備えた構文を採り、ヘッダーを不要にして安全機構を言語側へ組み込んだ。両者は同一プロジェクト内で相互に呼び出せるため、既存の Objective-C 資産を抱えたアプリは全面書き換えを待たずに移行できる。

オープンソース化以降は Apple 製品以外への広がりもあり、公式のプラットフォーム対応表には配備先として Ubuntu・Debian・Fedora・Amazon Linux・Red Hat Universal Base Image・Windows・Android (API 28 以降) が並ぶ (2026 年 8 月時点)。ただしコンパイラや Swift Package Manager といった開発ツール一式が動くのは macOS・上記の Linux 各種・Windows で、Apple 以外を狙う場合は「動かす先」と「開発する場所」を分けて確認する必要がある。

採用時の注意点

Swift の中心は依然として Apple エコシステムにある。Apple 以外の環境では Xcode に統合された画面設計やプロファイラがそのまま使えるわけではなく、揃える道具立てが変わる。iOS アプリを作るなら有力な選択肢だが、Android も同時に対応したい場合は、Flutter などのクロスプラットフォーム技術と比較検討することになる。

もう一つの注意点は言語モードだ。更新のたびに書き方が変わるわけではないが、Swift 6 で入ったデータ競合を検査する言語モードのように、有効化すると従来は任意だった検査が必須になる変更がある。公式の移行ガイドはこのモードを opt-in と明記しており、設定を変えない限り既存プロジェクトが勝手に切り替わることはない。ターゲット単位で有効化でき、旧モードのターゲットとも相互運用できるため、規模の大きなコードベースは一気に移さず区画ごとに進めるのが前提の設計になっている。

学ぶ順番としては、Optional と型推論を押さえた後に、async/await と actor を使う並行処理へ進むとつまずきが少ない。Swift 6 の言語モードで手が止まるのはほぼこの領域で、後回しにすると有効化した時点の書き換え量が膨らむ。

この記事は役に立ちましたか?

関連用語

関連する記事