Swift: Swift入門:初心者のためのスタートガイド
SwiftはAppleが開発したモダンなプログラミング言語です。CとObjective-Cの長所を組み合わせながら、より安全で高速、そして読みやすくなっています。このレッスンでは、開発環境をゼロからセットアップし、最初のSwiftコードを書く方法を学びます。
1. 学習目標
- Swiftとは何か、その主要な特徴
- Swiftの主なユースケース
- XcodeとPlaygroundsのインストール方法
- 最初のSwiftプログラムの書き方と実行方法
- Swiftコードの基本構造とprint関数
2. 実話:ゼロからのキャリアチェンジ
(1) 課題:アプリを作りたいが、どこから始めればいいかわからない
Aliceは5年の経験を持つ市場アナリストでした。彼女はiOS開発に転身したいと考えていました。3日間ネットで検索した結果、リソースは豊富に見つかりましたが、明確な出発点がありませんでした:
「Objective-Cを学べという人もいれば、Swiftを学べという人もいて、Cから始めろという人もいました。Xcodeをダウンロードしましたが——4.7GB——開いてみてもどこをクリックすればいいのかさっぱりわかりませんでした。インターフェースがあまりにも複雑すぎました。」
Aliceのジレンマは典型��です:情報過多による決断麻痺です。
(2) Playgroundsによる解決策
友人がXcodeプロジェクトを完全にスキップして、代わりにSwift Playgrounds(軽量でインタラクティブなSwiftコーディング環境)から始めることを勧めました。
// Your first line of code in Swift Playgrounds
print("Hello, world!")
Playgroundsはプロジェクトのセットアップも、コード署名も、Storyboardの知識も必要ありません。コードを1行書けば、結果が即座に表示されます。 Aliceは15分以内に最初のプログラムを書き上げました。
(3) 結果:15分でゼロからイチへ
| 観点 | Before | After |
|---|---|---|
| 心理的ハードル | 「プログラミングなんて無理」 | 「コードを書くのは意外と簡単」 |
| セットアップ時間 | 3日間の迷い | Playgroundsのダウンロード10分 |
| 最初のプログラム | 一度も書いたことがない | 15分でHello World |
| 自信レベル | 0/10 | 7/10 |
3. Swiftとは
Swiftは、AppleがWWDC 2014で発表したモダンなプログ��ミング言語で、iOS、macOS、watchOS、tvOSアプリケーションの開発に使用されます。複数の言語から優れた設計概念を取り入れています。
graph LR
A[Swift] --> B[安全]
A --> C[高速]
A --> D[モダン]
A --> E[オープンソース]
B --> B1[オプショナル型がnullクラッシュを防止]
B --> B2[型安全性が型エラーを防止]
C --> C1[LLVMコンパイル最適化]
C --> C2[C/Obj-Cに匹敵するパフォーマンス]
D --> D1[クロージャ/ジェネリック/パターンマッチング]
D --> D2[簡潔な構文、高い可読性]
E --> E1[GitHubでオープンソース]
E --> E2[Linuxでも動作]
(1) Swiftの主要な特徴
| 特徴 | 説明 | Objective-Cとの比較 |
|---|---|---|
| 型安全性 | コンパイル時に型エラーをチェック | Obj-Cはidを任意に渡せる |
| オプショナル型 | ?と!でnull値を明示的に扱う |
Obj-Cのnilは任意のオブジェクトにメッセージ送信可能 |
| 自動メモリ管理 | ARCが参照カウントを自動管理 | Obj-Cは手動でretain/releaseが必要 |
| クロージャ | 関数が第一級オブジェクトで、クロージャ式も利用可能 | Obj-Cのブロック構文は煩雑 |
| ジェネリック | 型パラメータ化による汎用コードの記述 | Obj-Cはジェネリックをサポートしない |
| プロトコル拡張 | プロトコルにデフォルト実装を持たせられる | Obj-Cのプロトコルは宣言のみ |
| オープンソース | クロスプラットフォーム、Linux対応 | Obj-Cはオープンソースではない |
(2) Swiftで何ができるか
| 分野 | フレームワーク/ツール | 説明 |
|---|---|---|
| iOSアプリ | UIKit / SwiftUI | iPhone・iPadアプリケーション開発 |
| macOSアプリ | AppKit / SwiftUI | Macデスクトップアプリケーション開発 |
| watchOS | WatchKit | Apple Watchアプリケーション |
| tvOS | tvOS SDK | Apple TVアプリケーション |
| サーバーサイド | Vapor / Kitura | SwiftでバックエンドAPIを構築 |
| スクリプト | Swift Script | Shell/Pythonの代わりに日常ツールを作成 |
▶ サンプル: PlaygroundsでSwiftを体験
// ============================================
// Experience Swift interactively in Playgrounds
// No Xcode project needed — just open and code
// ============================================
let greeting = "Hello, Swift!"
print(greeting)
// Display calculation results directly
let result = 42 + 10
print("42 + 10 = \(result)")
出力:
TEXT 📖 参照専用Hello, Swift! 42 + 10 = 52
4. 開発環境のセットアップ
(1) 環境の選択
| 選択肢 | 最適な用途 | インストール方法 | サイズ |
|---|---|---|---|
| Xcode | プロ向けiOS/macOS開発 | Mac App Storeからダウンロード | ~7GB |
| Playgrounds | Swift構文学習の初心者 | Mac App Store / iPad App Store | ~150MB |
| Swift on Linux | サーバーサイド開発 / クロスプラットフォーム | apt install swift |
~500MB |
| オンラインPlayground | クイックテスト、インストール不要 | ブラウザベース | 0 |
(2) Playgroundsのインストール(初心者におすすめ)
MacまたはiPadをお持ちの場合、Swift Playgroundsをインストールするのが最も早い始め方です:
- Mac App Store(またはiPad App Store)を開く
- 「Swift Playgrounds」を検索
- 「入手」をクリックしてインストール
インストール後、開いてすぐにコーディングを始められます。Apple Developerアカウント不要、証明書の署名も必要ありません。
(3) Xcodeのインストール(本格開発向け)
XcodeはAppleの公式統合開発環境で、iOS開発ツールチェイン全体を含みます:
# Xcodeのインストール方法は2通り
# 1. Mac App Storeで「Xcode」を検索してダウンロード(推奨)
# 2. Apple Developerサイトから.xipパッケージをダウンロード
▶ サンプル: XcodeでPlaygroundを作成
// ============================================
// Create a Playground file in Xcode
// File → New → Playground → Blank
// ============================================
import UIKit
var number = 42
number += 10
// The Playground sidebar shows variable values in real time
print(number)
出力:
TEXT 📖 参照専用52
5. 最初のSwiftプログラムの構造
すべてのSwiftプログラムはエントリファイルから実行を開始します。Playgroundsでは、コードは上から下へ1行ずつ実行されます。
(1) 基本構造
graph TB
A[Swiftソースファイル .swift] --> B[フレームワークのインポート]
A --> C[変数/定数の宣言]
A --> D[関数の定義]
A --> E[式と文]
B --> F["import Foundation"]
B --> G["import UIKit"]
C --> H["let name = \"Alice\""]
C --> I["var age = 28"]
D --> J["func sayHello() { ... }"]
E --> K["print(\"Hello\")"]
(2) print関数の理解
printはSwiftで最もよく使われる出力関数で、コンソールに内容を表示します。
// ============================================
// Basic usage of the print function
// ============================================
// 1. Output a string
print("Hello, Swift!")
// 2. Output multiple values (auto space-separated)
print("Hello", "Swift", "World")
// 3. String interpolation
let name = "Alice"
print("My name is \(name)")
// 4. Specify separator and terminator
print("One", "Two", "Three", separator: ", ", terminator: ".\n")
出力:
TEXT 📖 参照専用Hello, Swift! Hello Swift World My name is Alice One, Two, Three.
▶ サンプル: 完全なSwiftプログラムの構造
// ============================================
// Complete Swift program: Personal Info Card
// Demonstrates import, constants, variables, print
// ============================================
import Foundation
// Constants (immutable)
let appName = "Swift Starter"
let author = "Alice"
// Variables (mutable)
var year = 2026
var version = 1.0
// Output
print("Welcome to \(appName)")
print("Author: \(author), Year: \(year)")
print("Version: v\(version)")
// Update version number
version = 1.1
year = 2026
print("Updated: v\(version) (\(year))")
出力:
TEXT 📖 参照専用Welcome to Swift Starter Author: Alice, Year: 2026 Version: v1.0 Updated: v1.1 (2026)
6. 完全な例:Playgroundsで簡単な電卓を作る
// ============================================
// Full example: Playground Calculator
// Demonstrates basic arithmetic operations
// ============================================
import Foundation
// 1. Define inputs
let a = 25
let b = 7
// 2. Calculate
let sum = a + b
let difference = a - b
let product = a * b
let quotient = a / b
let remainder = a % b
// 3. Format and output results
print("a = \(a), b = \(b)")
print("=== Results ===")
print("Addition: \(a) + \(b) = \(sum)")
print("Subtraction: \(a) - \(b) = \(difference)")
print("Multiplication: \(a) × \(b) = \(product)")
print("Division: \(a) ÷ \(b) = \(quotient) remainder \(remainder)")
出力:
TEXT 📖 参照専用a = 25, b = 7 === Results === Addition: 25 + 7 = 32 Subtraction: 25 - 7 = 18 Multiplication: 25 × 7 = 175 Division: 25 ÷ 7 = 3 remainder 4
❓ よくある質問
📖 まとめ
- SwiftはAppleが開発したモダンなプログラミング言語で、iOS/macOS/watchOS/tvOSアプリケーションの開発に使用
- 初心者はまずPlaygroundsから始めるべき — インストールが速く、設定不要
- Swiftの3つの主な利点:安全、高速、モダン
- 最初のSwiftプログラムは
print("Hello, World!")から始まる - Playgroundsはリアルタイムのフィードバックを提供 — コードを1行書くたびに結果が即座に表示される
- このチュートリアルではプログラミング経験ゼロを前提とし、28のレッスンを通じて初心者から実用的なCLIツールの構築まで導く
📝 練習問題
-
初級: Swift Playgroundsをインストールし(またはXcodeを開いてPlaygroundを作成し)、
printコマンドを使用して自分の名前と現在の年を出力してください。 -
中級: セクション6の完全な電卓の例を修正し、掛け算の詳細なデモンストレーションを追加してください(少なくとも3組の異なる数字を使用)。また、
separatorパラメータを使用して出力形式を整えてください。 -
上級: セクション6のコードスタイルに従い、摂氏と華氏を変換する「単位変換器」プログラムを作成してください(計算式:
°F = °C × 9/5 + 32)。両方の単位で結果を表示してください。