Macの開発をしてみて思うこと

2009/05/01 at 07:30 コメントをどうぞ


個人的な時間を利用してMacの開発を行っています。やってみて驚くのはあまりにも情報が少ないってことです。もちろん、よく探せばどっかに情報は転がっている筈です。でも、それを見つけるのは結構大変です。しかも日本語の情報はもっと少ないので英語が出来ない人は結構苦労する筈です。

よくCocoaの開発環境はすごいと言われますが、私にはちょっと異なる意味で本当にすごいと思います。先ず、ウェブなどに転がっている(失礼)簡単なサンプル(Cocoa BindingやCore Dataを使ってInterface Builderでドラッグ・アンド・ドラップだけでそれらしきアプリを作る例等)を見れば確かに驚くほどの簡単さではあります。でも、それらを見て興味を感じ、いざ自分のアプリを作ろうとしたとたん、巨大な壁にぶつかる筈です。

先ず、Objective-C。これ、かなり特殊で異質な言語です。JavaやOOPには長年接して来たのでObjective-Cの基本的な文法だけ把握して開発に挑んだものの、なかなかCocoaフレームワークを使いこなせません。結局、荻原さんのObjective-C本を全部読むことになりました。最近Objective-C 2.0にも対応したこの本は絶対読むべきです。Javaや他の言語のOOPとはかなり異質なObjective-CのOOPがやっと理解できます。これを読まずCocoaを理解するのはほぼ無理だと思います。ここで問題、この本、結構量もあるし、なにより眠くなるんです。大事な内容なのに、確かに面白いのに、なぜか眠い。これ、私だけの問題ではございません。友人も同じ反応でした。この本を読み、理解するまでにもそれなりの時間が要ります。

これでいいか、というと次はCです。私のようにJavaやPythonなど、ポインターやプリプロッセサーを使わないの言語の経験しかないやつにはCとObjective-Cが混ざっている環境はこれまた紛らわしいです。Cの関数とオブジェクトのネーミング・ルールも同じく大文字で始まっていたりして、まず見た目ではこれがCの関数なのかObjective-Cのオブジェクトなのかも分かりません。オブジェクトと同時にCの色んなデータタイプ(struct, enum, unionなどなど)も理解して使わないといけません。プリプロッセサーは事態をもっと複雑にします。ポインターは言うまでもありません。もうここまでくると、気を長くもち、何かを作りたいじゃなく、次は何を勉強させてくれるんだい?って考えていた方がいいです。勉強しないと行けないものは本当にやまほどあります。

ここまででも多分、私のように個人の時間で趣味でやってみたいと思った人には1ヶ月以上は軽くすぎている筈です。じゃ、いよいよ開発に挑んでみよう!であります。が、xcodeはさておき、Interface Builderはどう使えばいいでしょうか?インスペクション・ウィンドウ内にずらりと並んでいるあまりの多いメニューは名前だけでは何をするものかさえ分からないものがいっぱいです。特にバインディングの設定等になるとこりゃ、また別のマニュアルが必要となります。それで、ここでまたMacから離れ、マミュアルを手にする時です。日本語でも最近色々と本が出ていますがそれらを読んでもCocoa Bindingがある程度使いこなせるまでになるのは至難の業です。英語ではCocoa Programming for Mac OS Xっていういわば定番の本がありますがこれだけでも不十分です。私はアップルの英文のマニュアルまで全部読みましたがそれでもまだ紛らわしいとこがあったりします。

じゃ、再び開発へ挑みたいところですが、まだまだあるのでございます。Macの開発はそんなに簡単に始められるものではありませぬ。今度はcore Dataであります。まあ、そろそろいい加減飽きて来たので詳細は省略します。とりあえず、こいつも英文のマニュアルを隅々まで読む必要があります。ここまで来たらもう、ひたすら学びを楽しむのであります。(何か、文章もおかしくなって来たのであります。)

他の色々は省略します。ドキュメントベースのアプリとか、Cocoaアプリケーションの起動の仕組みとか、メニュー、ユーザデフォルト、メモリー管理、キー・バリュー・コーディング、Cocoa Animation、Notification、スレッド、Undo処理、エラー処理等等、リストは永遠と続きます。もう、楽しいばかりです。

私は今まで書いたものは一通り読みましたし、使っても見たつもりで居ます。それで、いまぶつかっている問題はカスタム・コントロールとセールの作成であります。コントロールとかセールが何かはもう・・・あ、キレそう。とりあえず、こいつも資料がありません。いくら探してもそれらしき資料がありません。アップルの英文のマニュアルはもう読みました。それでもまだやりたいことはできません。どうしろってことでしょう?ウェブを検索してもそれらしき答えがありません。もう、最悪です!

少なくとも、Javaの世界ではこんなことはなかった!いつもほしい情報はすぐ手に入れられたんです。これじゃ、最初私が何を作りたかったのかさえ覚えてられません。誰か「Macでの開発は簡単みたいね」とか喋っているのを見ると殴りたくなります。

いつか笑いながらつらかった過去を話せる日は来るんでしょうか?私はもうここまで来たので一応、何か一個作るまでには行かざるを得ません。でもこれから軽いノリでMacのアプリ開発を考えている方がいらっしゃったら私の経験を参考にしてください。

「ただお前の頭が悪いだけじゃん?」って突っ込みはお断りします。Javaの時と比べても、Macの方がハドルがめちゃ高いです。こう見えてもJavaの世界ではそれなりに活躍していたので。

近いうちに、苦労しながら得た経験・知識を共有させて頂きます。

広告

Entry filed under: Cocoa is ....

作る人と使う人。搾取する人と搾取される人。 やっぱり、絶望・・・。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

Trackback this post  |  Subscribe to the comments via RSS Feed


カレンダー

2009年5月
« 4月   8月 »
 123
45678910
11121314151617
18192021222324
25262728293031

Most Recent Posts


%d人のブロガーが「いいね」をつけました。