Appleの新しいiPad向けSwift Playgroundsは、コードを教えるためのキラーアプリです

Appleの新しいiPad向けSwift Playgroundsは、コードを教えるためのキラーアプリです

AppleはWWDCで、Swift Playgroundsを「Swiftをインタラクティブかつ楽しく学べるiPad向けの革新的な新アプリ」として発表しました。詳しく調べてみると、この新アプリはあらゆる開発者が極めて重要なソフトウェアコーディングスキルを教えるために使える強力なオーサリングツールであることがわかります。

WWDC 2016 で iPad 向け Swift Playgrounds が発表されました

AppleのSwiftへの注力

Apple は、LLVM コンパイラから Cocoa や Foundation フレームワークに至るまで、同社の開発ツールに投資してきた基礎を基に、新しい Swift プログラミング言語を初めて 2014 年の WWDC で発表しました。


Xcode の Swift Playgrounds

AppleはSwift 1.0と同時に、XcodeにPlaygrounds(上記)を導入しました。これは、Swiftコードの実行中に即座に視覚的なフィードバックを提供するツールです。それ以来、Appleは開発者やIBMをはじめとするパートナーからのフィードバックに基づき、Swift開発の進化に取り組んできました。

今年、AppleはiPad向けにカスタマイズされたSwift Playgroundsの新バージョン(下記)を発表しました。タッチ操作でコードを選択・編集できる高度なマルチタッチジェスチャーに加え、コード補完機能を備えた開発向けの新しいキーボードもサポートしています。

同社は、この新しいアプリを「誰でも楽しく簡単にコーディングを学べるiPad用の革新的な新アプリ」と紹介し、新規ユーザーにコーディングの世界を紹介するために設計されたアプリ内のプログラミングレッスンシリーズを簡単に紹介した。

Swiftを教えるためのプラットフォーム

Apple は、iOS 10 の一部として今秋に無料で一般公開される予定の iPad 向けの新しい Swift Playgrounds アプリを、子供たちにコード開発の概念を紹介する楽しい方法として紹介しました (以下のプレビュー ビデオ クリップをご覧ください)。

AppleはSwift Playgroundsのページで次のように述べています。「Swift Playgroundsでは、『プレイグラウンド』と呼ばれる小さなプログラムを作成し、記述したコードの結果が即座に表示されます。たった1行のコードで、驚くべきことを実現できます。インタラクティブなレッスンでコーディングの基本的な概念を学び、追加のチャレンジやテンプレートによって、エキサイティングな新しい方法でコードを探求し、全く新しいものを作ることができます。作成した作品を友人と共有したり、プレイグラウンドの動作動画を録画して投稿したりすることも簡単です。」

Swift Playgrounds は、基本的なコーディング概念のチュートリアルであるだけでなく、インタラクティブな Playgrounds ブックの形式でサードパーティが独自の Swift レッスンを作成するための扉を開きます。

Playgrounds Booksは、Swiftコードで記述されたページの集合体で、章ごとに整理されており、iBook Authorに似たインタラクティブなレッスンを提供します。しかし、単にインタラクティブな要素を備えた動的なiBooksではなく、Playgrounds Booksにはユーザーが操作し、Playgrounds内ですぐに結果を確認できるライブコードが含まれています。

初心者にとって、Playgrounds Book は、ユーザーが変更できる選択可能な変数を含むコード行を導入するページから始まるかもしれません。これを実現するために、Book 開発者は、Book を構成するコード内のマークアップを使用して、関連するコードの多くを(非表示コードとして)バックグラウンドで非表示にし、編集可能な領域のみを強調表示することができます。

レッスンのトピックを紹介する導入の「カット スクリーン」ページから始まる説明テキストとグラフィックを使用して、特定のレッスンを通じてユーザーをガイドできます。

ダイナミックなワークブック

ブックが進むにつれて、説明的なプレイグラウンド マークアップによって、画面上のキーボード、コードの候補、またはスニペットのライブラリ内のコード セグメントを使用してユーザーが独自のコードをさらに入力する必要のある、ますます複雑な機能とコード概念が段階的に導入されることがあります。

Playgrounds Book 開発者は、含まれているフレーズの意味を説明するインタラクティブな用語集項目を含めたり、レッスンを通じてユーザーを導くヒントを提示したりすることもできます。

ユーザーがPlaygrounds Bookページのコードを操作すると、ライブプレビューで即座にフィードバックが得られます。また、ユーザーはステップを元に戻してセクションを繰り返したり、異なる入力を試したりすることもできます。

さらに、ユーザーはいつでもレッスンを中断し、進捗状況や編集内容を消去して、最初からレッスンをやり直すことができます。Playgrounds Booksは、各生徒の作業内容がBookのコアコンテンツから切り離されているため、クラス全体でプログラミングを教えるのに最適な方法です。

Apple は、WWDC 2016 のビデオ「Introducing Swift Playgrounds」で、iPad 向けの新しい Swift Playgrounds アプリの動作の概要をデモンストレーションとともに説明しました。

子供だけじゃない

