なにやらアップルで新しい動きがあるようだ。
Forbes: “Apple’s New Era” by Brian Caulfield: 28 April 2009
* * *
アップルの新時代?
アップルの新時代が始まるのか。Steve Jobs の時代を特徴づけるのはソフトウェアだ。果たしてそれが変わりつつあるのか?
The Jobs era has been defined by software. Is that changing?
アップルはなにやら大きなものに取り組んでいる。Steve Jobs & カンパニーが取り組んでいるものが何なのか、それを正確に知るには早すぎる。しかし取り組んでいるのは誰なのか、それを知るのはむずかしくない。結局のところそれがより重要かもしれないのだ。
Apple is working on something big. But it’s too soon to know what, exactly, Steve Jobs & Co. are doing. But it is not too early to know who is doing [...]
2009年4月のアーカイブ
アップル新時代の幕開けか
ARM, Apple, Bob Drebin, Chip Design, Mark Papermaster, PA Semi, Steve Jobs, iPhone, iPod touch へ投稿: 2009年 4月 30日 | 1件のコメント »
アップルとベライゾンがメディアパッドを準備中?
Apple, Handheld, Media Pad, Netbook, SoC, Tablet, Verizon, iPhone lite へ投稿: 2009年 4月 29日 | 3件のコメント »
[特ダネについて語る Spencer Ante]
こんどはベライゾンがらみで iPhone に似た新ハンドヘルドの話が飛び込んできた。
BusinessWeek: “New Gear from Apple and Verizon Wireless?” by Spencer E. Ante and Arik Hesseldahl: 27 April 2009
* * *
すでにプロトタイプは完成
Verizon Wireless はアップルとのパートナー構想を温めている。Verizon Wireless が iPhone に似た2つの新機種を販売すべくアップルとの協議にはいったとの情報をビジネスウィーク誌は入手した。アップルはすでにプロトタイプを完成しており、この半年余り Steve Jobs のレベルに達する協議が行われていると、この件についてよく知る2人の情報筋が語っている。
Verizon Wireless is warming to the idea of an Apple (AAPL) partnership. Verizon Wireless is in talks with Apple to distribute two new iPhone-like devices, [...]
同時進行でみるスタンフォード iPhone プログラミング:第5回から第7回まで3本まとめて
CS193P, Cocoa, Programming, Stanford, iPhone, iPhone SDK, iTunes U, 木下誠, タグ Cocoa, CS193P, iPhone, iPhone SDK, iTunes U, Programming, Stanford, 木下誠 へ投稿: 2009年 4月 26日 | コメントする »
遅れていた第3週後半の講義ビデオがアップされたと思ったら、すぐに第4週の分も2本公開された。
ちょっと油断するとすぐ溜まってしまうので、毎週2本のペースについていくのは大変だ。
そこで今回はまとめて3回分・・・
* * *
第5回講義:Views
第5回目の講義は「Views」すなわちユーザーインターフェイス(UI)の話が中心だ。
iPhone のスクリーン上にあるものはすべて Views というわけ。 iPhone のウインドウそのものも一番上位にある UI ということになる。
このウインドウをトップとして、その下に階層構造(Hierarchy)をなしていろいろな UI が位置する。
ウインドウ上の位置を決める座標系(Coordinate System)はすべて左上を基点(0, 0)として計算する。
スクリーン上に四角形を描く簡単な例からはじまって、三角形など複雑な図形へと進む。(20 分ごろから)
複雑な図形については「Paths 」という概念が必要になる。
さらには Text と Image それに Animation をどう扱うかの解説がつづく。(40 分ごろから)
こんな感じで教科書的な解説がつづくのだが、どうもこういうのは苦手だ。ところが、最後にサプライズがある・・・
* * *
第5回講義のハイライトはこの最後の 10 分間(57 分ごろから)だろう。
プログラミングがどれほど簡単なものか Alan が実演して見せるというわけ。プログラミングの即興実演(on-the-fly coding performance)だ。
カーソルを動かすとそれを赤い四角が追っかけるというデモ。名付けてストーカー(Stalker)。
完結したひとつのプログラムの実演なのでとても参考になる。ただし目まぐるしくて一回では分らない。そこはビデオのありがたさ、何度も見るうちに感じは分ってくる。これは必見だ。
メイン部分のコードはつぎのとおり。
うまくできてご満悦の Alan に拍手が沸く。
これぞプログラミング講義の醍醐味(だいごみ)というところか・・・
* * *
最低限これだけは・・・
なお、講義についていくために仕入れた最低限の知識はつぎのとおり。木下氏の「Cocoaセミナー初級編」から拝借。(中級、上級も読みたいのだがまだ余裕がない。)
・ヘッダファイルと実装ファイル
・クラスの宣言
・クラスの実装
・メソッドの宣言
・メソッドの実装
木下誠氏の「Cocoaセミナー初級編」から:
• Apple ADC サイトの日本語 Documentation
* * *
第6回講義:Designing iPhone Applications
第6回講義のテーマは「iPhone アプリのデザイン」。いよいよ本題にはいってきた。
また MVC アーキテクチャ(Model-View-Controller)が如何に大切かという話だ。デザインの要諦の話であり、なぜアップルのデザインがいいのかという話でもある。
その理由が大変おもしろいと思った。
理由の1:スパゲッティコードを避けて、分りやすく、維持しやすいものとする。
理由の2:コードの再利用(reusability)を可能にする。
このデザイン哲学が、そうしなければならないというものではなく、そうした方が一番うまくいく(best practices)というところに、実践的プログラミング重視のアップルを見るようで大変興味深い。
ひいては、独自のコードはよくない(Don’t reinvent the wheel)、楽するコーディングがいい(Cocoa tends to embrace a lazy philosophy)、コードは少なければ少ないほどいい(write less code)ということにもつながってくる。
* * *
つづいて講義は、MVC の考え方に基づいてオブジェクト同士をどう関連づけるかという話。(20 分ごろから)
iPhone のコントロールに欠かせない Navigation [...]
アップルの「ネットブック」はないと Tim Cook
Apple, Handheld, Netbook, Tablet, Tim Cook, Ultra-portable へ投稿: 2009年 4月 24日 | 1件のコメント »
[アップルのネットブック?]
この大不況期に増収増益の決算発表をして健闘ぶりを見せつけたアップルだが、その発表に際してアップルの「ネットブック」に対する考えがより明確になった。
マックワールド誌の Jason Snell が Tim Cook の発言を分析している。
Macworld: “Apple to netbooks: Drop dead” by Jason Snell: 23 April 2009
* * *
iPod touch より大きくMacBook より小さい
必ずしもネットブックとはいわないが、iPod touch よりは大きく MacBook よりは小さい何らかの小型デバイス・・・そんな製品をアップルが開発しているのではという考えに取り憑かれてしまっているひとりとして、ネットブック市場に関するアップルの発言を注意深く見守った。
As someone who’s fascinated by the idea of Apple doing some sort of small device—not necessarily a netbook, but something bigger than an iPod touch and smaller than a MacBook—I pay [...]
アナタもワタシも iPhone デベロッパ
Developer, Platform, Programming, iPhone, iPhone OS へ投稿: 2009年 4月 22日 | 9件のコメント »
[iPhone プログラミングを始めた Lauren Bernsen | Brant Ward/SF Chronicle]
iPhone アプリの開発に関心を持ちはじめたのはプロのデベロッパだけではない。
SFGate: “Programming newbies make apps for iPhone” by Ryan Kim: 20 April 2009
* * *
Lauren Bernsen の場合
Nordstrom 百貨店の宝石売り場主任 Lauren Bernsen(25 才)は、これまでコンピュータコードなんか一切書いたこともなかった。iPhone に出会うまでは・・・
Lauren Bernsen, a 25-year-old Nordstrom jewelry manager, had never written a line of computer code – that is, until the iPhone came along.
パロアルトに住む Bernsen は、今や毎晩コンピュータスクリーンの青い明かりを浴びながら、生まれて初めて iPhone 旅行アプリの開発に取り組んでいる。
Now the [...]
今や兵器となった iPod Touch
Handheld, Military, iPod touch へ投稿: 2009年 4月 21日 | 8件のコメント »
[弾道計算機として使われる iPod Touch]
新しいプラットフォームとして絶大な人気を誇る iPod touch/iPhone だが、その利用は思わぬところにも広がっているようだ・・・
Newsweek: “Apple’s New Weapon” by Benjamin Sutherland: 18 April 2009
* * *
軍用携帯機器としてぴったり
米軍は過去にも兵士に電子機器を携帯させたことがある。多大な費用をかけて戦場用に開発し、最新のソフトを搭載した携帯電子機器だ。通訳は兵士が必要とするソフトのひとつにすぎない。未来の「ネットワーク戦争」では兵士一人ひとりが他の部隊や兵器システム、情報源などと電子的につながっている必要がある。軍事衛星、無人飛行機、地上センサーなどから得られる大量のデータを活用するためには、多機能で使いやすい携帯機器がどうしても必要だ。iPod Touch や iPhone などのアップル製品は、今や最適の軍事用携帯機器となりつつある。
The U.S. military in the past would give a soldier an electronic handheld device, made at great expense specially for the battlefield, with the latest software. But translation is only one of many software applications soldiers now [...]
同時進行でみるスタンフォード iPhone プログラミング:第4回 HelloPoly
CS193P, Cocoa, Programming, Stanford, iPhone, iPhone SDK, iTunes U, 木下誠, タグ Cocoa, CS193P, iPhone, iPhone SDK, iTunes U, Programming, Stanford, 木下誠 へ投稿: 2009年 4月 20日 | コメントする »
講義もいよいよ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 の [...]
今日は三重にも、四重にもうれしい日だった。
すばらしい食事とワイン。
Joël Robuchon
Déjeuner du dimanche 19 avril 2009
Pouilly-Fuissé 2002
Roc de Cambes 2003
お祝いに家族が集まってくれた。
ボクの入学祝いも兼ねて・・・
みんなが集まれたのが何よりうれしかった。外国にいるひとりを除き全部で11人。子供と孫たち・・・
みんな元気なのがなによりだ。
今日はほんとにありがとう。
みんな幸せになってほしい。ただそれだけ・・・
Technorati Tags: Blog, maclalala
iPhone アプリを作るアプリ:AppIncubator
App Store, Developer, Programming, iPhone へ投稿: 2009年 4月 18日 | 3件のコメント »
いや増す iPhone 人気のお蔭でついに iPhone アプリを作るアプリが登場した。
ReadWriteWeb: “This iPhone App Helps You Make iPhone Apps” by Sarah Perez: 17 April 2009
* * *
AppIncubator
iPhone アプリのためのいいアイデアがあるのだけれどプログラミングの知識がないって? 心配ご無用。ちゃんとそれをやってくれるアプリがあるのだ。MEDL Mobile が出した AppIncubator を使えば、MEDL Mobile の開発チームがあなたのアイデアをアプリに仕上げてくれる。もちろん彼らにも取り分があるのは当然だよね。でも、プログラミング作業をしなくても iPhone アプリが作れるなんてこんなウマい話があるだろうか。
Do you have a great idea for an iPhone app but not the coding skills to actually build it? Well, there’s an app for that. The AppIncubator [...]
同時進行でみるスタンフォード iPhone プログラミング:第2回 Object-C・第3回 Object Lifecycle
CS193P, Cocoa, Programming, Stanford, iPhone, iPhone SDK, iTunes U, 木下誠, タグ Cocoa, CS193P, iPhone, iPhone SDK, iTunes U, Programming, Stanford, 木下誠 へ投稿: 2009年 4月 15日 | 12件のコメント »
[Alan Cannistraro]
これから毎週2回の講義だ。それが10週間続く。結局講義の回数、すなわちビデオの本数は倍ということになる。講義ビデオを見るだけでも大変だ。
* * *
第2回講義:Objective-C
第2回目は Alan Cannistraro が講師で、Objective-C と Foundation framework の話。
まず、OOP(オブジェクト指向プログラミング)の用語を列挙(10分ごろから)、続いて Objective-C の概要(17分ごろから)、Foundation framework の説明(57分ごろから)となる。
これがコトバによる解説だけなので、初心者にはさっぱり実感が湧かない。
図らしきものはこれだけで、あとはコトバによる説明だけ。
OOP の基礎概念である Class、Instance、Method からして、初心者には聞き慣れぬ用語の羅列なので初めからひっかかってしまう。
説明の仕方も「言い換え」が主だ。Class とは設計図(blue-print)のこと、それによって作られたものが(product)が Instance、Method とはコードのこと(code)などと繰り返し言い換える。その都度頭の中でコトバを置き換えてイメージするのだがこれがなかなか・・
「泳ぐ」といえば済むところを「水中で手足の筋肉を稼働させる」といっているみたいな感じだ。
最後の方は時間が押して駆け足状態で、終わったときは呆然としている筆者だけが取り残されていた。
* * *
第3回講義:メモリー管理
第3回目の講義は少し具体的(?)だ。まず Class の説明から。ついで Object Lifecycle の話が 20 分ごろから。Objective-C Properties の話が 60 分ごろから。
まず、復習を兼ねて設計図である Class をもう少し詳しく説明。
これが .h ファイルや .m ファイルにつながることになる。
* * *
今回のメインは Object Lifecycle だ。C と比較しながら Object-C におけるメモリー管理の重要性についてについてたっぷり時間をかける。
やっかいなメモリー管理を autorelease がいかにうまくやってくれるかということらしい・・・
まだよく分らないが、メモリー空間の大きいマックと比べて、低スペックな iPhone ではメモリーの処理がいかに重要かということなのだろう・・・
* * *
ところで、上のような method = code の説明がどんどん出てくる。こちらにとっては暗号みたいなコードの羅列だがそれを講師は実にスラスラと説明していく。というか、頭から英語で読み下していく。
プログラミングとはつまるところ「英語」なのだなあと妙なところで感心する。英語を母国語とする人間にとっては暗号の羅列がそのまま英語の文章に見えるのだろうか。
しかしまあ、これで Object-C やメモリー管理を学習したということになるのではとてもたまったものじゃない。
* * *
講義ビデオさえ見ればプログラミングツールの使い方や Object-C のことが分ると考えた筆者が甘かった。
なんとかしないとこのままでは今回でギブアップということになる。
予習をして、宿題をやって、それから復習して、それでやっと授業についていけた学生時代のことを思い出した。
当時も成績どころではなかった・・・
* * *
すばらしい教材
これではならじと、せっぱ詰ってあちこち探していたら、すばらしい教材を見つけた。
木下誠氏の「Cocoaセミナー初級編」。アップルのセミナーで使われた教材がアップル ADC [...]