wendy-swift について
WendyOSのLinuxエッジ開発向けSwiftパッケージガイドです。分野別の候補をまとめ、Linux互換性の確認項目とパッケージの探し方を紹介します。
主な機能
- 01分野別のSwiftパッケージ一覧
- 02ネットワーク、データベース、AIの選択肢
- 03ハードウェアとオブザーバビリティのパッケージ
- 04Linux互換性チェックリスト
- 05Swift Package Indexでの検索案内
活用シーン
- 01WendyOSプロジェクト向けにLinux対応パッケージを選定
- 02依存関係のDarwinやXcode要件を確認
- 03ネットワークやデータベース用のSwiftパッケージを検索
- 04パッケージのSwiftバージョンとプラットフォーム対応を評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ wendylabsinc/ claude-skills --skill wendy-swiftインストール後、Claude Code で/wendy-swiftを入力して読み込まれたか確認します。
詳細
WendyOS 向け Swift パッケージエコシステム
このスキルでは、WendyOS(Linux)でのエッジ開発に向けた Swift パッケージエコシステムを紹介します。ドメイン別に厳選したおすすめパッケージと、Swift Package Index を利用して追加のパッケージを見つける方法を説明します。
厳選パッケージ一覧
Web / HTTP サーバー
| パッケージ | 用途 | URL | Linux |
|---|---|---|---|
| Hummingbird 2 | 軽量 HTTP サーバー、ルーティング、ミドルウェア | https://github.com/hummingbird-project/hummingbird | 完全対応 |
| Vapor | ORM、認証、セッション機能を備えた多機能 Web フレームワーク | https://github.com/vapor/vapor | 完全対応 |
ネットワーキング / SwiftNIO
| パッケージ | 用途 | URL | Linux |
|---|---|---|---|
| SwiftNIO | イベント駆動型ネットワーキングフレームワーク、TCP / UDP | https://github.com/apple/swift-nio | 完全対応 |
| AsyncHTTPClient | HTTP/1.1 および HTTP/2 クライアント | https://github.com/swift-server/async-http-client | 完全対応 |
| gRPC Swift 2 | SwiftNIO と Swift Concurrency を基盤とする gRPC クライアントおよびサーバー | https://github.com/grpc/grpc-swift-2 | 完全対応 |
| Swift OpenAPI Generator | OpenAPI 仕様からクライアント/サーバーのコードを生成 | https://github.com/apple/swift-openapi-generator | 完全対応 |
データベース
| パッケージ | 用途 | URL | Linux |
|---|---|---|---|
| PostgresNIO | SwiftNIO を基盤とするノンブロッキング PostgreSQL クライアント | https://github.com/vapor/postgres-nio | 完全対応 |
| GRDB.swift | クエリビルダー、マイグレーション、WAL を備えた SQLite ツールキット | https://github.com/groue/GRDB.swift | 完全対応 |
| Valkey Swift | クラスター対応の Valkey/Redis クライアント、パブリッシュ/サブスクライブ | https://github.com/valkey-io/valkey-swift | 完全対応 |
ML / AI 推論
| パッケージ | 用途 | URL | Linux |
|---|---|---|---|
| llama.cpp | Swift バインディングによる LLM 推論 | https://github.com/ggerganov/llama.cpp | 完全対応(Swift バインディングを備えた C ライブラリ) |
| whisper.cpp | 音声テキスト変換の推論 | https://github.com/ggerganov/whisper.cpp | 完全対応(Swift バインディングを備えた C ライブラリ) |
| MLX Swift | Apple Silicon 向け ML フレームワーク | https://github.com/ml-explore/mlx-swift | macOS / Apple Silicon のみ — Linux では利用できません |
llama.cpp と whisper.cpp では、Swift の C 相互運用機能を介して C API を直接使用するか、コミュニティ製の Swift ラッパーパッケージを使用してください。これらのライブラリは ARM64 / AMD64 Linux 上でネイティブにコンパイルできます。
ハードウェア / IoT
| パッケージ | 用途 | URL | Linux |
|---|---|---|---|
| SwiftyGPIO | Linux SBC 上の GPIO、SPI、I2C、PWM、UART | https://github.com/uraimo/SwiftyGPIO | 完全対応(Linux のみ) |
カメラ/ビデオへのアクセス方法: Linux でカメラ映像を取得するには、Swift の C 相互運用機能を介して Video4Linux2(V4L2)を使用します。NVIDIA Jetson では、ハードウェアアクセラレーションによるビデオ処理に Process または C バインディングを介した GStreamer パイプラインを使用します。
シリアル通信: Linux でシリアルポートにアクセスするには、Swift の C 相互運用機能を介して termios を使用します。SwiftyGPIO は一般的な SBC 向けの UART サポートも提供しています。
オブザーバビリティ
| パッケージ | 用途 | URL | Linux |
|---|---|---|---|
| swift-log | 構造化ロギング API | https://github.com/apple/swift-log | 完全対応 |
| swift-metrics | メトリクス API(カウンター、ゲージ、タイマー) | https://github.com/apple/swift-metrics | 完全対応 |
| swift-otel | swift-log、swift-metrics、分散トレーシング向け OpenTelemetry バックエンド | https://github.com/swift-otel/swift-otel | 完全対応 |
| swift-distributed-tracing | 分散トレーシング API | https://github.com/apple/swift-distributed-tracing | 完全対応 |
シリアライズ/Codable
| パッケージ | 用途 | URL | Linux |
|---|---|---|---|
| swift-protobuf | Codable をサポートする Protocol Buffers | https://github.com/apple/swift-protobuf | 完全にサポート |
| msgpack-swift | Codable に準拠した MessagePack エンコーダー/デコーダー | https://github.com/fumoboy007/msgpack-swift | 完全にサポート |
| Yams | YAML パーサーおよびエミッター | https://github.com/jpsim/Yams | 完全にサポート |
並行処理/ユーティリティ
| パッケージ | 用途 | URL | Linux |
|---|---|---|---|
| swift-collections | Deque、OrderedSet、OrderedDictionary など | https://github.com/apple/swift-collections | 完全にサポート |
| swift-algorithms | シーケンス/コレクションのアルゴリズム(chunked、combinations など) | https://github.com/apple/swift-algorithms | 完全にサポート |
| swift-async-algorithms | 非同期シーケンスのアルゴリズム(merge、combineLatest、debounce など) | https://github.com/apple/swift-async-algorithms | 完全にサポート |
| swift-argument-parser | 型安全なコマンドライン引数の解析 | https://github.com/apple/swift-argument-parser | 完全にサポート |
Linux 互換性チェックリスト
WendyOS プロジェクトに Swift パッケージを追加する前に、次の点を確認してください。
- Darwin 専用のインポートがないこと —
import Darwin、import AppKit、import UIKit、import CoreFoundationがないか確認します(Linux で使える Foundation API もありますが、すべてではありません)。 - Foundation との互換性 — Linux で未実装の API は避けます。
FileManagerは使えますが、NSAppleScript、NSUserDefaults、Process(一部のみ利用可能)などは使えない場合があります。 - Xcode のビルドシステムへの依存がないこと — パッケージは
swift build(SPM)でビルドできる必要があります。Xcode 固有の設定が必要なものは避けます。 - ARM64/AMD64 の CI/テスト — パッケージに Linux CI(
ubuntuランナーを使う GitHub Actions または Swift Docker イメージ)があるか確認します。 - C 依存関係 — パッケージが C ライブラリをラップしている場合、そのライブラリが ARM64/AMD64 の Linux で利用可能か確認します(例:apt 経由)。
- Swift のバージョン — WendyOS は比較的新しい Swift ツールチェーンを使用しています。パッケージが Swift 5.9 以降をサポートしていることを確認します。
Swift Package Index でパッケージを探す
Swift Package Index は、コミュニティによるパッケージ検索エンジンです。
検索方法
- https://swiftpackageindex.com にアクセスし、検索語を入力します。
- Platform フィルターで Linux を選択し、Linux 互換のパッケージを探します。
- 各パッケージのページにある Compatibility Matrix を確認します。テスト済みの Swift バージョンとプラットフォームが表示されます。
パッケージの品質を評価する
- 最終更新日 — 直近 6 か月以内に更新されたパッケージを優先します。
- Swift バージョンとの互換性 — Swift 5.9 以降をサポートしている必要があります。
- プラットフォームのバッジ — パッケージのページで Linux バッジを探します。
- ライセンス — 商用利用には Apache 2.0 または MIT を優先します。
- SSWG のステータス — Swift Server Work Group がインキュベートしたパッケージは、本番環境での使用に向けて審査されています。
検索 URL の形式
直接検索:https://swiftpackageindex.com/search?query=YOUR_TERM
ベストプラクティス
- まず厳選リストを使用する — 上記のパッケージは、Linux と WendyOS との互換性が確認されています
- SSWG パッケージを優先する — Swift Server Work Group のパッケージ(SwiftNIO、swift-log、async-http-client、Hummingbird、PostgresNIO)は、Linux の強力なサポート保証を備えています
- アーキテクチャ固有のコードに注意する — Swift パッケージはソースからコンパイルされるため、パッケージに x86 固有のアセンブリ、SIMD 組み込み関数、またはアーキテクチャで条件分岐する
#ifブロックが含まれていない限り、ARM64/AMD64 で自動的に動作します - Darwin 専用の依存関係を避ける — 間接的な依存関係であっても Linux のビルドが失敗する原因になります。
swift package show-dependenciesを使用して依存関係ツリーを監査してください - 安定版に固定する — Package.swift では、ブランチベースの依存関係ではなく
.upToNextMajor(from:)または.upToNextMinor(from:)を使用してください - Swift Package Index を活用する — 厳選リストで必要なパッケージが見つからない場合は、Linux プラットフォームフィルターを適用して swiftpackageindex.com を検索してください
- 早い段階で Linux でテストする — Foundation API の不足や Darwin 専用の依存関係が問題を引き起こす前に発見できるよう、早い段階で WendyOS デバイスまたは Linux VM でビルドして実行してください