今年のJavaOneではMac OS XがJava2対応となったことで話題を振りまいた。Javaという角度からMac OS Xに期待が集まっているのも確かだ。というより、MRJがいつまでたってもJDK 1.1レベルだったことから、早くJava2に移行してもらいたいというニーズが強いことも確かである。さっそく、Mac OS X Public BetaのJava環境をチェックしてみた。今回紹介する内容は、ファイルについては必然的にディレクトリ階層(2000年9月26日配信の「“フォルダ階層”と“ディレクトリ階層”」を参照)で示すことになる。開発環境についての紹介ができればいいのだが、残念ながらまだ機密事項だということで完全には紹介はできない。ここでは、Developer Toolsではなく、公開されているPublic Betaだけの場合である。念のため。
さて、まずはclassファイルやjarファイルをダブルクリックしてみたが、何も起こらない。それにMac OS Xに添付のアプリケーションではJava開発関係のものがなかったので、Terminalを起動した。ここでいきなりコマンドとして「java」と打ち込んでみた。「Command not found.」が出たら道のりは険しいが、何と「Usage:」つまりコマンドの使い方が出たのである! もちろん、javac、jarなどいわゆるJava2 SDKに付属するツールはみんな存在することが確かめられた。whichコマンドで見ると、/usr/bin/ というディレクトリにこれらのコマンドは存在する。もちろん、パスが通っているので、単に「javac ファイル名」でコンパイルなどができるのである。ただ、javaの実体はそこにあったが、javacは/System/Library/Frameworks/JavaVM.framework/Commands/javacにシンボリックリンクされていた。なるほど、ここがシステムフォルダの中のフレームワークのJava関連のありかなのかと感心する。 さっそく、筆者の著書である「チャレンジ!Java」のサンプルプログラムをCD-ROMからコピーして動かしてみた。この書籍は、Windows向けであり、Java2 SDKベースでコンパイルから実行をやろうというものだ。appletviewerで動かすともちろん、しっかりとプログラムが動くではないか! さすがわJavaと思っていたのもつかの間、大きな問題を目の当たりにした。なぜか日本語の文字列が表示されない。文字化けしているのである。ただし、一部のコンポーネントの内部では文字化けしないこともあるようだ。Mac OS Xが英語版だから? でも、日本語フォントはあるはずでは? MacJavaメーリングリストでエキスパートの方に指示をもらっていろいろ調べた結果(メッセージは参照できる)、なぜかMac OS X Public Betaには国際化関連の機能がごっそり抜けているのではないかということが判明した。コンパイル時に文字列を適切なコード変換をしていないのはもちろんだが、Windowsでコンパイルした結果もやはり文字化けするということは、なんとかするにしても一筋縄では行かないような気がする。とりあえずは追求はあきらめている。 ◇MacJavaメーリングリスト http://www.freeml.com/ml_mess.php?ml=macjava
Java2 SDKの中身がきちんと国際化されて、Mac OS Xの正式リリース版に搭載されるのかどうかは分からない。もっとも、それ以前に10月予定の日本語版できちんと日本語が利用できるようになっていることは切に願うところだ。今の段階で日本語をきちんと出すということも興味はあるのだが、目前に日本語版があるのでそれを待ってもいいだろう。いずれにしても、コマンドラインからのJava利用はできたということである。(ちなみに、IBMが開発しているJavaコンパイラのjikesもMac OS Xには入っている。) では、コマンドラインから入力するJava開発が本筋なのかと言うと、やはり基本的にはProject Builderを使うなど本格的な開発環境を使うことが一般的だと思われる。Javaのアプリケーションは、ベーシックな形態としてはclassファイルをまとめたjarファイルであり、javaコマンドでjarファイルを起動することができる。しかしながら、jarファイルはFinderでのダブルクリックでは起動しない。Mac OS Xでダブルクリックで起動するためにはBundle(あるいはパッケージ)という形式に従って、jarファイル以外にさまざまなファイルを用意することになる。詳細については不明な点は多いが、公開されている情報を総合すると、Project Builderを使えば、Bundleに従ったMac OS Xでダブルクリック可能なJavaアプリケーションを、簡単に作成できるのである。通常の開発で、わざわざ大変な思いをすることもないだろうから開発ツールを使う手法が主流となるのは目に見えている。 しかしながら、プログラミング人口の裾野は広い。開発ツールは買う気にはなれないけどもプログラミングをしたいという層がいることは確かだ。もし、Mac OS XにJava2 SDK相当のものが搭載されていれば、そうした層の人向けに書籍などさまざまな情報を出すことができる。Java2 SDK相当のものが搭載されてることは決して無意味なことではないと思える。