よりひろい フロントエンド
Author : Kazuhiro Hara
Author : Kazuhiro Hara
Fri Oct 18 2024

Vapor の MacBook Air M3 へのインストール、Xcode 雑感

Vapor は ThinkPad に入れて遊んでいたが、MacBook Air を購入したのでこちらにも入れてみた。

ThinkPad というか Windows で Vapor を入れるのは事前に Swift 周りの環境を整えてあればそれほど難しくない。WSL は必須だと思う。

他の Web アプリケーションフレームワークではインストールがうまくいかなかったり、動作がうまくいかなかったものもあって、そういう観点からも Vapor は大変すばらしかったのである。MacBook Air へのインストールは Windows 機のインストールの 10 倍くらい簡単だった。まったく手間がないといっていいと思う。

Vapor のインストール

公式のドキュメントのとおりに進めばもう完了という感じだが、一応あとあとのためにログを残しておく。

まずは Swift のバージョンチェック。Xcode を入れてあるので、もちろん最新版が入っている。

$ swift --version

swift-driver version: 1.115 Apple Swift version 6.0 (swiftlang-6.0.0.9.10 clang-1600.0.26.2)
Target: arm64-apple-macosx14.0

続いて Vapor のインストール。brew で行った。

$ brew install vapor

...

==> Downloading https://ghcr.io/v2/homebrew/core/vapor/manifests/18.7.5
##################################################################################################################################################### 100.0%
==> Fetching vapor
==> Downloading https://ghcr.io/v2/homebrew/core/vapor/blobs/sha256:5d0e1fa0fe4b21022520634975d94938e6cbb98938d3a0491b28303455c26119
##################################################################################################################################################### 100.0%
==> Pouring vapor--18.7.5.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/vapor/18.7.5: 6 files, 7.3MB
==> Running `brew cleanup vapor`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

インストールはこれだけ。ちょっと、インストール後の確認。これで vapor コマンドが使えるようになる。CLIがあるのは便利。

$ vapor --help

Usage: vapor <command>

Vapor Toolbox (Server-side Swift web framework)

Commands:
       build Builds an app in the console.
       clean Cleans temporary files.
      heroku Commands for working with Heroku.
         new Generates a new app.
         run Runs an app from the console.
             Equivalent to `swift run App`.
             The --enable-test-discovery flag is automatically set if needed.
  supervisor Commands for working with supervisord.
       xcode Opens an app in Xcode.

Use `vapor <command> [--help,-h]` for more information on a command.

プロジェクトを作成してみる。作成には vapor new コマンドをつかう。-n は質問について自動で no を回答するオプション。

$ vapor new hello -n

Cloning template...
name: hello
Would you like to use Fluent (ORM)? (--fluent/--no-fluent)
y/n> no
fluent: No
Would you like to use Leaf (templating)? (--leaf/--no-leaf)
y/n> no
leaf: No
Generating project files
+ Package.swift
+ entrypoint.swift
+ configure.swift
+ routes.swift
+ .gitkeep
+ AppTests.swift
+ .gitkeep
+ Dockerfile
+ docker-compose.yml
+ .gitignore
+ .dockerignore
Creating git repository
Adding first commit

プロジェクトの編集

作成したプロジェクトにある Package.swift を Xcode で開くと必要な依存関係が読み込まれ、実行準備が整う。実は最初は慣れた VSCode で編集をしようと思ったが、Mac な環境だと逆に VSCode のほうが Swift の編集環境を作るのが面倒なことに気づいた。

ということで、Vapor を使った開発は Xcode 上で行うことが決定。

Xcode で開発を始めて気づいたのだが、ローカルで実行をする際に Xcode 上にある三角の形状の実行ボタンを押すことでアプリケーションを起動できるのは大変良い。VisionOS 向け開発でも同様に実行ボタンでアプリを実行できるが、それと同じ感覚でサーバーサイド Swift を実行できるのは操作感がシームレスでストレスがない。

また、新規プロジェクトを作成した際に生成される Dockerfiledocker-compose.yml を使うとすぐにローカル上に Docker コンテナを起動することができる。これまた便利なのでおすすめしたい。

ちょっとした告知

10月23日水曜日に Apple Japan にて visionOS勉強会 の7回目が開催される。そこで LT をしてくる予定なので、ご都合があえばぜひ。

VaporVision ProDockerSwiftMac

Share

About site

カンソクインダストリーズのロゴ

「よりひろいフロントエンド」運営元 カンソクインダストリーズ では、フロントエンドを中心によろずご相談お受けいたします。お気軽にお問い合わせください。