|
HMDT -Back Number / October, 2000 |
October, 2000October 31, 2000■J2EE へ。まずは JSP からMac OS X の Java をめぐる話は J2EE へと進んでいきます。まずは JSP から。検索すると、いささか旧聞になりますが、JSP For Macs! ががんばっています。このページは「Mac OS X で JSP を稼動させる」というわかりやすい目的をかかげたサイトです。こういうプロジェクト指向のサイトっていいよね。話を発散させないで、特定の目的を短期間でなしとげるサイト。着実に進んでいる様です。 ■ひとりごと動かすだけじゃだめなんだ。「UNIX や Win でできることができるようになった」だけなら、UNIX を使った方がいいんだ。キラーアプリが必要なんだ。Mac の技術を使った、Mac らしいキラーアプリが。それが出てこないと、いくら動作確認してもわくわくしないんだ。 October 30, 2000■Mac OS X de Java Cocoa の AppKitMac OS X de Java、Cocoa の続きで AppKit に関して。ちょっとだけ。 サンプルプログララムに、同じアプリを Objective-C で書いたものと Java で書いたものとがあるけど、ざっと動かしたところ、そんなに速度差を感じないんだよな。そのうち細かく調べてみるけど。 October 28, 2000■Mac OS X de Java CocoaMac OS X de Java は、Cocoa の章へ。Java を使って Cocoa を呼び出す仕組み、および Foundation がどの程度実装されているのか、という話にせまっております。 なんとなく「どうせ Cocoa の wrapper を Java 用に作っただけでしょ」と思っていたけど、詳しく見てみると、意外にこれが面白い。詳しくは読んでもらうとして、Cocoa - Java Core ハイブリッド API 環境っていうのは、むちゃくちゃそそられると思わない?現在の最強の API セットの一つと言ってはばからないと思う。個人的な意見では。ほんとに。 October 26, 2000■ちょっと日記風連日の出張でへろへろっす。コードを書く気がおきないよお。連日更新っていうのはほんとにたいへんなんだ。
Cocoa って、勉強すればする程、いいものだということは分かるけど、やっぱりソースの中を読みたいよ。Java や PowerPlant のようなフレームワークの方が、流れを全て追える分、安心のような気がするな。いざとなれば、自分で書き換えることが、原理的に可能だから。実際やるかどうかは別問題だけど。
次の仕事は Linux に関係するのかも知れない。
Dock って cmd + tab でプロセスを切り替えることができるんだ。Dock にしまわれたウインドウはそのままだから、これは便利。Windows みたーい。
Darwin 解体新書は、近日中にリニューアル復活する予定です。あくまで予定だからね。ちょっと前のやり方はだらだらすぎたんで、もうちょっときっちりやります。こうやって、やりかけのものを出して、反省して引っ込めて、やり直しができるのが Web ベースのいいところ。気をつけなくちゃいけないのは、そのまま消えていかないようにすること。
雨期に入ったようで連日雨です。たまには楽し。 October 24, 2000■Cocoa をどちらで飲み干すか?Cocoa の Objective-C API と Java API を、つらつら眺めて比べていました。AppKit はほとんど同じですね。ただ NSQuickDraw と NSOpenGL、NSOpenGLView が Java にはないね。 大きい違いがあるのは FoundationKit です。Java ではスレッド間の排他制御が言語レベルで行われるため、排他制御関連のクラスは、ばっさりカットされているようです。例えば NSConditionLock や NSLock とか。他にも Mach に依存するクラスや、タスク間通信のクラスなどもカットされているようです。あと、Java で似たような機能のクラスがある場合はそちらを使うようですね。String とか HashTable とか URL とか。 特に、スレッドのサポートの有無が大きな違いですね。ものによっては、言語レベルで排他制御される Java の方が、デッドロックの危険なくすっきり書けるかもしれない。また、メモリ管理も違いますよね。Java のガベージコレクタを使うのと、Obj-C の retain、release アプローチはどちらがいいのか?ガベージコレクタの方が簡単ですが、ある程度熟練すれば Obj-C の方が効率はいいはず。 いろいろ考えると、それぞれの使い方が見えてくるかも。 October 23, 2000■Cocoa 倶楽部OPENSTEP、WebObject について有益な情報をたくさん発している Nito's Page が、新しく Cocoa 倶楽部の連載を開始していました。第一回目は Cocoa のメモリ管理についての話題です。非常に分かりやすくかつきれいなページなので、たいへん役に立つと思われます。いや、おれは役に立った。 ちょっと読んで思ったことは、最近の C++ で、ようやく定石となってきた手法が、Cocoa、っつーか AppKit、の世界では標準で行われていたんだなあ。ほんと勉強する価値があるよね。いまさら何言ってるんだ!って怒られそうだけど。 October 22, 2000■Mac OS X de Java Swing での Aqua その 2一週間振りのMac OS X de Java。Aquafied Swing の続きです。 October 21, 2000■Open GL on Mac OS Xひさしぶりに Open GL ネタです。お宝鑑定団経由で知りましたが、Apple が Mac OS X 用の Open GL のサンプルを公開していました。早速ダウンロードしてビルド。ビルドには Project Builder が必要です。ADC からダウンロードしてください。サンプルはお約束の Teapot。ビルドすると Teapot を表示するアプリができあがります。Texture がきれいっす。 ざっとプログラムを見ますと、GL を表示している部分は NSOpenGLView を継承している View です。NSOpenGLView は AppKit に含まれています。ただしドキュメントは、まだ書かれていない様です。GL の初期設定には NSOpenGL というクラスを使う様です。これも AppKit の一部で、これまたドキュメントは書かれていない様です。まあ、ヘッダを見ればだいたい分かるけど。 さて、Mac OS X PB の Frameworks を見ると、GL 関係のフレームワークとして AGL.framework と OpenGL.framework があります。AGL.framework は、この名前といい(AppleGL)、ヘッダの中身といい、Mac OS 9 までで提供されていた OpenGL の様です。つまり、AGL.framework は Carbon 用の OpenGL と推測されます。OpenGL.framework の方には CGL*.h というヘッダが確認できます。このヘッダは Objective-C 用なので、こちらが Cocoa 用でしょう。この framework の中に GLEngine、GLDriver、GLRaster というファイルがあります。サイズもそこそこあるので、これが GL のレンダリングエンジンでしょう。一方、AGL の方には、エンジンライブラリは見つかりませんでした。共用しているのか? 残る疑問は、このエンジンは Mac OS 9 までの GL エンジン(Cognix エンジン?)を元にしたものなのか、新規に書き起こしたものなのか?仮に昔のエンジンを使っていたとしたら、Cocoa 対応はどの程度なのか?Carbon に依存するのか?それとも、もともと Mac OS API に依存しない作りになっているのか?手許にある情報ではなにひとつ定かになりませんが、使っていくうちに正体が見えるでしょう。 ちなみに、サンプルをうごかしてみたんですが、これって隠面処理が失敗してない?なんか裏にあるべきオブジェクトが前に来ているんだけど?と、もっとも致命的なところを最後に持ってきてしまいました。 October 18, 2000■Have a lot of JoyMacWire 経由で知った、Mac OS X に対応した、RAD ツール Joy をダウンロードしてみました(ダウンロードはここ)。記事では RAD と紹介していますが、一般によくある GUI を構築するタイプではないです。Objective-C や Java のオブジェクトを直接作れるインタプリタといった感じなのかな? ターミナルを立ち上げて、プロンプトを使うことにより、AppKit のオブジェクトを allocate したり、そのメソッドを呼び出したりすることができるらしい。またクラスブラウザのようなものがあって、Framework をブラウズすることができるらしい。(全部、らしい、なのはチュートリアルをざっと眺めただけだから) 使い道として、入門やデバッグに最適と書かれています。確かに、ちょっと実験したいときに、ちょこちょこっとオブジェクトを作ってすぐ叩けるので、便利そう。 October 17, 2000■Mac OS X の開発環境を手に入れた開発環境をダウンロードしてきました。NDA なのでいろいろ書けませんが(がっくし)、期待通りのものです。必要なものは全部入っています。しかも、Mac OS X Server のころと比べるとかっこよくなってるんだよな。 ただいま猛勉強中。 October 15, 2000■Mac OS X de Java Swing での AquaMac OS X de Java。今回は Aquafied Swing の話題です。画像たくさん。 ■Carbon CodeWarrior って遅くない?先日届いた CodeWarrior Pro6 を使っているんだけど、Mac OS X の Carbon で使うと異様にテキスト入力が遅いんだよ。はっきりいって、Pro5 を Classic 環境で使った方が、圧倒的に快適なんだ。これって、みんなそうなの?それともうちの環境だけ? October 14, 2000■Mac OS X 開発ツールが無料ダウンロード可能にPierre design さん経由によると、Apple から Mac OS X 用開発ツールが無料ダウンロードになりました。かねてから 10/M から始めるとアナウンスがありましたが、ちゃんと約束通りに行われるようです。Apple が予定通りことを進めるなんてめったにないことですから、ここぞとばかりにほめてあげましょう。偉い! ダウンロードするには ADC (Apple Developer Connection) のメンバーになる必要があります。ここからメンバー登録が可能。Online のメンバーなら、無料で登録できます。ただし、その際に NDA を結ばされるのかな?開発ツールに関して、public なサイトでどこまで言及できるのかな。 開発ツールは、そのサイズ約 70MB。でかい。がーん。来週会社に行って落としてこようっと。ツールの中には Interface Builder と Project Builder が入っていることが期待されるけど、果たしてどうかな? October 12, 2000■Mac OS X de Java 修正:jar のバンドル化前回、「Java アプリを起動するには Terminal からコマンドを打ち込まなきゃダメで、それっていやだよなあ!」って書いたら、m_koke さんから「そんなことはない!」というメールをもらいました。>感謝! それによると、jar ファイルをバンドル化することにより、Finder からはダブルクリックで軌道可能な一つのアプリケーションに見せることができるんだ。お願いしてバンドル化してもらうと、おぉっ、本当だ。ダブルクリックで起動できる。さらに一つのファイルに見えるから(見せかけているから)管理も簡単だ。さらにさらに Terminal で見れば普通のディレクトリなので、互換性も問題ない。 というわけで前回書いたことでは全然足りなくて、Apple はきちんとエレガントな方法を提供していました。修正してみました。バンドルについては、勉強してもうちょっと詳しく書きます。 October 10, 2000■男の開発ソフト CodeWarriorCodeWarrior Pro 6 が届きました。このバージョンから Carbon 対応になり、Mac OS X アプリケーション開発が可能! などということは、他のサイトにまかせておいて、もっと素晴らしいことについて書こう。CodeWarrior といえば、随所に歯車やギアや立ち入り禁止カラー(あの黒と黄色の斜めのやつ)が使われていたり、イメージキャラクターのアーノルド君がとってもタフガイなやつだったりする、マッチョ系ソフトだよな!(なんじゃそりゃ)まさに、プログラミングは男の仕事という雰囲気かもし出していたわけだが、今回はさらにすごいぞ。 まず、CD を入れてインストーラを立ち上げてみると、いきなり有無を言わさず、「続け!」 勢いに飲まれボタンを押すと、次は「同!」「不同!」「保!」。口答えを許さぬ男の世界である。 ふにゃけた Aqua に喝を入れようという、Metrowerks の心意気が伝わってきますな(来ないって)。 要は終わりの一字が抜けているだけなのだが、「終了」が「終」になっていたり、なかなかいい味が出ているんだよ。肝心の使い勝手はまた後日。 ■Mac OS X de Java Aqua on AWTMac OS X de Java は第 4 章 Aqua へ。プログラム書いていると思うけど、Aqua は本当にきれいだ。適当に部品をポンポンと配置しても、それなりに映える。各々のコンポーネントがきちんと調和がとれてるんだよね。難しいのは自分で部品を作るときだよね。この Aqua の画面に馴染む部品を作るのは、うーん、手間がかかるぞ。プログラマが片手間にできるレベルじゃないね。 画面が美しいということは、とても大きなアドバンテージの一つだ。あるシステムやアプリの印象は、デベロッパが思う以上に画面の第一印象で占められていると思う。Aqua を採用することで、一歩リードできる。あとは分かりやすさと使いやすさだよね。 October 9, 2000■Mac OS X de Java Mac OS X での Pure Java連休でお休みをもらいました。 Mac OS X de Java は第 3 章 Pure Java v.s. Cocoa に入りました。いよいよ Mac OS X unique なところに入ってきたぞ。 ところで、アップルさんよぉ。アップルストアに注文してから 2 週間以上立つけど、いまだに何の音沙汰もねーぞ。平気で納期を破るなぁー!遅れるなら遅れるむねをちゃんと教えろ。いや、それ以前に遅れるな!相変わらず仲良しクラブのつもりなのか? October 6, 2000■Mac OS X de Java Mac OS X の Java 環境Mac OS X de Java、2 章を少し書きました。 HMDT の更新方針は、とりあえず書いたものは途中でもあげる。その後、こまめに修正、更新をくり返す。って方針なんだ。だから、中途半端でも数日後には完成してる。はず、、、 October 4, 2000■Mac OS X de Java Mac OS X で Java アプリケーションを起動するMac OS X de Java、少しずつ書きはじめてみました。ちょっと中途半端なところで終わっているけど、ぼちぼちいくから許して、、、 October 3, 2000■Mac OS X de Java スタートMac OS X 環境における Java 環境をまとめてみようと思います。それが、新しい Special Issue、Mac OS X de Java です。ターゲットはこんな感じの人たち:
Java プログラミング入門とはちょっと違うかんね。Java の概念、クラスパスを通してアプリを起動するところから、Mac OS X アプリを開発するとき Java をどう活用するのが有効か、というところまで考察してみるつもりっす。 10 月半ばの Developer Tool 一般リリースの前までには、一通り書き上げておきたいねぇ、、、 October 2, 2000■Lost PowerBook先日、飛行機に乗ったときのこと。乗る時に、何の気なしにスーツケースをほい、っと預けて乗り込みました。揺られ揺られて目的地に辿り着き、さ〜て荷物取って帰るだけ、と思っていたら、荷物が流れてくるコンベアの上を名前の書いてある紙が回っているじゃないですか。 えっ?こ、これはもしかして?と、不安におののきながらカウンターに行ってみると、「お客さまの荷物は、前の空港に置き忘れてきました。」 がーん。スーツケースの中に、着替えが全部と PowerBook が入っているのに〜。これじゃ HMDT の更新ができないぢゃないか(<他のことも心配しろ)。ぶーぶー。本当ならば、PowerBook は機内持ち込みしたいところだけど、あの重さを持ち歩くのはいやじゃあ〜、といつも迷うんですよね。今回は見事に裏目に出た。 2 日後になって、PowerBook は無事佐川急便のおっちゃんによって運ばれてきましたとさ。 |
|
Home | Link | Download | Back Number | Speciall Issue
|