[Jason Beaver – Apple UIKit Team]
早いもので第5週にはいった。マラソンでいえば折り返し地点だ。
驀進(ばくしん)する機関車に必死でしがみついて振り落とされないようにしているというのが毎回の正直なところ・・・
* * *
第8回講義:スクロール
指一本動かすだけで iPhone の画面が上下にスクロールするところはマルチタッチの醍醐味(だいごみ)だろう。
今回の授業ではその仕掛けを取り上げる。
講師はアップルの UIKit チームに属する Jason Beaver だ。現役パリパリを引っぱり出してくるところから、この講義に対するアップルの熱意が窺える。
* * *
Table View:リスト
スクロールの対象になるのがリストだ。iPhone には様々なリストがある。それが Table View だ。
今回スクロールに関して取り上げられるのはつぎのようなオブジェクトだ。
UITableView
UITableViewCell
UITableViewController
UITextView
UIImageView
UIScrollView
UIScrollViewDelegate
* * *
Delegation:
必要最小限ということが何度も強調される。リストには多くのデータが含まれるが、その都度ゼロからリストを再構築して描画したりしないで、最小限スクリーン表示に必要な範囲に限るべきだと。煩雑さを避け、限られたメモリーの中で対応するためだ。
それはまたアルゴリズムと View を分けるという考え方にもつながるのだろう。
いちいち描き直さないためには Delegation という考えが大切になるということらしい。
* * *
デモ:
講義にはたくさんのデモが含まれている。スライドでは Demo と一枚だけ表示されるだけだが、実はこの部分が大変重要だ。スタンフォード講義のお値打ち部分といえる。
今回はぜんぶで4つのデモがある。
教科書的に概論を教える部分が講義だとすると、問題解決にあたる実技の部分がデモということになる。
さらにはデモの部分のコードサンプルも zip ファイルの形でダウンロードできるようになっている。
* * *
・どうやってリストにデータを表示するか
・表示されたデータをどう選択するか
・コンテンツのカスタマイズはどうするか
概論のあとデモという形で解説が続く。
* * *
第9回講義:データ処理
第9回のテーマはデータの話だ。
データといってもいろいろある。iPhone の中のデータと、雲の上(インターネット上)のデータと。ローカルデータとリモートデータ。
* * *
Property List:
あまり大きくないローカルなデータを load/save するには Property List が便利だ。
* * *
SQLite:
一方、インターネット上のデータにアクセスするには別の手法を使う。
最もエレガントなのがオープンソースの SQLite だ。具体的には C API を使う。(30 分ごろから)
* * *
JSON:
あまりオーバーヘッドがかからない手法(iPhone では特に重要)としては XML や JSON がある。
JSON(JavaScript Object Notation) とは軽量のデータ記述言語(Open source json-framework wrapper for Objective-C)のこと。
JSON のコードはこんな感じ・・・
JSON を使って Flickr の画像を利用するデモが行なわれる。(60 分ごろから)
* * *
講義内容がどんどん広がって行くので、あとを追っかけるのが精一杯。とてもちゃんとデモまで理解するところまでいかない。
Objective-C もよく分らないのに、C から XML、JSON と無限に広がって行く。まあウェブ端末としての iPhone の性格上当然のことかもしれないが、講義についていく方はたまったものじゃない。
頭の中が爆発してしまいそうだ。宇宙に飛び出す Wall-E か・・・
* * *
今回もまためくるめく爆発の中で宇宙の果てに放り出されてしまった。
どこまで理解したのか自分でも心許ない。きっとあちこち大きな間違いを犯しているのではないかと不安だ。
iPhone プログラミングの先達にぜひともお願いしたい。
過ちや理解不足にお気づきでしたらどうか訂正してくださるようよろしくお願いいたします。
(訂正するほどの内容もないといわれてしまいそうですが・・・)
* * *
[参考]
• iPhone Application Programming Course (CS 193P)
講義ビデオも中からアクセスできる
デモのコードサンプルもこちらから入手できる
* * *
同時進行でみるスタンフォード iPhone プログラミング
[つぎの講義]:第10回・第11回
[これまでの講義]
・第7回講義:Navigation Controller
・第6回講義:Designing iPhone Applications
・第5回講義:Views
・第4回講義:HelloPoly
・第3回講義:メモリー管理
・第2回講義:Objective-C
・第1回開講
* * *
追記(5月5日)
スタンフォードの iPhone 講座について書かれたプロのサイトを発見した(というか不勉強のせいで今まで気がつかなかった)。
コロラド在住のソフトウェアエンジニア tomute 氏のブログ「Tomute’s Notes」だ。
スタンフォード講座については4月4日から連載が始まっているが、とくに4月29日の記事が講座受講の前提となる知識、必要な英語力、学習に必要な時間など全体を簡潔にまとめて大変参考になる。
さらにはリンク先も充実しており、iPhone アプリ開発に関心をお持ちの方はぜひともご覧になることをお奨めしたい。
プロのプログラマーが書くとこうなるというすばらしい見本だ。(ド素人の筆者は恥ずかしい。)
Tomute’s Notes: “スタンフォード大学のiPhone アプリ開発講座の感想” by tomute: 29 April 2009
またひとつすばらしいサイトを見つけてうれしい・・・
Technorati Tags: Cocoa, iPhone, iTunes U, Programming, Stanford
当方のブログを紹介していただき、どうもありがとうございます。
私はプロのプログラマーと呼べるほどの物ではないので、ちょっと気恥ずかしいですが、スタンフォード大学の講義はとても面白いので、またブログの題材として取り上げて行きたいと思っています。
藤シローさんのブログは、授業の雰囲気が非常に良く伝わる感じで、多くの人に参考になるのではと思いますので、無事本講義を完走出来るよう一緒に頑張りましょう!
> tomute さん
わあ〜 はじめまして
コロラドからコメントいただいて 大変うれしいです
tomute さんの連載は 専門家が書かれたものだけに 大変参考になります
当方の 象を外からただなぞっているだけ というのとは大違いですね
なんとか やれるところまでやってみようと 考えてはいるのですが・・・
これを機に いろいろご指導いただけると ありがたいと思います どうぞよろしく