Swift Playgroundsで学ぶiOSプログラミング 第10回
タッチ操作でプログラミング言語「Swift」を学べる注目アプリ
iPad版Swift Playgroundsはダウンロードしないと損
2016年10月17日 17時00分更新
最後は白紙から完全オリジナルに挑戦
Swift Playgroundsでは、既存のブックを開いて学習するだけでなく、自分で白紙のPlaygroundにプログラムを打ち込んで学習していくことも可能です。そのためには、My Playgroundsの画面にある白紙に大きな「+」が描かれたサムネールをタップします。すると「Choose a Template」というダイアログが開きます。ここには「Answers」「Blank」「Graphing」「Shapes」という4種類のテンプレートが用意されています。
このうち「Blank」以外の3種類は、既存のブックと同様に、あらかじめなんらかの外部プログラムを含んだものです。「Answer」は、テキストによる簡単な対話を実現するもの、「Graphing」は数字をグラフ表示するもの、「Shapes」は簡単なグラフィックのプログラミング方法を示すものとなっています。LEARN TO CODEやChallengesのシリーズよりはだいぶ単純なので、どのような外部コードが含まれ、それがどのような働きをしているのか探求するには、まずこのあたりから始めるといいかもしれません。
選択可能なテンプレートの中で本当の白紙は「Blank」だけです。これは、Xcode版のPlaygroundを開いた直後の状態に近いと言えるでしょう。最初は本当の白紙で何もプログラムが入力されていないだけでなく、既存のブックや他のテンプレートにあった右側の結果表示の領域も用意されていません。
この状態からある程度意味のあるプログラムを動かすには、最低限「UIKit」をインポートしましょう。これで三角関数などが使えるようになるので、適当なループを構成すれば、Swift Playgroundsが勝手にグラフ表示してくれます。このあたりの使い勝手はXcode版とほぼ同じです。
あともう1歩進んで、右側に結果表示領域を開いて、そこにグラフィックの1つも描いてみたいものです。そのためにはさらに「PlaygroundSupport」というモジュールをインポートします。これでiOSのシェイプやパスを使って、グラフィックを表示できるようになります。
ASCII倶楽部でSwift Playgrounds連載がスタート
Swift Playgroundsのユーザーとしては、プログラミングの学習者として学ぶという一般的な立場だけでなく、学習者にブックという教材を提供する教育者側に立つこともできます。このブックのフォーマットはAppleのウェブサイトで公開されています。作成したオリジナルのブックは、AirDrop機能を使ってMacからiPadに転送できるほか、iPadで受信可能なメールアドレスに添付ファイルとして送信してiPadのメールソフトを使ってSwift Playgroundsで開くことができます。すでに述べたように、現在はユーザーが直接ダウンロードできるブックの公開場所が用意されていませんが、今後はそうした環境も充実させてほしいところです。
iPad上で動くプログラミング学習ソフトにもいろいろなものがありますが、Swift Playgroundsの最大の特徴の1つは、学習者が書くプログラムは、すべて生粋の、そして最新のSwiftである点でしょう。これはMITで開発された「Scratch」系のように、プログラム機能をブロックで表すものとの最大の違いです。機能ブロックを使えば、プログラミングのロジックを学ぶことは簡単にできるでしょう。しかし、それとiOSなどのアプリ開発に使うプログラミング言語との間には大きなギャップがあります。機能ブロックでひととおりり学んでも、そこからプログラミング言語に移行するために、またひと苦労することが避けられません。Swift Playgroundsには、その部分のギャップはありません。それぞれ一長一短はあるものの、少なくともその点ではSwift Playgroundsのほうがゴールに近い気がします。
いろいろな角度から駆け足でSwift Playgroundsについて見てきました。ゲームで遊ぶ感覚でプログラミングの基礎を学ぶところから始まって、サンプルプログラムをいじってアプリの仕組みを理解し、独自のプログラム作りにも挑戦できる。さらには、学習用のオリジナル教材を製作するところまでの材料が用意されている。Swift Playgroundsは、極めて奥の深いプログラミング学習ソフトと言えるでしょう。興味を持った人は、さっそく今日から始めてください。
なお、ASCI倶楽部で連載中の「Swift Playgroundsで学ぶiOSプログラミング」では、これまでXcode版Playgroundを使って準備を進めてきましたが、次回からいよいよSwift Playgroundsを使った学習に入ります。そちらもぜひご利用ください。
この連載の記事
-
第100回
ASCII倶楽部
SceneKitの物理現象シミュレーションとアニメーションをARKitに持ち込む -
第99回
ASCII倶楽部
「物理学体」と「物理学場」を設定して物理現象をシミュレーション -
第98回
ASCII倶楽部
SceneKitのノードに動きを加えるプログラム -
第97回
ASCII倶楽部
いろいろな形のノードをシーンの中に配置する -
第96回
ASCII倶楽部
SceneKitの基礎シーンビュー、シーン、ノードを理解する -
第95回
ASCII倶楽部
現実世界の床にボールや自動車のモデルを配置する -
第94回
ASCII倶楽部
ARKitを使って非現実世界との融合に備える -
第93回
ASCII倶楽部
ARKitが使えるiPadを識別するプログラム -
第92回
ASCII倶楽部
Swift Playgrounds 2.1での問題点をまとめて解消する -
第91回
ASCII倶楽部
iPadの内蔵カメラで撮影した写真を認識するプログラム -
第90回
ASCII倶楽部
写真に写っているモノを認識するプログラム - この連載の一覧へ