Apple はプログラミングを全く知らないユーザーを対象にした初期のレッスンブックをいくつか作成し (そしてアプリ用の新しいブックの本格的なライブラリを段階的に導入する計画を発表した)、Swift Playgrounds は新しいユーザーにコードの書き方を教えるだけのものではありません。

Apple は自社の Web サイトで、「Swift Playgrounds を使用すると、数分以内に実際のプログラムをコーディングできるようになります。さらに熟練度が上がっても、Swift に飽きることはありません」と述べています。

学習の最良の方法は、時に自ら探求することであり、Swift Playgroundsは想像力を自由に解き放つための素晴らしい場所です。Swift Playgroundsでは、コーディングを学ぶのに役立つレッスンに加えて、定期的に新しいチャレンジも提供されるので、いつでも戻って新しいことに挑戦できます。チャレンジの中には、コードを操作して面白いエフェクトを作り出す楽しい方法もあれば、コーディングスキルのすべてを駆使して解く、夢中になれるパズルもあります。

Apple はまた、2D および 3D グラフィックスを操作する SpriteKit および SceneKit、ワイヤレスで他のデバイスとプログラム的に対話する Bluetooth (新しい Playgrounds アプリのコード行で操作される Spherio ロボット玩具を含む) など、さまざまな iOS フレームワークで動作する Playgrounds のデモも行いました。

Appleはまた、「iPad上でプレイグラウンドをコーディングして実行することで、コードはタッチジェスチャに反応したり、カメラ、加速度計、ジャイロスコープなどのハードウェアとやりとりしたりすることができる」と述べ、「iOS SDKの何千ものAPIにアクセスすることで、Webを探索したり、3Dワールドを生成したり、物理学を試したりするなど、素晴らしいプレイグラウンドを作成できる」と付け加えた。

Appleのビジュアル開発の歴史

Swift Playgrounds で使用されているアプローチには多くの新しいイノベーションとテクノロジーが組み込まれていますが、同社が開発コンセプトへの関心をより幅広いユーザーに広めるためのビジュアルツールを作成するのはこれが初めてではありません。


出典: Quartz Composer

2005年、AppleはMac OS X 10.4 TigerのXcodeにQuartz Composer(上記)を導入しました。Quartz Composerは、入力とプロセッサユニットをパッチングしてマクロを作成するためのグラフィカルインターフェースを提供し、高度なコーディング経験がなくても、動的なスクリーンセーバー、iTunesビジュアライザ、その他のプログラムによるグラフィックアニメーションとして出力できるようになりました。

Facebookは、2013年にAndroidスマートフォンのホーム画面にFacebookを統合するという失敗に終わったプロジェクト「Home」のデザインインターフェースのプロトタイプをQuartz Composerを用いて迅速に作成しました。同社は、インタラクティブでダイナミックな電子書籍を作成するツールを開発するために2009年に設立されたPush Pop Pressというプロジェクトを買収し、元Appleのユーザーインターフェース開発者であるマイク・マタス氏をHomeの開発に起用しました。

2010 年に、Apple は Adob​​e Flash の代替として JavaScript と HTML5 を使用してダイナミック広告を作成するためのグラフィカル開発ツールである iAd Producer (下記) を導入しました。


iAdプロデューサー

Appleはその後、2012年にiPad向けiBooks(後にiBookアプリのリリースに伴いMac向けも)を開発するための手段としてiBooks Authorで電子書籍を作成するための開発ツールをリリースしました。このツールにより、開発者はネイティブコードウィジェットを作成し、iBooksに組み込めるインタラクティブ機能を拡張できるようになりました。

Appleのビジュアル開発における古い歴史

さらに遡って、Apple は 1987 年に HyperCard (下記) をリリースしました。このプログラムはプログラマーの Bill Atkinson によって 2 年かけて開発され、その後、すべての新しい Mac に無料でバンドルするという条件で Apple に権利を譲渡しました。


ハイパーカード

HyperCardは、技術に詳しくないユーザーでも、HyperTalkと呼ばれる分かりやすいスクリプト言語を使って、ハイパーリンクされたページのインタラクティブな「スタック」を構築できるようにしました。HyperCardは、スティーブ・ジョブズ率いるNeXT社にインスピレーションを与え、NeXT社は1988年に迅速なアプリケーション開発ツールとしてInterface Builderを導入しました(現在ではAppleの最新の開発ツールXcodeの一部となっています)。

HyperCardは、ティム・バーナーズ=リーによるWeb開発にも影響を与えました。このプロジェクトは、NeXTシステム上でInterface Builder開発ツールを用いて開始されました。また、カリフォルニア大学バークレー校のペイ・ユアン・ウェイによってX Window for Unixに移植され、Violaが完成しました。Violaはその後、Webプロトコルを採用して初期のWebブラウザとなり、Netscapeの基盤となるNCSA Mosaicのモデルとなりました。

HyperCardと同様に、今日のPlaygroundsは、幅広い新規ユーザーに、現代的なソフトウェア開発に必要なスキルを紹介することを目的としています。WWDCにおいて、Appleはコーディングを学び、そのスキルを活かして多様なニーズを解決するツールを開発してきた幅広いプログラマーを紹介しました。