マイクロソフトのC#や.NET構想が先週に発表されています。昔からいつかはソフトはネットワーク系に移行すると言いながら、現実感が出てきたのは昨年あたりからでしょうか。その意味では、ASPモデル的なビジネス展開は必要ですし、その枠組みでの開発に適した言語という点からも、いつまでもVisual Basicというわけにはいかないのは目に見えています。だけども、既存の枠組みをわざわざ自分達の手で再構築することで手中に入れようという意図が見え見えだと思います。これらが支持されるかどうかはデベロッパにかかっています。Windows NTはある種のあきらめを伴って導入されているような節もあり、現状では頭打ち感というものも感じられます。つまり、ApacheやsendmailをはじめとしたUNIXシステムの指示は揺るぎないものとなっていて、どうしてもその牙城は崩せないでしょう。一方、ASP自体はそれなりに使われているものの、圧倒的なシェアがあるわけではありません。つまりはJavaがアプリケーションサーバの基本開発プラットフォームとなっているところに殴り込みをかけるわけですが、私の予想では相当苦しいと思われます。ある意味で「仕方なく使っている」クライアント環境のWindowsのようには展開しないでしょう。サーバシステムは選択肢がたくさんありますし、マーケティングに動かされやすい消費者ではなく、デベロッパの選択権は高くなります。その意味では、完全にJava化されるWebObjects 5の方向性は、まさに現在のデベロッパの期待する方向だと思います。マイクロソフトのことですから何をするのかという期待と警戒もありますが、カギを握るのはまさにデベロッパたちでしょう。
(新居雅行 msyk@mdonline.jp)
次に準備するものはC言語用のヘッダーファイルです。Carbon 1.0.4 SDKの「Carbon Support」フォルダ内の「Universal Interfaces」フォルダ内に、リンク時に用いるすべてのヘッダーファイルがあります。このうち「CIncludes」フォルダ(C言語用)の中身をすべてMetrowerks CodeWarriorの以下のフォルダに入れて差し替えます。
MacOS Support/Universal/Interfaces/CIncludes
Carbon 1.0.4 SDKに添付されているヘッダーのバージョンは、なぜだかv3.3.1です。しかし、最新のバージョンはv3.3.2となっていますので、AppleのSDKサイト
http://developer.apple.com/sdk/
から「Universal Interfaces 3.3.2 」を入手して、そちらを利用した方が良いでしょう。ADCメンバーサイトからは「Universal Interfaces 3.4d5」というバージョンもダウンロードできますが、こちらは開発途中のCarbonLib v1.1用ですので、現状では使わないでください。(まだ色々と不都合があるみたい...)現在のプロジェクトで古いバージョンのヘッダーファイルを利用していると、新しいヘッダーへの書き換えにより整合性がくずれてエラーが出る場合があります。プロジェクトに対してかなり古いヘッダーファイルを利用している場合には、最新の物へ更新する作業には細心の注意が必要となります。心して掛かりましょう!
さて、ヘッダーファイルをCarbon APIコンパチブルとして利用するには、ソースの先頭に...
#define TARGET_API_MAC_CARBON 1
というコンディショナル・マクロを定義して、このプロジェクトがCarbon API対応であることをコンパイラに指示します。例えば、ソースファイルをひとつしか利用していないプロジェクトでしたら、ソースの先頭に上記の定義を記述しておけばOKです。
もっと良い方法は、CarbonPrefix.hという上記定義のみを記載したヘッダーファイルを作ります。これをCodeWarriorのIDEのSettingsダイアログの「C/C++ Language」のパネルで「Prefix File」として定義しておきます。
Apple社が提供しているCarbon化「SimpleText」のサンプルプロジェクトなどでは、この方法が取られています。
ところが、私などが開発している大規模プロジェクトでは、大量のヘッダーファイルをソースコードの先頭に記載するのを避けるために(コンパイルのスピードを上げるために)Metrowerks社が標準添付している「MacHeadersPPC」というPrefix Fileを利用しています。ですから、そうした場合には、このMacHeadersPPCファイル自身をCarbon対応としてプリコンパイルしておく必要があるわけです。このMacHeadersファイルは、Metrowerks CodeWarriorの以下のフォルダ内にある「MacHeaders.mcp」というプロジェクトをMakeして作成することができます。
MacOS Support/MacHeaders
プロジェクトをMakeすると、68K用やPPC用またはC++用など、ターゲット種類別に6つのMacHeadersファイルが作成されます。その内容は「MacHeaders.c」というファイルに記載されています。このソースコードで、でコメントで囲われていないヘッダーファイル(例えば#include
Carbon用のMacHeadersを作成する場合には、MacHeaders.cの先頭に、Carbon対応のコンディショナル・マクロを定義してMakeし直せばOKです。
ただし、このままMakeしてしまうと、以前のMacHeadersファイルを上書きしてしまいますので、とりあえず前のファイルは別フォルダに待避しておき、出来上がった新しいCarbon対応のMacHeadersファイルの方を「MacHeadersCarbon」等に名称変更して利用するのが最善です。多分、次回のMac OS X対応のMetrowerks CodeWarriorのバージョンには、Carbon対応のMacHeaders(Prefix File)が添付されると思いますが、それまではこうした自作MacHeadersで急場しのぐことにします。
最後は、Carbon用のリソースの話です。実はMac OS 8や9用のCarbonアプリケーションには特別なリソースは必要ありません。Carbon化されたアプリケーションをMac OS Xで起動する場合にのみ、リソースタイプ=’carb’、ID=0のリソースをアプリに付加しておく必要があります。
現状のMac OS Xでは、このリソースを添付しないと、CarbonアプリケーションでもClassic環境で起動してしまいます。ただ、この仕様が最後まで残るか(Appleにより残されるか)どうかは何とも言えないと思います。
次回は、古いソースコード(プロジェクト)をCarbon化する時の要点を簡単にまとめてみたいと思います。
関連リンク:オッティモ
カテゴリ:開発情報, Carbon/CF, 小池邦人のプログラミング日記
Open Transport 2.6に対応したSDKの配付が開始されている。SDKとしては、Open Tpt SNMP Developer、Protocol Developers、Remote Access SDK、Network Setup SDK、Client Developers、Module Developersの各フォルダがあり、それぞれ、ドキュメントやサンプル、ライブラリなどが含まれている。なお、Mac OS Xではネットワーク機能のベースがBSDとなり大きく変わるが、APIとしてはOpen Transportはサポートされる。ただし、古い形式のAppleTalkやMacTCPベースのネットワーク機能はサポートされない。
関連リンク:Open Transport SDK 2.6
カテゴリ:アップルからの開発資料, ネットワーク
Stepwise.comで、WebサーバApacheの最新版1.3.12をMac OS X Serverにインストールする方法がすでに公開されているが、WebObjects 4.5のアダプタを適合させる方法が書き加えられた模様だ。Apacheのインストールから、WebObjectsのアダプタの更新方法が、入力するコマンドとともに説明されている。
関連リンク:http://www.stepwise.com/Articles/Workbench/2000-01-29.01.html
カテゴリ:サーバー関連, WebObjects, Mac OS X Server
日本語での技術情報提供を行うTech Info Library-Jで、ネットワーク関連の文書が公開された。アドレスと概要は以下の通りだ。
◇86028JC:AppleShare IP Web & File 6.3.2 について
http://til.info.apple.co.jp/cgi-bin/artnum?id=86028
AppleShare IPの最新版についての情報。
◇60513JC:Mac OS 9: 最新情報 - ナビゲーションサービス
http://til.info.apple.co.jp/cgi-bin/artnum?id=60513
ファイル選択でナビゲーションサービスが使えるが、Mac OS 9ではFTPへの接続も可能となった(ただし、ネットワークブラウザはできるが、通常のファイルを開くときのダイアログボックスではエラーとなる)。
◇60628JC:Mac OS 9: ファイル共有 - セレクタでコンピュータの IP アドレスを入力する
http://til.info.apple.co.jp/cgi-bin/artnum?id=60628
TCP/IPでファイル共有しているサーバに接続するには、セレクタであってもネットワークブラウザであっても、IPアドレスなどの入力が必要になる。通常、そのままサーバを指定するとAppleTalkによる接続となる。
◇58521JN:AirMac: 旧型の Macintosh 製品とのハード的な互換性について(修正)
http://til.info.apple.co.jp/cgi-bin/artnum?id=58521
旧製品はサードパーティ製品を使う。ベースステーションの管理はEthernetで接続できれば可能。
関連リンク:Tech Info Library - Japan
カテゴリ:Tech Info Library-J, ネットワーク, Mac OS 9
日本語での技術情報提供を行うTech Info Library-Jで、2000年6月30日に、別掲の記事以外に文書が公開された。アドレスと概要は以下の通りだ。
◇60661JN:Mac OS 9: Sherlock 2 を使ったフォルダ内容の検索
http://til.info.apple.co.jp/cgi-bin/artnum?id=60661
Sherlockのファイル検索では、特定のフォルダだけを検索することができる。フォルダを、ドライブ一覧のところにドラッグ&ドロップすれば指定できる。
◇60488JN:Mac OS 9: FontSync でフォントを一致させる
http://til.info.apple.co.jp/cgi-bin/artnum?id=60488
FontSyncプロファイルの作成や、比較の方法などを説明している。
◇60617JC:Mac OS 9: 標準フォーマットの場合、インストール時に空き領域が足りない
http://til.info.apple.co.jp/cgi-bin/artnum?id=60617
表題の通りで、拡張フォーマットを行って対処する必要がある。
◇100393JO:PowerBook: バッテリ調整について
http://til.info.apple.co.jp/cgi-bin/artnum?id=100393
Macintosh PowerBook Duo 2300c、Macintosh PowerBook 5300 シリーズ、Macintosh PowerBook 1400 シリーズで利用できる「バッテリ調整」アプリケーションについての説明
◇60466JN:Mac OS 9: Arabic Setting コントロールパネルとデフォルトの Arabic フォント
http://til.info.apple.co.jp/cgi-bin/artnum?id=60466
Arabic Languageでは、英語の表示は割り当てられたRomanフォントを利用する。
◇60521JN:Mac OS 9: 新着情報 − Multilingual Internet Access 2.0 と Language Kit
http://til.info.apple.co.jp/cgi-bin/artnum?id=60521
マルチ言語対応についての基本的なことがまとめられている。利用できる言語名が一覧されている。
◇100388JO:AppleWorks 6: ヘルプの内容に関する修正点(修正)
http://til.info.apple.co.jp/cgi-bin/artnum?id=100388
スタートポイントにネットワーク文書を追加する方法や、クリップ集を追加する方法など、ヘルプの内容の訂正。
関連リンク:Tech Info Library - Japan
カテゴリ:Tech Info Library-J, Mac OS 9