Swift Playgrounds(プレイグラウンドとも呼ばれる)は、Appleが開発したSwiftの開発環境。

Playgroundsの最初のmacOSバージョンは、2014年6月2日のWWDC 2014でXcodeの一部として発表された。2016年9月、Swiftを習い始める若い学生をターゲットにしたSwift PlaygroundsのiPad版がローンチされた。

## 概要

Playgroundsは、コードをリアルタイムでレンダリングするテスト環境を提供する。これには、ユーザーの入力したコードが実行された際にその結果を評価付きで表示し、迅速なフィードバックを提供する機能が含まれる。このタイプの開発環境はREPL (Read–Eval–Print–Loop) と呼ばれることが多く、学習、実験、および高速プロトタイピングに役立つとされる 。Swift Playgroundsでは、AppleによってSwiftのチュートリアルや、REPLの利点を説明するガイド付きツアーが用意されている 。

Swift PlaygroundsのiPad版は、2016年6月13日のWWDC 2016内で、Swiftを学ぶ人のためのiPad専用アプリとして発表された。開発者向けのバージョンが同日にリリースされ、翌月にはパブリックベータも公開された。アプリでは学生向けの教育ツールとして、タッチディスプレイ用に設計されたインタラクティブ環境(対話型環境)を使用したコーディングのコアコンセプトが紹介された。アプリは2016年9月に(一般ユーザー向けに)リリースされた。Appleは、このアプリを中学生以上に推奨するとするSwift Playgroundsカリキュラムを公開している。

macOS用のSwift Playgroundsのスタンドアロン版は、2020年2月11日にMac App Storeでリリースされた。これはXcodeから完全に切り離されているものとなり、iPadOS版をmacOS用に移植したものとなる。

## 特徴

Swift PlaygroundsのiPad版は、開発環境と教育教材を組み合わせたものとなっている。このアプリでは、各教材を受講前にダウンロードし、以降はオフラインで利用できる。但し、ステージをiCloud Driveに保存する場合には、ネットワーク接続が必要となる。

Swift PlaygroundsのiPad版の初期レッスンでは、Byte、Blu、Hopperの3つのキャラクターが紹介されている。それぞれの課題において、プレイヤーは、いくつかのコードを組み合わせてキャラクターを操作し、定められた目標を達成する事を求められる。ステージが進行するにつれて目標はより困難になり、それらを解決するためにより複雑なアルゴリズムが必要となる。Swift Playgroundsではいくつかのステージをクリアすると、新しいコードが利用できるようになる。Swift Playgroundsの上級レッスンでは、Apple Bluetooth APIやApple Augmented Reality開発プラットフォーム(ARKit)のといった複雑な機能が利用できるようになる。

2018年1月、AppleはSwift Playgroundsにサブスクリプションを導入した。これにより、ユーザーはサードパーティの作成したPlaygroundをプレイでき、コンテンツプロバイダーはPlaygroundを販売できるようになった。

## 開発とリリース

Swift PlaygroundsはAppleのDeveloper Tools部門によって開発された。Swift Programming Languageの発明者であり、Developer Tools Departmentのシニアディレクター兼アーキテクトであるChris Lattnerによると、Playgroundsは「ブレット・ビクターのアイディア、ライト・テーブル、その他多くの対話型システムから大きな影響を受けている」(原文意訳)という。Swift Playgroundsは、2014年6月2日のWWDC 2014でXcode 6の一部として発表され、同年9月にリリースされた。

Swift PlaygroundsのiPad版は2016年9月13日にリリースされた。Chris Lattnerは構想、設計、実装、反復など、Swift PlaygroundsのiPad版を牽引した数少ない中核的人物の1人でもあった。Appleはリリースと同時に、iBook Storeで同アプリケーションの操作方法や使用方法をユーザーに教えるガイドブックを公開した。この発表は、公立学校にプログラミング教育の実施を求めるシリコンバレーの大規模なキャンペーンと時を同じくして行われた。Appleは、子供たちがプログラミングを学ぶのを助けるためにコンピュータサイエンスのカリキュラムを提供する、「Everyone Can Code」プログラムを発表した 。Swift Playgroundsはこのプログラムに含まれており、Appleは教師がSwiftを教えるための詳細なガイドを提供している。さらに、AppleはSwiftソフトウェア開発を教えるための一年間のカリキュラム「Swiftを使ったアプリ開発」を公開し、その後、学生のコーディングスキルを検証/認証するSwift認定プログラムを導入した。

