Repolode
swiftlang

swiftlang/swift

Swiftプログラミング言語とコンパイラツールチェーン。メモリ安全性と高いパフォーマンスを備え、CやObjective-Cをシームレスに利用できます。

スター
70,545
フォーク
10,898
未解決の Issue
9,514
最終コミット
12 時間前

これは何?

Swiftは、モダンな構文を備え、デフォルトでメモリ安全性が確保されたシステム指向のプログラミング言語です。既存のCやObjective-Cのコード、フレームワークに直接アクセスできるため、すでに広く使われているプラットフォームライブラリとの連携に適しています。

フロー制御、データ構造、関数に加えて、オブジェクト、プロトコル、クロージャ、ジェネリクスなどの高水準な構成要素も備えています。ヘッダーファイルの代わりにモジュールを使うため、ヘッダーと実装の間で宣言を重複させる必要がありません。

このリポジトリには、コンパイラとツールチェーンのソースコードが含まれています。READMEでは、build-toolchainスクリプトを使ったツールチェーンのビルド方法、macOS上のXcodeへのカスタムツールチェーンのインストール方法、Xcodeのバージョンに関連するビルド失敗への対処方法を説明しています。

主な機能

  • 01デフォルトでメモリ安全
  • 02CやObjective-Cのコード、フレームワークとの直接的な相互運用性
  • 03プロトコル、クロージャ、ジェネリクスを備えたモダンな構文
  • 04ヘッダーファイルを不要にするモジュールシステム
  • 05ローカルのツールチェーンスナップショットを作成するbuild-toolchainスクリプト

ユースケース

  • 既存のObjective-CやCのライブラリを活用したAppleプラットフォーム向けアプリの開発
  • Swiftコンパイラへの修正や機能のコントリビュート
  • 開発や配布に使うカスタムSwiftツールチェーンのビルド
  • モダンな言語の本番用コンパイラの構造を学ぶ

クイックスタート

  1. 1

    ビルドの前提条件については「Getting Started」ガイドを確認してください

  2. 2

    build-toolchain スクリプトを使って Swift ツールチェーンをビルドしてください

    ./swift/utils/build-toolchain $BUNDLE_PREFIX

使う前に知っておきたいこと

  • ソースからのビルドは大規模な C++ プロジェクトであり、macOS では特定のバージョンの Xcode が必要です。
  • ツールチェーンのビルドは負荷が高く、時間がかかるうえ、多くのディスク容量と計算リソースを必要とします。

収録されている特集

トピック

よくある質問

swift とは?
Swiftプログラミング言語とコンパイラツールチェーン。メモリ安全性と高いパフォーマンスを備え、CやObjective-Cをシームレスに利用できます。 Swiftは、モダンな構文を備え、デフォルトでメモリ安全性が確保されたシステム指向のプログラミング言語です。既存のCやObjective-Cのコード、フレームワークに直接アクセスできるため、すでに広く使われているプラットフォームライブラリとの連携に適しています。
swift は無料で使えますか?ライセンスは?
swift は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
swift は今もメンテナンスされていますか?
活発にメンテナンス中。swift の最終コミットは 2026年11月7日 です。
swift は何に使えますか?
既存のObjective-CやCのライブラリを活用したAppleプラットフォーム向けアプリの開発 Swiftコンパイラへの修正や機能のコントリビュート 開発や配布に使うカスタムSwiftツールチェーンのビルド モダンな言語の本番用コンパイラの構造を学ぶ
swift のインストール方法は?
ビルドの前提条件については「Getting Started」ガイドを確認してください build-toolchain スクリプトを使って Swift ツールチェーンをビルドしてください: ./swift/utils/build-toolchain $BUNDLE_PREFIX
swift はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/swiftlang/swift

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト