[Alex Aybes – Apple]
iPhone 知らず、プログラミング知らずのスタンフォード講義受講も第7週目にはいった。
講義内容はますますプログラミングの実際に合わせたより実践的なものになっていく。
* * *
第12回講義:アドレスブック
講師はゲストスピーカー Alex Aybes。やはりアップルの iPhone ソフトウェアエンジニアだ。[冒頭画像参照]
[Evan and Alan]
いつもの Evan と Alan は最前列で Alex をフォローする。
* * *
アドレスブック
今回のテーマはアドレスブック。冒頭の「アドレスブックの Hello World」というデモが印象的。
iPhone のカラッポのスクリーンが、ほんの数行のコードを加えるだけで、本物のアドレスブックが持つすべての UI を利用できるようになる。これはなかなかの圧巻だ。
たぶんこれが iPhone プログラミングの威力なのだろう。
どのコードがどの UI に対応するものか、デモをじっくり見ながら、加えたり削除したりすれば、たった一行のもたらす威力が実感できるはず。
* * *
ローレベル C API の利用
アドレスブックで個人データを処理し、表示するためには、ローレベルの C API の利用が必須となる。
これらの背後にあるのが CoreFoundation だ。C ベースで書かれたフレームワークで、Objective-C 用のもの。(7分ごろから)
C と Objective-C をミックスして用いるときに効力を発揮する。C と Objective-C が自由にミックスして使えるため、ローレベルでは純粋 C にすることが可能で、このためオーバーヘッドを減らすことができる。相互乗り入れ自由なことを「無料の高速道路ブリッジ」(Toll-Free Bridging)に例える。
* * *
ネットワーク上の個人データ:手順
アドレスブックがもっと威力を発揮するのは、ネットワーク上の個人データを読み込むときだ。
Social Networking Website の個人データは、次のような手順で読み込む。(18 分ごろから)
Step 1: Search
ダウンロードしたデータから個人名を探す。
Step 2: Update
アドレスブックを更新する
Step 3: Display
結果をソートして表示する
* * *
ネットワーク上の個人データ:デモ
Social Networking Website から個人データを読み込むデモは 35 分ごろから。
全体の処理をコード毎に解説しながら実演する。必要な関数を加えれば、ホンモノと同じ UI が利用できるようになるわけで、これはなかなかのものだ。ただし結構長いので、一度見るだけでは分りにくい。
* * *
データの表示は View Controller で
そのほかアドレスブックの具体的ケースを想定して、そこで生じる問題を解説する。
・複雑な情報の取り扱い(46 分ごろから)
・未知の個人の処理(48 分ごろから)
ABPersonViewController
ABUnknownPersonViewController
・Eメールアドレスの処理(56 分ごろから)
ABPeoplePickerNavigationController
・Notification(60 分ごろから)
* * *
第13回講義:Notification ほか
今回の講義も前回同様非常に実践的。宿題「Presence」をやる過程で遭遇する様々な問題について解決方法を解説し、そのデモを行なう。
* * *
例外(Exception)
予想外の事態 Exception(例外)に遭遇するとアプリはクラッシュする。Exception を見つけるのはなかなか難しいが、それをどうやってデバッギングするかという問題。
任意の箇所にブレイクポイントを挿入して Exceptions を見つけるデモが 4 分ごろから。
* * *
検索(Searching)
検索に用いる UISearchBar の解説。
データがマッチしたときにどう処理するかというデモが 11 分ごろから。
* * *
通知(Notification)
UIKit で多用される Notification がどういう仕掛けになっているかという舞台裏について。
強力かつフレキシブルだが、デバッグはむずかしい。
Keyboard Notification の例として、キーボードを使う際、キーボードがかぶったリストをどう短縮して表示するかというデモが 26 分ごろから。
* * *
Key-Value Coding(KVC)と Key-Value Observing(KVO)
変数の値(Value)が変化したことを知らせる Notification の例として、Key-Value Coding(KVC)と Key-Value Observing(KVO)について。
入力に応じてデータを変更する KVC のデモが 33 分ごろから。
誰かの社会保障番号(SSN)を変えようとするとアラートがでるデモが 48 分ごろから。
* * *
こうしてみると、それぞれ如何にも実践的な講義であることが分る。サンプルコードもダウンロードできるので、模範的なコードを「盗んで」自分のプログラミングをブラッシュアップすることも可能なわけだ。
折しも、スタンフォードの iPhone プログラミングコースが開講されたこの7週間で、無料講義のダウンロードが 100 万回に達したとスタンフォード大が発表している。世界的な関心の高まりを示すわけで、大変なことだと思う。このうち 13 回分は当ブログも寄与していることになる。
また、いよいよアップルが6月の WWDC に向けて、「プッシュ通知機能」(Push Notification)のテストをサードパーティに依頼したという話も伝わってきた。
新しいプラットフォームとしての iPhone の開発動向はますます目が離せなくなっている。
* * *
[参考]
• iPhone Application Programming Course (CS 193P)
講義ビデオもここからアクセスできる
デモのサンプルコードもここから入手できる
* * *
同時進行でみるスタンフォード iPhone プログラミング
[つぎの講義]:第14回・第15回
[これまでの講義]
・補講: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
コメントを残す