Swiftをサーバーで書くという選択
「Swift = iOSアプリ開発」というイメージは、2025年の今、完全に過去のものとなりました。 Appleの強力なバックアップとオープンソースコミュニティの尽力により、Server-side Swift は実用的な選択肢として成熟しています。
その中心にあるのが、Webフレームワーク Vapor です。 Express.jsのような手軽さと、Swiftの強力な型安全性・パフォーマンスを兼ね備えています。
なぜサーバーサイドSwiftなのか?
- 言語の統一: iOSエンジニアがバックエンドも書けるようになり、コードの共有(DTOなど)が可能になります。
- 安全性: Swiftの強力な型システムとメモリ管理により、実行時エラーを激減させます。
- パフォーマンス: コンパイル言語であるため、Node.jsやRubyよりも高速に動作し、メモリ消費も少ないです。
最短で課題解決する一冊
この記事の内容と高い親和性が確認できたベストマッチです。早めにチェックしておきましょう。
実践:VaporでAPIサーバーを作る
Linux (Ubuntu) 環境でも動く、シンプルなTODO APIを作ってみましょう。
1. インストール
macOSの場合はHomebrewで一発です。
brew install vapor2. プロジェクト作成
vapor new todo-api -n
cd todo-api3. モデルの作成 (Sources/App/Models/Todo.swift)
Fluent(VaporのORM)を使ってモデルを定義します。
import Fluent
import Vapor
final class Todo: Model, Content {
static let schema = "todos"
@ID(key: .id)
var id: UUID?
@Field(key: "title")
var title: String
init() { }
init(id: UUID? = nil, title: String) {
self.id = id
self.title = title
}
}4. コントローラーの実装 (Sources/App/Controllers/TodoController.swift)
import Fluent
import Vapor
struct TodoController: RouteCollection {
func boot(routes: RoutesBuilder) throws {
let todos = routes.grouped("todos")
todos.get(use: index)
todos.post(use: create)
}
func index(req: Request) async throws -> [Todo] {
try await Todo.query(on: req.db).all()
}
func create(req: Request) async throws -> Todo {
let todo = try req.content.decode(Todo.self)
try await todo.save(on: req.db)
return todo
}
}5. ルーティングの登録 (Sources/App/routes.swift)
import Fluent
import Vapor
func routes(_ app: Application) throws {
try app.register(collection: TodoController())
}6. 実行
vapor runこれで http://localhost:8080/todos にアクセスすれば、APIが動作していることが確認できます。
さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
Linuxへのデプロイ
「SwiftはMacじゃないと動かないのでは?」という誤解がありますが、SwiftはLinuxをファーストクラスでサポートしています。
Dockerを使ったデプロイ
Vaporプロジェクトには標準で Dockerfile が含まれています。
これを使えば、AWS App RunnerやGoogle Cloud Runなどのコンテナ環境に簡単にデプロイできます。
# Dockerfile (自動生成されるもの)
FROM swift:5.9-jammy as build
...
FROM ubuntu:jammy
...
CMD ["./App"]docker build -t todo-api .
docker run -p 8080:8080 todo-api生成されるDockerイメージはUbuntuベースで、必要なライブラリだけを含むため、非常に軽量です。
さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
まとめ
iOSエンジニアにとって、バックエンド開発のハードルを劇的に下げてくれるのがServer-side Swiftです。 使い慣れた言語、強力な型システム、そしてXcodeの補完機能をフルに使って、バックエンドも開発してみませんか?
2025年は、Swiftで「フルスタックエンジニア」を目指す絶好のチャンスです。
さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

