プログラミング言語

Swift

Apple(Chris Lattner) / 2014年登場

Apple が Objective-C の後継として作ったモダン言語。安全・高速で書きやすく、iOS/macOS アプリ開発の標準。サーバサイドでも使える。

3つの要点
TL;DR
  1. Apple 製のモダンで安全・高速な言語。
  2. Objective-C を置き換える Apple 開発の標準。
  3. iOS/Mac アプリを作るならまず Swift。

基本情報

仕様と特徴

Swift のロゴ
製品・技術の概要SwiftApple が Objective-C の後継として作ったモダン言語。安全・高速で書きやすく、iOS/macOS アプリ開発の標準。サーバサイドでも使える。
型付け
静的強い型付けOptional)
実行方式
コンパイルネイティブLLVM)
パラダイム
マルチパラダイムOOP + 関数 + プロトコル指向)
登場
2014年Apple(Chris Lattner)
この言語の強み
安全Optional)で高速書きやすいApple プラットフォーム開発の標準
活躍する領域
iOS / macOS アプリApple 全般(watchOS / visionOS) / サーバサイド(Vapor)

選定ガイド

選定ポイント

採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。

採用に向く条件

選ぶ理由

  1. 安全(Optional)で高速・書きやすい
  2. Apple プラットフォーム開発の標準
  3. モダンな言語機能が豊富

事前に確認する条件

考慮すべき点

  1. 実質 Apple エコシステム中心
  2. 進化が速く互換性の変化があった
  3. 他プラットフォームの事例は少なめ

向いている用途

こんな用途に向く

iOS / macOS アプリApple 全般(watchOS / visionOS)サーバサイド(Vapor)

詳しい解説

もっと詳しく

どんな言語か

Swift は、Apple が長年使ってきた Objective-C の後継として作り、2014 年に公開したモダンな言語です。設計を主導したのは Chris Lattner(LLVM の作者)。安全性・速度・書きやすさを同時に狙い、簡潔な構文でアプリ開発の生産性を高めることを目指しています。

横にスクロール

Swift ソースを構文解析と型検査、SIL、LLVM、リンクでアプリへ変換する経路と、ARC・所有権・コピーオンライト、async await・actor、C・Objective-C 境界、パッケージ・署名の責任分担
Swift は型検査後に SIL で ARC や呼び出しを最適化し、LLVM とリンクを経てネイティブ成果物になります。実行時は参照の所有権、actor の隔離、相互運用境界を分け、ビルドと配布では依存解決から署名条件まで揃えます。

安全性を支える Optional

Swift の核心のひとつが Optional です。「値が無いかもしれない」状態を型で明示し、nil をうっかり扱ってしまう事故をコンパイル時に防ぎます。

var name: String? = findUser()
if let name = name {
    print("Hello, \(name)")  // 中身がある時だけ実行
}

この仕組みにより、実行時クラッシュの典型的な原因が設計段階で抑えられます。

仕組み・特徴

  • 値型中心+ARC: structenum などの値型を重視し(コピーで安全)、クラスの参照は ARC(自動参照カウント)で管理する。GC を持たず、解放タイミングが予測しやすい。
  • プロトコル指向: 継承よりプロトコル(インターフェース)と拡張で機能を組み合わせる設計思想。
  • 強力な型と列挙: 関連値付き enum、パターンマッチ、ジェネリクスで安全かつ簡潔に書ける。
  • SwiftUI: 宣言的に UI を記述する純正フレームワークと一体で進化している。コンパイラ基盤は LLVM で、ネイティブに近い性能。

得意・不得意

  • 得意: iOS・macOS をはじめとする Apple プラットフォーム向けアプリ開発。今や標準言語で、純正フレームワークとの相性が抜群。
  • 限界: 実質的に Apple エコシステムが中心。サーバーサイド(Vapor 等)や他プラットフォームでも動くが、事例や情報は比較的少なめ。

他言語との違い

観点SwiftKotlinObjective-C
主戦場Apple(iOS/macOS)Android/JVM旧 Apple 開発
メモリARC(値型中心)GC(JVM)ARC/手動
null 安全Optional で型保証nullable 型弱い
位置づけ現行の標準Android の標準後継に置換中

つまずきやすいところ

強制アンラップに注意

Optional の扱いは安全な反面、?!、アンラップの書き分けに慣れるまで戸惑いがちです。安易に ! で強制アンラップすると nil でクラッシュするため、if letguard let??(デフォルト値)で安全に開くのが基本です。

総じて Swift は、Optional と値型・ARC による安全性と、SwiftUI と一体化した生産性を備えた、Apple プラットフォーム開発の標準言語です。

言語選定

Swiftを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

iOS / macOS アプリ

比較で見る軸

型付け: 静的・強い型付け(Optional) / 実行方式: コンパイル(ネイティブ・LLVM) / パラダイム: マルチパラダイム(OOP + 関数 + プロトコル指向)

導入後に効く点

Apple プラットフォーム開発の標準

先に潰すリスク

実質 Apple エコシステム中心

数字・仕様の読み方
型付け
静的・強い型付け(Optional)
実行方式
コンパイル(ネイティブ・LLVM)
パラダイム
マルチパラダイム(OOP + 関数 + プロトコル指向)
登場
2014年
Apple(Chris Lattner)

判断チェックリスト

  • 自社の用途が「iOS / macOS アプリ / Apple 全般(watchOS / visionOS)」に近いか確認する。
  • 強みである「安全(Optional)で高速・書きやすい」が本当に評価軸になるか確認する。
  • 注意点の「実質 Apple エコシステム中心」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

iOS / macOS アプリApple 全般(watchOS / visionOS)サーバサイド(Vapor)

最初の一歩

Hello, World!

print("Hello, World!")
公式ドキュメント