[Alan Cannistraro – Apple]
スタンフォードの講義も第9週目。いよいよ余すところ1週となった。
学生も最後の自由課題に取り組んでいる最中なので、講義の方はこれまで取り残したテーマやゲストスピーカーの話題になっている。
* * *
第16回講義:オーディオ・ビデオ
前週のマルチタッチやデバイス API につづき、iPhone の魅力のひとつであるオーディオやビデオがテーマだ。
* * *
オーディオ
まず Audio だが、単純なビープサウンドから曲のフルプレイバックまで、必要に応じてたくさんの手法がある。
短い音声には System Sound API や AVAudioPlayer class が用いられる。[6 分ごろから]
この他に複雑なレベルの音声コントロールを行なうために次のようなものがある。[28 分ごろから]
・Audio Toolbox – レコードや再生のフルコントロール
・Audio Units – オーディオ処理
・OpenAL – 3D サウンド
* * *
Audio のデモ
ボタンを押すと様々な音を出すデモ。[20 分ごろから]
* * *
ビデオ
つづいて Video だ。音声の場合と異なり、いつもフルスクリーンのひとつのクラスしかない。MPMoviePlayerController という API がそれだ。[32 分ごろから]
* * *
Video のデモ
コントロール有/無の再生デモ。[35 分ごろから]
* * *
Web コンテンツの表示
もうひとつのテーマはWeb コンテンツの表示。[43 分ごろから]
Web コンテンツの表示するために使うクラスが UIWebView、そのためのデリゲートメソッドが UIWebViewDelegate だ。
* * *
UIWebView のデモ
Web コンテンツを表示するデモ。[48 分ごろから]
* * *
設定(Settings)
最後の話題が設定(Settings)。[55 分ごろから]
特別に設定画面を作るより、アプリの中に溶け込ませる方がいいということらしいがこのあたりはよく分らない。
* * *
Setting Bundle のデモ[59 分ごろから]
* * *
講義スライドではこの後も View Transition、Flipper Example などがあるが、時間がなくて省略。
* * *
補講:OpenGL の最適化
他言語とのブリッジについてはこれまでも取り上げられたが[第9回、第12回]、グラフィックスの高速化に効果的な OpenGL とのブリッジが今回のテーマ。
[Tim Omernick – ngmoco:)]
ゲスト講師は ngmoco:) の Tim Omernick だ。
* * *
花火(Firework)のデモ
花火のデモを具体例としながら話を進める。[8 分ごろから]
ベースとなるのは OpenGL で描かれた回転する四角。
これを次第に細かい小片(particle)にしていくことによって花火らしく見せる。
様々なカラーの無数の小片を何度も描くためにスピードが遅くなる。そのため OpenGL を高速化(最適化)する必要が生じる。
* * *
スピードアップさせる最適化はつぎのような方法で行なう。[13 分ごろから]
• Batch Geometry
• Texture Atlases
• Interleaved Arrays
• Indexed Triangles
• Floats vs. Shorts
最適化のデモは 19 分ごろから。
結果は大幅なスピードアップが図られるのだが、このあたりは難しくて理解できないので省略。
* * *
ngmoco:) が開発中のゲーム「arsenal」のデモも見せる。iPhoneでこんなゲームまで出来るのかと興味深い。[24 分ごろから]
最後に 28 分ごろから Q&A があるが、これがなかなかおもしろい。
・今回の花火のデモは2日で作った
・iPhone 3G より iPod touch の方が遥かに早い。シミュレータはマック上で動くので、デバイスの違いを反映させるには不十分。[29 分ごろ]
・iPhone は携帯ゲーム機器(mobile device for gaming)ではない、コンピュータだ。(a lot closer to a computer)[33 分ごろ]
* * *
「同時進行でみるスタンフォード iPhone プログラミング」について
スタンフォードの講義は、シロウトにとっては毎回胸突き八丁の岩場みたいだ。第2回目の講義で、ああ、もうこれはダメだと思った。
2、3日おきに1時間モノのビデオがつぎからつぎへ登場するので、とても咀嚼し、宿題をやるだけの余裕はない。見るだけで精一杯・・・
それでも不思議なもので、なんとなく雰囲気だけは感じられるようになった気がする。
スタンフォードの講義ビデオの素晴らしさは、テーマ毎にプログラミングの実際を実演してみせる「デモ」とよく考えられた「宿題」だろう。
そこで自分の気持ちを切り替えた。
シロウトなのだから一度で分ろうとすまい、あとでもう一度帰ってこよう・・・と。
とりあえず iPhone プログラミングとはどんなものか、まず全体の感じを掴むことに集中しよう・・・と。
あとでもう一度ビデオを見て、デモを復習し、宿題をやってみよう。そのためにどのビデオのどこを見ればいいのか、自分のためのメモを残しておこうというわけ。
スライド教材を挿絵がわりにして、どんなテーマが扱われたか、ビデオの何分ごろにそのデモがあるか・・・そんな自分用のメモが「同時進行でみるスタンフォード iPhone プログラミング」となった。
9週間かけてこの程度というのはなんとも情けないが、まったくのシロウトということでご容赦願うことにしよう。
* * *
第11回講義の冒頭に印象的な場面があった。[2 分ごろ]
講師の Evan Doll が学生たちに尋ねる。「君たちのうちで App Store にアプリを出したことがあるひとはどれくらいいる?」
手を挙げたのが 3.5 人。40 人ほどのクラスだから1割に近い。スタートの時点ではやくもこうなのだ。世間の 2.5% の壁とは大違いだ。
そんな優秀で経験もある学生を相手にアップル自らが最新の内容を教えるのが CS193P だ。
そもそもオブジェクト指向プログラミングのなんたるかも一切知らないシロウトが付いていける代物ではなかった。
でも、一回だけで分ろうとせず、もう一度帰ってきたら・・・プログラミングそのものに絞ってもう一度やれば・・・なんとか食らいついていけるところはあるのではないか・・・
第9週まで来て、まだそんなことを考えている。
* * *
[講義概要]
• iPhone Application Programming Course (CS 193P)
講義ビデオもここからアクセスできる
デモのサンプルコードもこちらから入手できる
* * *
同時進行でみるスタンフォード iPhone プログラミング
[つぎの講義]:第17回・第18回
[これまでの講義]
・第15回講義:Device API
・第14回講義:マルチタッチコントロール
・第13回講義:Notification ほか
・第12回講義:アドレスブック
・補講:Stanford 大学院生 Steve Marmon
・補講:Tweetie の Loren Brichter
・第11回講義:テキスト入力とモーダルコンテンツ
・第10回講義:パフォーマンス
・第9回講義:データ処理
・第8回講義:スクロール
・第7回講義:Navigation Controller
・第6回講義:Designing iPhone Applications
・第5回講義:Views
・第4回講義:HelloPoly
・第3回講義:メモリー管理
・第2回講義:Objective-C
・第1回開講
Technorati Tags: Cocoa, CS 193P, iPhone, iPhone SDK, iTunes U, Programming, Stanford
コメントを残す