2017年1月、AppleはRNIB(王立盲人研究所)と提携し、Swift Playgroundsの点字バージョンを提供した。2018年、Appleは米国のろう学校全体に「Everyone Can Code」プログラムを拡大すると発表した。

2020年2月、macOS Catalina向けにSwift Playgroundsのスタンドアロン版がローンチされた。このバージョンはXcodeから切り離されており、iPadバージョンのSwift Playgroundsの移植となっている。

2021年6月7日、WWDC21基調講演において、iPadOS 15でiPhoneとiPad用のアプリケーションを構築しApp Storeへ、iPad上から直接リリースできるようになることが発表された。2021年12月15日からiPadOS 15.2以降を対象にその機能を搭載したSwift Playgrounds 4が配付されている。

### バージョン履歴

| 日付 | バージョン | 説明文 |
| --- | --- | --- |
| 2016年6月 |  | AppleがiPad用のSwift Playgroundsを発表。同時にApple開発者向けのバージョンのリリース。 |
| 2016年7月 |  | 公開ベータ版のリリース。 |
| 2016年9月 | 1.0 | 最初のバージョンのリリース。 |
| 2016年11月 | 1.1 | Learn to Codeの改良など |
| 2017年3月 | 1.2 | 簡体字中国語、日本語、フランス語、ドイツ語、中南米スペイン語のサポート。 MapKitフレームワークのサポート |
| 2017年6月 | 1.5 | 外部ハードウェアの操作をサポート。 |
| 2017年9月 | 1.6 | ARKit(拡張現実)のサポート。 Swift 4のサポート。 カメラへのアクセスのサポート。 |
| 2018年1月 | 2.0 | サードパーティのPlaygroundサブスクリプションが利用可能に。 |
| 2019年5月 | 3.0 | Swift 5のサポート。 Swiftファイルの共有のサポート。 |
| 2019年10月 | 3.1 | Swift 5.1のサポート。 SwiftUIフレームワークを含む。 |
| 2020年2月11日 | 3.2 | macOS Catalina用の初リリース |
| 2020年4月2日 | 3.3 | iPadOSのカーソルサポート |
| 2020年7月9日 | 3.3.1 | 安定性向上、不具合修正 |
| 2020年11月16日 | 3.4 |  |
| 2021年3月9日 | 3.4.1 | ローカリゼーションとパフォーマンスの改善 |
| 2021年12月15日 | 4.0 | iPadOS 15.2でiPhoneとiPad用のアプリケーションを構築しApp Storeへ、iPad上から直接リリースできるようになる |
| 2022年5月17日 | 4.1 | macOS 12.4以降でSwiftUIでのMacアプリケーション開発、 Swiftパッケージに対応、Xcodeへの移動/戻す |
| 2022年10月26日 | 4.2 | コードエディタの機能強化 |
| 2022年12月5日 | 4.2.1 | エラーメッセージが表示されたままになる問題の修正 |
| 2023年4月3日 | 4.3 | macOS 13.3 SDK, iPadOS 16.4 SDK、ノルウェー語とベトナム語に対応 |
| 2023年5月31日 | 4.3.1 | SwiftUIのプレビューが読み込まれない問題の修正 |
| 2023年10月23日 | 4.4 | Swift 5.9, macOS 14 SDK対応 |
| 2023年12月13日 | 4.4.1 | Swift 5.9.2, macOS 14.2SDK対応 |

## 評価

リリースと同時に、Swift PlaygroundsのiPad版は、約100カ国の無料iPad教育アプリのランキングで第一位になった。同アプリは、ユーザー(App Storeでの評価は5段階のうちおよそ4となっている)や報道機関から概ね好意的な評価を受けた 。また、このアプリはSwiftの学習を若い学生でも行いやすくするのに加え、Swiftに過度に焦点を当てているのではなく、良いコーディング方法を教えることに焦点を当てているとされ、称賛された 。Common Sense Mediaは、Swift Playgroundsのスコアを5段階中の5としている。