Swift Playgroundsについて

Swift Playgroundsとは?

Swift PlaygroundsとはAppleがリリースしている、主に子供向けのプログラミング学習アプリです。2017年5月現在iPad専用で、iPhoneやMac/PCではプレイすることができません。公式ページはこちら。利用は無料です。
2016年秋にリリースされたものの日本語化されていなかった為(日本では)いまいち盛り上がりませんでしたが、ついに2017年3月に日本語に対応し、いよいよ盛り上がりが期待されます。

入門編となる「コードを学ぼう」シリーズではステージ毎に異なるマップの上で、キャラクターを動かし、宝石を取ったりスイッチ操作をしたるするパズルゲーム的な作りになっており、楽しみながらプログラミングに重要な条件分岐や繰り返し、変数、関数といった概念を学んでいくことができます。

こちらからダウンロードできます。
なお2017年5月時点で、iPadがiOS10以降のバージョンである必要があります。残念ながらiOS10にできない第3世代以前のiPadや初代のiPad miniではSwift Playgroundsを利用することができません。

Swiftとは?

Scratch(スクラッチ)やVISCUIT(ビスケット)といったビジュアルプログラミング環境と違い、Swift Playgroundsでは文字通りSwiftというガチのプログラミング言語をベースにしています。SwiftはiOS(iPhoneやiPad)やmacOSのアプリを作るのに使うApple独自のプログラミング言語で、将来これらで動くアプリを作る時に、Playgroundsで学んだ概念や文法がほぼそのまま応用可能です。またAppleはSwift言語をiOSやmacOS以外の分野でも自由に使っていいよと宣言(オープンソース化)しており、今後さらに多くの場所でSwiftを使ってプログラムを制作できるようになると期待されています。

Scratchなどのように最初から子供向けとしてキーボードを使わずマウス中心の操作でプログラミング体験ができるものと違い、SwiftはMacでキーボードを使って作成する前提の本格的なプログラミング言語です。しかしながらSwift PlaygroundsはiPadアプリであるので、基本的な操作はタッチでできるようになっています。ほとんどの入力内容は予測変換候補のように画面下に並ぶ中から選んでタッチすれば済むようになっています。

本サイトの目的

本サイト「Swift Playgroundsの遊び場」は、Swift Playgroundsで最初に利用する基礎コンテンツの「コードを学ぼう1 Swiftの基本」と「コードを学ぼう2 中級編」の各ステージの正解例と解説を掲載していきます。アプリ内でもヒントは出ますし、ステージによっては解答例も表示されはしますが、若干不親切だったりして家族が頭を悩ませていたので、その不足を補うつもりでコンテンツを作成しました。

ある目的を実現するプログラムの書き方はひと通りではありません。従来の学校教育のように全員がただひとつの正解を答えることを目指すものではありません。Swift Playgroundsのステージクリア判定の詳細は不明ですが、ここに掲載された解答例以外の方法でもクリアすることは可能です。掲載されているコードが唯一の正解だとは考えないでください。もっと良い解き方もきっとまだまだあるはずです。

現在Swift PlaygroundsにはScratchのように他のユーザとコードを見せ合うコミュニティ機能はありません。ある子供が本アプリに関心をもってプレイした時に、ひとりでやりこんでもアプリのクリア判定だけが評価基準になってしまい、もっと別のやり方もあるんだ、という気づきが生まれにくいという難点があります。身近な家族や友達にわかる人がいてあーでもないこーでもないと言い合いながら進めて行けるのが理想ですが、不幸にもそうした人が身近にいない場合に、せめて「他の人が解いたらこうなる」「こういう解き方もアリだよ」という比較例として使ってもらえればという想いもあります。

前述のようにSwift Playgroundsは日本語化されて間もないため、まだ解説本の類は出ていません(2017年5月現在)。書店に並んでいるのはより本格的なSwift言語の解説本だけでPlaygroundsの学習者にはいささかオーバースペックです。いずれは状況も変わってくると思いますが、とりあえずそれまでのしのぎとして当サイトがお役に立てば幸いです。

関連リンク

Amazonアソシエイトについて

当サイトは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。