Macintosh Developer Online (MDOnline)


2000年10月27日発行号 - REALbasicからUNIXコマンド



iCabのCarbon版が出ていますが、動作は目に見えて早い様な気がします。一部ではCocoaと出ていますが、Carbon版ですね。ニュースに書きそびれてしまいましたが…。MRJ Pluginが久々に出ましたけど、iCabはJava Applet対応はまだしていません。
以前にデスクトップマシン(B&WのG3)のキーボードが調子悪くなったことをちょっと書きましたが、その後秋葉原に見に行ったものの、Mac用のUSBキーボードがけっこう高いのでちょっと二の足を踏んでいます。こんなに高いのなら純正のProキーボードだと思ったら、まだAppleStoreでは販売されていませんからね。それで、DOS/V用のUSBキーボードも、駄目もとで買うにはちょっと高いです。一番安いところで3000円を切るものは見つけたものの、古いデザインです。DOS/Vの世界でも、キーボード端子はまだまだPC/2端子がマザーボードにあるので、USBキーボードは一般的ではないのです。それになりにかっこいいのは5000円します。もっとも、DOS/Vのキーボードをつけて、optionキーとかどうなるのかは未知数ですし、ましてやMac OS Xだと不明です。人身御供になってもいいのですし(笑)、まあ、3000円ほどでものを書くネタが手に入ればいいという話もありますが、考えて考えて、とりあえず見送りました。3のキーが完全にだめになっているので、最後はKey Capがあるとはいうものの、Perlでプログラムを書く時にコメントをどうしようかと思ってしまいます。Perlなんて使うなよというのはなしですよ(笑)。というわけでとりあえず、調子の悪いキーボードを使い続けています。もうちょっと待って、Proキーボードを買うのが正解のような気がしますしね。
(新居雅行 msyk@mdonline.jp


REALbasic 3.0a11がリリース、UNIXコマンドの発行が可能に

開発環境のREALbasicの次期バージョン3.0のアルファ版のリリース11が公開されていいる。Carbon対応によるMac OS X向けのネイティブアプリケーション開発、あるいはMac OS Xでのネイティブな開発環境の利用がVer.3.0での大きな変更点である。そして、リリース11で、UNIXのシェルに対してコマンドを発行し、実行結果を得ると言うことが可能になった。具体的にはShellクラスが定義され、シェルに与える1行文のコマンドをExecuteメソッドで実行し、結果コードや標準出力に得られた結果を取得することができると言ったものだ。つまり、UNIX向けに用意されたコマンドが、REALbasicから簡単に実行できるのである。オープンソースで作成された各種のUNIX向けソフトウエアは、比較的容易にMac OS Xでも実行できるようになることが言われているが、そのままだと、Terminalからコマンドを手打ちしないと実行などができなかった。しかしながら、そうしたソフトウエアのユーザインタフェースをREALbasicを使って作成できるようになるということだ。UNIX向けソフトウエアをMac OS Xで積極的に利用する1つの道筋としてREALbasicが浮上してきたと言えるだろう。
なお、UNIXのシェルコマンドは、MS-DOSのコマンドプロンプトと似てはいるが、機能的にはもっと高いものと考えた方がいい。むしろ、コマンドというよりも、マクロ的な側面を持っており、複雑な処理を1行で書き切るといった高度なことが可能である。また、かなり長いテキストを引数に渡すことができるなど、スケーラビリティも高いし、複数のコマンドを経るパイプ処理も可能である。また、OSの奥深くで処理されることでもあり、高速な処理も期待できる。Mac OS XのBSDという1つの大きなメリットを強く生かすことができる機能として、REALbasicのShellクラスには大きく期待ができるだろう。

関連リンク:REALbasic 3.0a11
カテゴリ:Mac OS X, REALbasic


アップルが北海道でWebObjectsとストリーミングのセミナーを開催

アップルは、2000年11月2日(木)に13:00〜16:30の日程で、札幌市エレクトロニクスセンターにおいて、WebObjectsとQuickTime Streaming Serverに関するセミナーを開催する。アップルコンピュータの石山正太郎氏による「WebObjectsを利用したWebアプリケーション構築技法」と、同じく安田伸幸氏による「QuickTime Streaming Serverを活用した動画配信術」がテーマとなっている。それぞれの製品紹介や、Webサイトの構築技法などが講演される予定であるが、Webをビジネスとする人向けのセミナーとなっている。参加費は無料になっているが、定員は100名となっている。また、来場者に対するプレゼントもあるとしているが、これまで何度か行われてきたセミナーではWebObjectsがプレゼントされることが多かったため、今回も同じように期待できるだろう。今までは東京や大阪でしかセミナーは開催されなかったため、地方でこうした情報を得る機会が少なかったが、地方都市もカバーする動きが出始めたと言えるだろう。

関連リンク:Webビジネス最新事例セミナー
カテゴリ:QuickTime, WebObjects, イベント


Mac OS XでJISキーボードを使うと、\とバックスラッシュは区別される

Mac OS Xを使う時のキーボード入力の際に、特にプログラマは注意をしなければならない点があることを、Jeditで知られる株式会社まつもとの松本慧氏より情報をいただいた。C/C++にしても、AppleScriptにしても、あるいはPerlにしても、「\」記号の入力をすることが多い。もちろん、英語フォント的にはバックスラッシュであるが、日本語フォント上では\として記述するのが基本だし、プログラミングの解説書などでも昔はバックスラッシュとして記述していた時代もあるけど、今では\で示すのが一般的だと思われる。
しかしながら、Mac OS Xでキーボードメニューで「U.S.」を選択している場合、つまり、アメリカ国旗のアイコンがメニューバーに見えている場合に「\」キーを打ち込むと、半角カナの「エ」(0xB4?が入力されてしまう。キーボードメニューで「ことえり」を選んで、半角直接入力モードにすると「\」キーで「\」(0x5C)が入力される。Jedit4やCodeWarrior6で見られる現象だが、Mac OS X付属のエディタTextEditではそうならない。つまり、Carbonアプリケーションで発生する問題であるということが言えるのではないかと思われる
文字列中で\のつもりで書いていても、異なるコードが入ってしまうと、ソ?ス上のみかけと実際は異なってしまう。Osakaの場合には「エ」と見えるので分かるが、たとえば、MonacoやHelveticaフォントで表示している場合に問題が発生する。そのときに、キーボードメニューを「U.S.」にして「\」キーを押すと、「\」が入力されるが、そのときには、0x5Cのコードではなく、0xB4のコードのキャラクタが入るというわけだ。だから、ソース上の "\r" も意味は違ってしまう。英語フォントだからバックスラッシュになるのが当たり前と言ってしまえばそれまでだが、間違えやすいポイントである。なお、JISキーボードではキーボードメニューが「U.S.」のときにバックスラッシュを入力するにはoption+\とする。キーボードメニューで「ことえり」を選択して、「\」キーで入力するということであればとりあえずは問題は出ないだろう。いずれにしても、\記号には要注意であることは確かなようだ。

カテゴリ:開発情報, Mac OS X


Jedit4のスクリプトで見るMac OSとMac OS XのAppleScriptの非互換部分

Mac OS XのAppleScriptについて、Jeditで知られる株式会社まつもとの松本慧氏より、情報をいただいた。Mac OSとMac OS Xの間でのAppleScriptの非互換のある部分があるということだ。Jedit4は、AppleScriptによるさまざまな処理に対応していることから、周辺ユーティリティも数多くリリースされているが、Mac OS Xでの稼動ではいくらか注意が必要だろう。

まず、選択範囲を別の文字列に置き換えるためには、
 insert "strings" at selection
といった記述を行うが、これはMac OS Xの上で稼動させたJedit4に対して実行させてもエラーになるということだ。同等な作業をする命令として、たとえば、
 insert "strings" at end of selection
という記述は実行できる。命令の意味は若干異なるが、文字列の範囲選択をしていない状態ではおおむね同じ処理をすると言えるだろう。これは、Jedit4側の問題というより、AppleScriptの解釈を行うシステム機能の部分に若干の違いが発生しているということのようである。
さらに別の問題も見つかった。AppleScriptでは「return」というキーワードで、改行コードの文字列を記述できる。Mac OS Xでは、0x0D(CR)のコードだったが、Mac OS Xでは0x0A(LF)になってします。基本システムがUNIXのMac OS Xは「改行」と言えば「LF」であるといえばそれまでだが、たとえば、Jedit4で改行を挿入する場合に、
 insert return at end of selection
としたとする。文書ファイルの改行コードとしては既定値ではCRになっているので、文書内にはLFコードが挿入されたマークが入り、改行はされないのである。さらに、文字列中の「\r」でさえも、LFコードになってしまう。この問題をクリアするためには、「(ascii character 13)」という記述でCRコードの改行を記述するしかないということだ。

前者の問題については微妙なところではあるが、後者については互換性を考えた場合には利用者が意図する方向にはなっていないと考えられる。松本氏はさっそくフィードバックをしたそうだ。要望があれば、読者の方々もフィードバックをすることをお勧めする。

カテゴリ:アプリケーション, AppleScript, Mac OS X


NetscapeでMRJをJava VMとして使うMRJ Pluginのベータ版が登場

MRJ Plugin Ver.1.0b1がリリースされた。それ以前のリリースが99年8月の1.0d9なので久々のリリースで、やっとベータ版になったと言ったところだろうか。クリッピングの改善や、CODEBASEの参照に加えて、Netscape 4.76においては、APPLETタグにおいてもMRJ Pluginを使うようになった。WebブラウザのNetscapeは独自のJava VMを搭載していたが、JDK 1.1の時代にJava VMの進化に追随できなくなってきていた。特にMac版のNetscapeのJava VMはJDK 1.1の新しいイベントモデルに対応しないなど、事実上使えないレベルでのJDK 1.1対応であった。また、Windows版においても制約があり一方でマイクロソフトとの係争もからんで、JRE(Java Runtime Environment)によってOSに組み込まれたJava VMをWebブラウザから使うために、Javaアプレットもプラグインを利用して稼動するという方針が立てられた。Windows版のJava稼動プラグインは、Sum Microsystemsからリリースされている。Mac版については、プラグインとしてWebブラウザからMRJを利用してAppletが稼動するものをNetscape社とAppleが共同で開発を行い、MRJ Pluginとしてリリースされてきたが、明白に開発は止まっていた。なお、その間にMac版のInternet Explorerは、MRJを唯一のJava VMとして稼動するような機能が組み込まれることになる。プラグインを使う都合上、EMBEDタグに置き換える必要があるが、MRJ Pluginは今回のリリースアップでAPPLETタグにも対応し、過去との互換性を備えた。しかしながら、JavaアプレットというもののWebサイトでの存在感は年々低くなっている。MRJを使うプラグインを必要とされ、開発され始めた時代から比べて、明白にアプレットの存在感は低下している。それに連動してMRJ Pluginの開発アクティビティも下がったのだと思われる。Netscape 6もリリースはされていて、やはりMac版でアプレットを使う場合にはMRJ Pluginを使うことになっている。しかしながら、アプレットはもはやブラウザ環境を限定できるイントラネットでの利用だとか、Javaという意味では次世代の携帯電話での利用に開発者の目が向いている。MRJ Pluginはバージョンがd(開発版)からb(ベータ版)になったことで安定したこともあるのかもしれないが、あまりに登場が遅すぎたと言えるであろう。

関連リンク:MRJ Plugin for Netscape 4.X and Netscape 6 Browsers
カテゴリ:ブラウザ, Java


ファイルメーカーProにフィルタ機能を追加するプラグイン

Waves In Motion社は、ファイルメーカーPro向けのプラグイン「oAzium Portal Filter」をリリースした。これによってフィルタをかけたフィールドを定義することができる。特定のキーワードがあるデータやあるいは、あるキーワードで始まるものや終わるものなどで絞り込むことができる。フィールドをポータルに配置すれば、条件に合ったデータだけを絞り込むなど、検索処理等において、ファイルメーカーProにない機能を提供することになる。1ユーザが$49で、マルチユーザ版もある。WindowsあるいはMac OSで稼動する。

関連リンク:Waves In Motion
カテゴリ:データベース


FireWire接続が可能なメモリーカードリーダ

FirewireDirect.comは、FireWireで、コンパクトフラッシュ(CF)、スマートメディア、メモリースティックのそれぞれのカードを読み込みできるカードリーダをリリースしている。Windows 98SE、Me、2000、そしてMac OSに対応する。それぞれ、$99.95、$119.95、$139.95が販売価格となっている。

関連リンク:FireWire Card Readers
カテゴリ:周辺機器