
講義もいよいよ3週目だ。まず第3週前半の講義について。(後半の講義は5日も経つのに、どういうわけか今日現在未だビデオが公開されていない。)
ところでなんと、今回は講義がおおよそ分ってしまった!
アプリケーション作成という具体的なテーマであることが理由のひとつ。
それだけではない。ツールや Objective-C の知識がほんのちょっとあるだけで、かくも違うものか・・・
木下氏の「Cocoaセミナー初級編」の霊験実にあらたかだ。
* * *
第4回講義:HelloPoly
アプリケーションを構成するもの:

アプリケーションとは単一のファイルではない。Code、Nib ファイル、Resource、Info.plist などのファイルの集合体(bundle)だ。

Nib ファイルには UI のパーツのレイアウトが含まれているほか、UI とコントローラをつなぐのにも用いられる。
* * *
デザインパターン:
Cocoa アプリケーションの開発を考える上で欠かすことのできない考え方、すなわちデザインパターン(MVC アーキテクチャ)について理解する。プログラミングに関する Smalltalk 以来の基本的考え方だ。(20 分ごろから)

来たぞ、きた、キターッ!木下氏の教材で学んだことが出てきた!

View すなわちボタン・テキストフィールドなどのユーザーインターフェイス(UI)と、Model すなわちアプリケーションのデータ部分とを、Controller でつないで制御する。

Interface Builder 上でコントロールキーを押しながらドラッグして文字通りつないでいく。
* * *
HelloPoly のデモ:
今回の講義のメインは、宿題にもなっている「HelloPoly」だ。
多角形(octagon)の角数が、Increase ボタンを押すことによって増え、Decrease ボタンで減るアプリケーション。

直感的なアプリケーションなので、細かい部分はともかく、プログラミング作業の全体の流れはよく分る。
UI からデータを受け取るか(Outlet)、UI の操作をするか(Action)で、つなぐ方向が異なってくる。

文字通り Interface Builder 上でつなぐ作業で、直感的で分かり易い。

どちらからどちらへつなぐのか、いいかえればデータを受け取るのか(Outlet)、それとも操作をさせるのか(Action)という点の理解が大変重要なのだろう。この点はあとで要復習だ。
* * *
Objective-C の文法や細かいコーディングの話はまだまだ難しいが、今何について講義しているのかというところだけは分ってきたような気がする。
理論と実践の間を行き来することによって、分る範囲も少しずつ広がっていくのだろう。
無知なシロウトの悲しさで、ついつい楽して分る方法はないかと考えてしまう。しかしある程度の基本についてはかじりついてでもやる必要があるということなのだろう。
その意味で木下氏の「Cocoaセミナー初級編」との出会いは実に幸運であった。
その木下氏は、逃げないでちゃんと正面から取り組めと次のように諭(さと)している。
* * *
逃げずに取り組む
[AppBank]:木下さんはセミナーや講演も多くまた、開発者向けの本も書かれています。その中で開発者の人に対して感じることやメッセージがあれば教えていただきたいです。
[木下誠氏]:プラットフォームを理解してもらいたい。iPhoneアプリ開発において、たまに聞かれる質問や話題として盛り上がるものとして「別の言語でiPhoneアプリ作れますよね。」「Javaで作れますか?」というものがあります。Objective-C、Cocoa Touch、これらのシステムを支える仕組みの理解を放棄しています。自分が取り組むプラットフォームなのだから逃げないで正面から理解してほしい。サービスの利用者のことを考えたらプラットフォームに対して最適なことをするのが当然かと思います。
AppBank: “HMDT木下誠氏インタビュー。アプリケーション開発とデザイン。そして、知への探究心。“: 10 April 2009
* * *
[追記]講義情報について
• iPhone Application Programming Course (CS 193P)
講義出席に必要な情報はすべて「CS193P – Cocoa Programming | Announcements」から得られる。ここには最新の情報が載るので、講義出席者はこれを見落としてはならない。
講義ビデオもここからアクセスできる。例えば第4回講義の場合、Lecture 4 の「Download this lecture from iTunes U」をクリックすると直接講義ビデオに飛べる。
4月13日におこなわれた第4回講義の概要はつぎのとおり。
月曜日の講義は、iPhone アプリの構造、モデル・ビュー・コントローラ(iPhone アプリの中核をなすもの)、Interface Builder の nib ファイル、およびコントロールとターゲット・アクションの設計などをカバーする。
Monday’s lecture covered the anatomy of an iPhone application, Model, View, Controller (which is central to all iPhone applications), Interface Builder nib files and an introduction to controls and the target-action design.
宿題3(4月21日火曜日締切り)のダウンロード可。Hello Poly アプリケーションの第2部にあたる。
Assignment 3, due Tuesday April 21, is now available for download. This is the second part of the Hello Poly application.
• Apple ADC サイトの日本語 Documentation
木下誠氏の「Cocoaセミナー初級編」ほか、日本語の優れた教材や情報が沢山ある。
* * *
同時進行でみるスタンフォード iPhone プログラミング
[つぎの講義]:第5回・第6回・第7回
[これまでの講義]
Technorati Tags: Cocoa, iPhone, iTunes U, Programming, Stanford, 木下誠