Macintosh Developer Online (MDOnline)


2000年11月13日発行号 - MSM2000開催



MOSAのミーティングはいろいろな方々とお話ができてとても有意義でした。本日の号は、特別号(というほどのものでもないですけど)として、ミーティング出席者の中の希望者の方々に無償でもお届けしています。購読のお申し込みをされる場合には、以下のアドレスでお願いします。
http://cserver.locus.co.jp/mdo.html

また、ミーティングの内容について、私が出席できたものは、かなりメモっぽいものになりますが、その内容を記事としてお届けします。会社等に報告書が必要な方々は、うまく御活用ください。

さて、近々、おそらく数日中になるかと思いますが、WebObjects界で有名な倉橋さんの連載をMDOnlineで開始します。シリーズタイトルは次の通りです。いろいろなところで倉橋さんは講演もなさっていますが、根底のテーマはWebObjectsはビジネスになるというところだと理解しています。WebObjectsで本格的に仕事をしたい人も、それを狙っている人も、WebObjectsになんとなく興味がある人も有意義な情報になるかと思います。
【倉橋浩一、じつはWebObjectsで飯食ってます】

それから、MOSAのミーティングの閉会のときに林さんもおっしゃっていましたけど、Developer Toolsの話題はもはや機密ではありません。機密にする意味もないのに、なぜか機密扱いだと言われていたのですが、解除されたことが確認されました。願わくば、「機密である」ことを明言したのだから、アップルさんの方から「機密でなくなりました」ということをアナウンスしてほしかったところです。さっそく、Project Builderなどの話題も積極的に取り上げるつもりでいます。
(新居雅行 msyk@mdonline.jp


【MTM2000-11 Nov】MOSA Software Meeting 2000が開催、Carbon開発に関する情報を講演

2000年11月11日、東京・初台のアップルコンピュータ本社で、MOSA(Macintosh OS Software Association)による「Macintosh Software Meeting in Shonan 2000」が開催された。Macintosh分野の開発者が年に1度集まる恒例の行事で、プログラミングに関する新しい話題がセッションで紹介されるなど、注目されるイベントである。
まず、MOSAの矢野会長および、アップルの服部課長からの挨拶の後、アップルの上田氏よりのADC(Apple Developer Connection)の案内が行われた。ADCはデベロッパ向けに情報提供やリソース供給を行うと共に、開発やテスト、マーケティングの支援を行う。無償のOnline、有償のSelect, Premier, Studentの4つのプログラムがある。SelectとPremierはシーディングとして開発中のソフトウエアを利用でき、東京にあるテスティングラボの利用ができる。そして、ADCのサイトの紹介があった。電子メールのアドレスは必ずきちんと入力されている必要があることも説明された。また、日本語でのメールや電話による問い合わせ先についても紹介された。
その後、アップルコンピュータのワールドワイドデベロッパーリレーションズの担当者より、詳細なセッションが行われた(別掲の記事で紹介)。セッションの内容はCarbon化が中心になっていたが、Project Builderなどの最新の開発環境についての実際のデモも行われた。セッションの後、アップル本社でのコーヒーブレークの後、バスに分乗して、湘南国際村センターに移動し、懇親会が開かれ、抽選会などで盛り上がった。深夜に向かい、あちらこちらでミーティングが繰り広げられている。
以下、MOSA Software Meeting 2000関連の記事は、タイトルに【MTM2000-11 Nov】と記載する。

カテゴリ:MOSA Softwre Meeting 2000


【MTM2000-12 Nov】Developer Toolsはもはや秘密ではない

2000年11月12日、MOSA Software Meetingの2日目が開催された。明け方までディスカッションを行う人も少なくないこともあって、10時始まりという余裕を持ったスケジュールで開始された。湘南国際村でのセッションは、2つないしは3つのセッションが並列で行われたので、すべてをお届けることはできない。筆者が参加したセッションと筆者自身のセッションの概要をお届けしよう。(セッション内容は別掲の記事で【MTM2000-12 Nov】をタイトルに付けて示す)
セッション終了後には閉会式があり、MOSAの林伸夫理事の挨拶があった。Mac OS XのDeveloper Toolsに関する情報交換をパブリックな場でしてもかまわないことをアップルの担当者に確認したということで、今まで機密だとされていた開発関連情報も公にしていいことを報告し、情報交換を活発にしようと呼び掛けた。その後、記念撮影を行い、2台のバスに分かれて帰路についた。
2日間に渡り、アップルやあるいはプログラミングの現場の人たちによるセッションが繰り広げられ、情報収集ができたという点はまず大きな収穫になったイベントだろう。しかしながら、そのことに加えて、いろいろな人たちと、夜中に、そしてセッションの合間、そしてバスの中などで話をして、親ぼくを深めると共に真剣なディスカッションなどもできるというのが、やはりこのイベントの1つの魅力であるとも言える。プログラミングは密室で個人的にやるものだが、やはり情報交換はいろいろな人と出会うことから始まる。日本でのMacintosh関連のプログラマ同志が集まる機会は数少ないだけに、MOSA Software Meetingは貴重な場を提供するものとなっていると言えるだろう。

カテゴリ:MOSA Softwre Meeting 2000


PalmOS向けのCodeWarriorの最新版が発売

メトロワークスはPalm OS搭載のPDA向けのソフトウエア開発ツール「CodeWarrior for Palm Computing Platform日本語版リリース6」を2000年12月8日から発売する。Mac OSないしはWindows上で稼動し、Palm OSの各バージョンに対応したソフトウエアを開発できる。開発言語はC/C++となっている。ビジュアルに画面設計ができるGUIレイアウトツール(Palm OS Constructor)に加え、統合開発ツール、コンパイラ、ソースコードレベルのデバッガ、Palm OSエミュレータ、Palm OSシミュレータ、ドキュメント、Conduit Development Kitなどが含まれている。Palm OS向けのソフトウエアの開発に必要なものが全て揃っている。価格は49,800円だが、リリース4以前からのユーザは28,000円、リリース6の英語版のユーザは10,000円でアップデートできる。30日間の無償テクニカルサポートが付属するが、それ以降は有償のサポートとなる(1回10,000円など)。

関連リンク:メトロワークス
カテゴリ:Palm & PDA


「ソフトウエア・アップデート」で文字が表示されない場合はアピアランスの設定を既定値に

Mac OS 9.0.4で、「ソフトウエア・アップデート」コントロールパネルのVer.1.2以前のものでは、アップデート可能なソフトウエアのリストがダイアログボックスで表示されたとき、チェックボックスはあるのにソフトウエア名などの文字が見えないという不具合があることがTech Info Libraryで紹介されている。「ソフトウエア・アップデート」はアピアランスに対応しており、大きなフォントのサイズを指定した場合にこの症状が出てくる。「アピアランス」コントロールパネルで英語版ならデフォルトのGeneva-10ptに設定すれば文字は表示されるようになる。

関連リンク:Mac OS 9: Software Update Control Panel Lists Are Unreadable
カテゴリ:Knowledge Base(旧TIL), Mac OS 9


iToolsにログインできない時の対処方法

Mac OS 9でiToolsを使う時に、ログインをするときにすでにソフトウエアをインストールしたのにもかかわらず、インストールを再度行うようにメッセージがでる場合の対処方法がTech Info Libraryに掲載された。Internet ExplorerとNetscape Navigatorに分けてチェックポイントが記載されている。たとえば、Internet ExplorerではVer.5以降のものであるとか、iToolsのインストーラをSherlock 2で検索して確実に削除しておくなどが記載されている。

関連リンク:iTools: Repeated Requests to Install; Cannot Log In
カテゴリ:Knowledge Base(旧TIL), ネットワーク, Mac OS 9


Webスクリプト言語のPHP専用のエディタなどがリリース予定

Infinity Softwareは、Webページ作成で利用できるスクリプト言語PHP向けの開発支援ツールを開発している。PHPは、ApacheなどのWebサーバで利用できるスクリプト言語で、HTMLの中にPerlに近いような感じのスクリプト言語でプログラムを記述し、ダイナミックなHTMLページを生成できるようにする。各種のデータベースエンジンへの接続が可能な追加モジュールが作成されており、データベースと連動したWebページ作成でよく利用されているい。まず、フリーソフトとして「PHP Time」をリリースしたが、PHPでの時刻表示を指定した形式で行うようなステートメントを自動的に生成すると言ったものだ。Mac版とWindows版がある。また、開発中のソフトとして、PHPの向けのエディタ「PHP Works」も紹介されており、近日公開となっている。PHPはMac OS X ServerのiToolsなどでも利用できるスクリプト言語であり、Mac OS Xでも利用できる見込みだ。PHPを活用しているプログラマは要のツールだろう。

関連リンク:Infinity Software
カテゴリ:開発ツール, サーバー関連


【MTM2000-11 Nov】Mac OS Xの開発ツールのProject Builderは1から作り上げられた

アップルの森川氏より「Mac OS Xオーバービュー」と題した講演が行われた。Mac OS Xのリリースに至るまで経緯に続き、アーキテクチャーとして、Drawin、Graphics、Frameworks、System Applicationsとした階層を紹介した。Darwinによってメモリ保護やプリエンティティブマルチタスクを実現している。対称マルチプロセッサに対応したマイクロカーネルのMachとドライバフレームワークのI/O KitがDarwinに組み込まれている。また、カーネルにBSDも含めている。カーネルはドライバやKernel Extensionsによる拡張性も備えている。Graphicsは、最新の2Dグラフィックスやウインドウマネージャを持つQuartz、業界標準の3DテクノロジーであるOpenGL、ビデオやストリーミングのQuickTimeから構成される。Frameworksには、既存のToolboxを改良したCarbon、オブジェクト指向フレームワークのCocoa、そしてコアサービスやJava2、パッケージングの機能を含んでいる。System ApplicationにはFinderをはじめ、たくさんのアプリケーション群から構成される。
Mac OS Xのソフトウエアの開発ツールについての概略説明もなされた。まず、アップルがツールを提供するとともに、gccなどの標準ツールをベースにし、サードパーティとも協力するというのが基本方針としている。Project BuilderはNeXT時代からあるものだが、Mac OS X向けには1から作り直されたもので、さまざまなフレームワークに対応したプロジェクトをサポートしている。他に、Interface Builder、BSDのツール、WebObjectsなどのツールが利用できる。Mac OS Xへの移行手段としては、Mac OSのアプリケーションを動かすClassicのサポートや、Aquaが利用可能なJava2のサポート、そしてCarbon化を挙げている。

カテゴリ:Mac OS X, MOSA Softwre Meeting 2000


【MTM2000-11 Nov】互換性を持ちつつMac OS Xのメリットを利用できるCarbon

アップルの永松氏より「Mac OS X Carbonオーバービュー」と題した講演が行われた。CarbonはMac OS 8.1〜Xで働くAPIである。Mac OS Xの特徴として安定性などを挙げ、Mac OS 8/9のアプリケーションのいいところの両方を取るものとして、Carbonの意味があるとしている。Carbonを使うユーザの利点としてはメモリ空間をアプリケーションごとに用意することでの高い安定性を挙げた。0番のアドレスに書き込みを行うようなCのプログラムを実際に動作させ、他のプログラムに影響がないことを示した。プリエンティブスケジューリングとPowerPCネイティブによる高いパフォーマンスを実現している。また、ヒープが固定長ではないためにアプリケーションメモリの設定がなくなる点も利点として挙げられる。
Toolboxは大事なものだが、進歩のさまたげとなっていたとして、動作に問題のあるAPIを排除してCarbon APIが定義された。アプリケーションは95%は適合するものとした。ただし、Carbonはオブジェクト指向モデルではなく、再コンパイルの必要もある。デベロッパーにとっては1つのアプリケーションをMac OS XとMac OSの両方に対してリリースできるというメリットもある。また、Carbonは将来に渡って利用できることが保証されていることなども挙げられた。デベロッパーの生産性も向上するとして、デバッグ中にマシンがクラッシュしないとか、偶然に動くといったことない点も挙げた。
Carbon化においては、アプリケーションやプラグインはCarbon化するものの、ドライバなどCarbon化できないものもある。Carbon Daterで変更が必要な箇所を得る。Carbon SDKを入手する。まっ先にすることとして、68kのコードを使わないようにする。そして、構造体アクセスの部分などのコンパイルエラーをクリアしていく。こうした変更は、Mac OS X上ではPerlでプログラムを作り自動的に置き換えるようなことをすることも可能であることが紹介された。Window Manager Port、トラップマネージャはサポートされず、Carbon Event Managerを使う。印刷については、プリントマネージャをMac OSとMac OS Xで切り替える。固有のAPIやCarbonだけで利用できる新しいAPIもある。Carbonイベントにより、無駄なポーリングになり、コードは簡単でシンプルになる。ただし、Carbonイベントは必須ではない。実行オブジェクトとしてCFMとMach-Oを利用できる。CFMだとMac OSでも稼動するが、利用できない機能がある。開発ツールとしては、アップル製のツールとメトロワークスのツールがある。アプリケーションのパッケージについては、Finderで1つの項目として見えるようになる。アイコンも128ドットで32ビットのものが作成できるようになったが、開発ツールのIcon Composerによるアイコン作成のデモとそれを組み込んだアプリケーションをビルドすることが実際に行われた。自社のソフトをなるべく早くCarbon化して欲しいとした。
利用できるCarbonのバージョンは、Mac OS 8.1では1.0.4、Mac OS 8.6/9では1.xでCarbon Eventなどが追加される。Mac OS XはさらにAquaが追加される。

カテゴリ:Carbon/CF, MOSA Softwre Meeting 2000


【MTM2000-11 Nov】Carbonイベントの組み込みにより、効率的にMac OS X上で稼動させる

アップルのStephen Chick氏による「Mac OS X Carbonの詳細」と題したセッションが行われた。Carbonで新しく追加されたAPIであるイベント関連やメニュー、シートの概要が説明された。
CarbonイベントモデルはCarbonLib 1.1以降でサポートされ、WaitNextEventを置き換えるネイティブのイベントモデルとなっている。従来のイベントモデルと新しいイベントモデルは共存できるので、段階的に新しいイベントモデルに移行することができる。新しいモデルは、アプリケーションの設計を簡単にし、パフォーマンスを向上し、イベントモデルを統一化するものである。新しいモデルだと、デフォルトの動作がシステム側で定義されている。今まではイベントループの処理をWaitNextEventで処理をしていた。Mac OS Xではアプリケーションごとのイベントキューとイベントループがある。たとえばマウスをクリックするとイベントが発生するが、カーネルが反応しウインドウサーバに伝達される。そして、該当するアプリケーションのイベントループに伝達され、イベントキューに入るといった流れになる。WaitNextEventはCarbonでも使え、sleep値は尊重されるが、パフォーマンスについては注意が必要になる。WNEでは、イベントを1個取ってきてイベントハンドラに送信し、キューから削除するという一連の動作をくり返す。マスクの結果を見てキューを引っ張り処理を終了する。
一方、RunApplicationEventLoopはこれを実行するとアプリケーション終了までは帰ってこない。タイマーの機能を使うことによって定期的なタスクや時間待ちなどが実現できる。イベントを管理するデータ構造であるEventRefについても解説された。イベントのターゲットはイベントを受け取るところで、通常はToolboxのオブジェクトであり、イベントハンドラをスタック形式で複数持たせることもできる。イベントのターゲットは階層化されており、階層の末端から上位のものに対して伝達される仕組みになっている。
用意されているイベントはたくさんある。マウスイベントは、マルチボタンマウスに対応しており、マウスホイールやマルチクリックにも対応している。キー入力イベントについては、今までと違ってテキスト入力に2系統ある。キー入力とText Inputイベントの2つがある。キー入力では修飾キーだけの変更も分かる。Text InputイベントはUNICODE文字が得られる。インプットメソッドの処理結果だと文字列である場合もある。これは文字列のペーストとして扱うという方法もある。TSMのイベントを置き換えるものである。Carbonイベントはダイアログボックスでも使える。WDEF、CDEFもCarbonイベントで処理する。
Carbonイベントを受け取るには、ハンドラをインストールし、パラメータを取り出し、イベントハンドラへさらに伝達を行う必要がある。イベントの伝達はeventNotHandledErrを戻すと行われる。イベントの直接送付も行える。また、イベントキューはスレッドセーフである。カーソルのトラッキングはGetMouseではなく、TrackMouseLocationを使う。TrackMouseLocationでイベント処理がなされる。タイマーはNullイベントを使うのではなく、InstallEventLoopTimeを使うが、使い終わったらRemoveEventLoopTimeで削除しておく。
Mac OS Xの特殊メニュー項目についても説明された。アプリケーションメニューに「環境設定」「隠す」「終了」がある。なお、「サービス」はCarbonでは使えない。いずれの項目も、Carbonイベントで扱うようになっている。環境設定は、メニュー項目をアクティブにして、Carbonイベントで受けるようすればよい(Appleイベントでもいい)。実際にコードを追加して、Preferencesを選択して関数が呼び出されることをデモで示した。終了についてはCarbonイベントないしはAppleイベントで処理する。その他、たくさんの特殊メニュー項目として定義されている。
シートは実際には重なった2つのウインドウとして実現されている。シートはCarbonイベントに対応している必要がある。CreateNewWindowでシートを新たに作成し、イベントハンドラを登録して、ShowSheetWindow、HideSheetWindowで表示と消去を行う。シートアラートは、CreateStandardSheetで簡単にシートを作ることができる。詳しくは、CarbonEvent.h、シートについてはMacWindows.hとDialogs.hを参照するとよい。

カテゴリ:Carbon/CF, MOSA Softwre Meeting 2000


【MTM2000-11 Nov】Mac OS Xのさまざまなプログラムを作成できる開発ツール群

アップルの金子氏から「Mac OS X開発ツール」として、アップルが開発している開発ツールに関するセッションがあった。ツールはシーディングの権利のある人にCD-ROMとして配付するとともに、FTPサイトからも入手できる。ただし、それらは若干バージョンが異なり、FTPサーバにあるものはパリ版となっており、バージョンが違って少し古い。パリ版は英語モードで使う必要がある。また、インストール時には日本語ユーザモードでロックを解除する場合、1度失敗してもそのまま続けて行えばよい。また、デバッグの情報も異なっている。
ProjectBuilderが統合開発ツールである。実際にソフトウエアを動かしてのデモンストレーションが行われた。画面の操作やボタンなどが説明された。検索をそのまま実行すると、そのファイルだけを検索するので、複数ファイルを検索するにはインデックス作成をしておく必要がある。デバッグの様子も見せ、gdbのコマンド入力ができる点も示した。現状では、Mach-Oしか作成できず、CFMベースのものは作成できない。nibベースのCarbonアプリケーションの作成のデモが行われた。Interface Builderを使ってのウインドウなどを定義したもので、フレームワークとしてCarbonを使うようなものである。リソースについてはCarbonでも利用できる。自動的に[AppName].rsrc、Localized.rsrcはロードされる。
Cocoaのアプリケーション作成もデモされた。ウインドウをInterface Builderで開き、テキストフィールドとボタンを配置する。そして、処理を行うクラスをInterface Builderで作成する。クラスを定義して、OutletsとActionを追加する。そしてソースファイルを作成することで、それがProject Builderに登録される。Interface Builderでクラスのインスタンスを作成する。ボタンが押されたら定義したクラスのメソッドを呼び出し、Outletsとフィールドをcontrolキーを押しながらドラッグして結び付ける。そして、Interface Builderでテストができる。さらに、Project Builderでボタンが押されたときの処理をObjective-Cで記述して見せた。
なお、日本語環境ではシングルクオートの問題がある。日本語を含むファイルはUNICODEではなく、UTF-8で保存するようにする。
パッケージにからめてローカライズが簡単にできることがも説明された。FinderでアプリケーションのコンテキストメニューでShow Package Contentsを選択すると、パッケージの中身が参照できる。そこにResourcesフォルダがあり、English.lproj、Japanese.lprojがあり、それぞれ言語に応じたリソースが納められている。実行時には現在の言語設定に応じた定義が利用されるという仕組みだ。Project Builderから言語を追加できる。ソースに言語をともなう文字列がある場合、NSLocalizedStringなどを使う必要がある。そして、genstringsというツールでLocalizable.stringsというファイルが作成され、そこで文字列を記述する。
Project BuilderはCVSに対応していて、ローカルファイルでも、クライアントサーバでも利用できる。パフォーマンスツールとしては、メモリーリークを検知したりメモリ利用量を見るDebugMalloc、処理に時間がかかる部分を見つけだすSamplerなどがある。JavaやC、リソース関連のツールについてもどのようなものがあるのかが説明がなされた。

カテゴリ:開発情報, MOSA Softwre Meeting 2000


【MTM2000-12 Nov】Mac OS Xでプログラミングを始める

MOSAプログラミング道場の講師である高橋真人氏より「Mac OS X時代のMacintoshプログラミング入門〜プログラミング修行のすすめ〜」と題した講演が開催された。プログラミング初心者向けの内容として、まずはMac OS Xの階層イメージから説明がなされた。Aqua、Classi、BSDが上位に見えているのはユーザから見えているのがこれらの部分であるということだ。そして、Mac OS Xの登場に向かうまでの概略も説明された。Mac OS Xでのプログラミングをするメリットとして、モダンOS、広大なメモリ空間、プリエンティブマルチタスク、メモリ保護を挙げた。そして、C++で書かれた動的配列を利用するプログラムを実際に動かして、Mac OSでは巨大な配列を使う場合にそれに必要なメモリを割り当ておく必要があったが、Mac OS Xではそうしたことが不要になる点を説明した。また、1000ticksの間の無限ループするプログラムはMac OSでは応答しなくなるものの、Mac OS Xではループ中でも他のプログラムの作業ができることも、ソースプログラムを示しながら実演を行った。
Mac OS XのApplication環境を紹介した。ClassicやCarbon、Cocoaについての説明に加えて、Carbonの2つのイベントモデルについての説明も行われた。WaitNextEventはイベント取得と処理のぐるぐる回しなのに対して、Carbon Eventはハンドラが呼び出すという一直線の動作であると説明された。Javaの説明に加えて、BSDについても説明がされた。Terminalからコマンドを打ち込んで使えることも説明されたが、Finderから項目をTerminalのウインドウにドラッグ&ドロップすることで、フルパスを自動的にタイプ入力することができることをデモした。また、フォルダに.appという名前をつけるとアプリケーションになってしまい、同じ名前の項目が同一のFinderウインドウ上に出てくる点もデモされた。
さらにプログラミングの学習について、これからプログラミングを始める人向けに説明された。プログラミングは文系に向いていることや、個人指導で行うことが適していること、失敗と経験を積むことや弛まぬ努力が大切だというなどが話された。C言語についての説明があり、プログラミング界の英語であるなどとしたものの、「嫌らしい」とも表現した。さらにオブジェクト指向について、歴史は古いけど普及は今一つであるものの、Mac OS Xでより身近になったが、困難な壁があるとした。そして、高橋氏が開催しているプログラミング道場についての説明も行われた。そして、Mac OS 9でパッケージにしたクラリスワークスVer.4を、Mac OS Xにコピーしてもやはり1つのアイコンで見えることもデモした。また、アイコンの作成において、透明にした部分を持たせることで形状に応じたマスク設定ができることも、Photoshopでの作業も交えてのデモを行った。Project Builderでのアイコンの設定を説明し、アイコンファイルをプロジェクトに登録すると共に、Target設定のFiles & Build Phasesにあるところでアイコンファイルを指定する必要がある。

カテゴリ:Mac OS X, MOSA Softwre Meeting 2000


【MTM2000-12 Nov】Mac OS Xを「Java」から見る

MDOnlineの新居雅行による「Mac OS Xでの開発とJava言語」と題したセッションが行われた。Javaのこれまでの経緯を説明し、Mac OSでは結果的には弱いサポートだったものの、Mac OS XではJavaが中心的なトピックになった。Mac OS Xではいろいろな開発手法を取ることができるが、その中でも注目されているAppleのツールであるProject BuilderやInterface Builderも、Javaによる開発をサポートしている。また、Mac OS Xではパッケージ化されたアプリケーションであるため、Javaで作ったかどうかは利用者には見えず、どんな手法で作ったものも同じようにアイコンとして見えてダブルクリックで利用できるという利点もある。そのMac OS XでのJavaの世界を概観するために、次のような表を示した。つまり、実行場所がクライアントなのかサーバなのか、そして、動作をMac OS Xのネイティブな機能を使って行うのか、Sunによって定義されている標準のライブラリ(Pure Java環境)を使って行うのかということで、分類できるということだ。

          ネイティブ   Pure Java
――――――――――――――――――――――――――――――
スタンドアロン   Cocoa   Swingなど
クライアント            Javaのフレームワーク
――――――――――――――――――――――――――――――
サーバ     WebObject Servlet, JSP, EJB
――――――――――――――――――――――――――――――

CocoaではJavaによるプログラミングが可能だが、Objective-CのライブラリをJavaで使えるようになっている点から、メモリの管理を自分で行うなどの注意が必要になる。WebObjectsではJavaによるプログラミングが可能だが、Javaを使う以外の手法もあるので注意が必要だ。Pure Java環境としては、Java2 SDK相当品がMac OS Xに含まれているが、Project BuilderやCodeWarriorでも作成が可能だ。Swingを利用してAquaのルック&フィールを使うことで、Mac OS Xのユーザインタフェースにマッチしたものが作成できる。Pure Java環境は情報が多いことなどメリットもあるが、ライブラリにない機能を実現するのが大変になるなどのデメリットを理解する必要がある。さらに、Swingを使っても日本語の表示になどに問題があり、実行アプリケーションでうまく日本語が扱えない状況である。また、日本語がコンポーネントに含むと異様に処理時間を食うなど問題点も多い。結果的にMac OS XのJavaとなるとさまざな側面があるが、フレームワークをベースに評価することで整理することができる。

カテゴリ:Java, MOSA Softwre Meeting 2000


【MTM2000-12 Nov】WebObjectsはビジネスになる

テクニカル・ピットの倉橋浩一氏による「WebObjectsで稼ぎましょう」では、WebObjectsの利点などを中心に、実際のデモを交えての講演となった。WebObjectsのツールについての説明がまずあり、WebObjects Builderは、HTMLをオブジェクトとして扱うHTMLエディタであり、ダイナミックエレメントの管理を行い、ソースコードテンプレートの作成を行う。プログラミング言語としては高速処理な可能なObjective-C、インターネット標準言語のJava、柔軟性の高いWebScriptが利用できる。クラスライブラリの一貫性が高く、ソート条件などのさざまなものがオブジェクトの配列として定義されている。オブジェクト指向のデータベースとして、EOFがあり、本来はデータベースを利用していたものをWeb向けにしたものである。データベースにビジネスロジックを埋め込むことができる。
デモに移り、eコマースサイトとして作られたものを実際に見せた。データベースからのデータの取り出しや、データベースからの検索、ドロップダウンリストなどが簡単にできることを示した。
WebObjectsによってかせぐことが可能なテーマとしてeコマースを挙げ、マルチCPUによる運用が可能になるスケーラビリティの高さや、安定した運用が可能である点を説明した。WebObjectsはいちばん古いものであり、運用実績がある。運用ツールとしてのMonitorによって機種構成の設定をしたり、異常終了アプリケーションの再起動などができ、長期間の安定した運用が可能となっている。
eコマースに必要な機能は次第に増えてきている点を説明し、そのなかに絶対必要な機能を含めたeコマースサイト構築ツールを紹介し、基本部分を30分で構成できるとした。その後、質疑応答などで、基本的な質問から、実際的なシステム構築にかかわることまでも含めて時間いっぱいまでやりとりが行われた。

カテゴリ:WebObjects, MOSA Softwre Meeting 2000


【MTM2000-12 Nov】Mac OS Xで稼動するCarbonアプリで直面する問題点と解決策を披露

オッティモの小池邦人氏による「新ToolBox100の定石」としてセッションが行われた。「ToolBox100の定石」と言えば、アスキーから出版されていた小池氏による著者で、古くからのMacintoshプログラマにはおなじみのタイトルだ。Carbonの概略を説明し、ゴールデンマスターとなっているCarbonとしてはVer.1.0.4があり、これ以前のVer.1.0系統のものは問題が多いのですぐにバージョンアップすべきだとした。そして、Ver.1.1が正式版になる前にVer.1.2の開発版になるなど、バージョンが混乱している点を指摘した。最新のVer.1.2のCarbon Porting Guideというドキュメントや、Mac OS Xへの以降のためのテクニカルノートは読む必要があるものである。
CodeWarriorがVer.6になって、Carbon対応になった。PowerPlantのCarbon化によって、アプリケーションのCarbon化も促進されている。Carbon化のためにヘッダなどを変更してしまうと元に戻せないので、それぞれのバージョンのヘッダなどを残しておいて、プロジェクトの設定でうまく切り替えるようにするのが良いと説明された。
そして、Carbon化を実際に行ったJPEGファイルの表示のためのアプリケーションを示し、ライブラリがCarbonLibだけになることを示した。そして、Mac OS 9とMac OS Xのそれぞれの環境で実際にアプリケーションを稼動して、動作を説明した。ソースコードが配付されていて、それを見ながらCarbon化のポイントを説明した(内容は、MDOnlineでの小池氏の連載で説明された内容だ)。また、ボタンコントロールの配置が重なってしまうなどの実際の動作の問題を、実際に稼動しているアプリケーションを使っての説明を行った。また、System 6時代に作ったコントロールを自分で作ったようなダイアログボックスでは、Mac OS Xでも白黒のボタンが出てくるなどの特殊な事例も説明した。また、1ビットのマスクの問題についても実例を示しながら説明を行った。

カテゴリ:Carbon/CF, MOSA Softwre Meeting 2000


PowerMac G4 Cube/Gigabit Ether G4のパーツ設置や交換方法をムービーで紹介

Customer-Installable Part(CIP)とは、メモリやハードディスクのなどの取り付けや取り外し可能なパーツだ。CIPの取り付けの方法などが紹介されたページがAppleのサイトで参照できるようになっている。単に方法を文書で説明するだけでなく、実際に作業を行っている場面のムービもWebブラウザで参照できる。解説文書としてはPDFが掲載されており、多くのパーツに対してムービーも用意されている。PDFは印刷しておくためを考慮したものだろう。設置したり交換する場合には、不適切な作業で破損などを行わないためにも、まずは一読することをお勧めする。コネクタなどの抜き差しの説明は言葉で説明されても力の入れ具合などはなかなかピンと来ないが、ムービーで見ることで作業のコツもより伝わりやすい。

◇Power Mac G4 Cube
 http://www.info.apple.com/support/cip/g4cubecip.html
掲載内容:AirPort Card、Battery、Computer Enclosure、Hard Drive, ATA、Memory、Power Button Gasket

◇Power Mac G4 (Gigabit Ethernet)
 http://www.info.apple.com/support/cip/g4cip.html
掲載内容:Battery、ATA Hard Drive Cable、SCSI Hard Drive Cable、Airport Card、Ultra 160 SCSI Card、Video Card、DVD-ROM/DVD-RAM Drive、Hard Drive, ATA、Hard Drive, SCSI、Zip Drive、Memory、Modem

関連リンク:Customer-Installable Part
カテゴリ:Power Mac


PowerBookのパーツ取り付けをムービーやPDF説明するページ

PowerBookのCIP(Customer-Installable Part)のページが参照できるようになっている。いずれの機種でも、メモリの説明があるが、FireWire搭載のPowerBookではAirPort Card、Battery、DVD Drive、Keyboardの説明も加わっている。

◇PowerBook G3 Series (Bronze Keyboard)
 http://www.info.apple.com/support/cip/PB-BKcip.html

◇PowerBook G3 Series
 http://www.info.apple.com/support/cip/PBG3cip.html

◇PowerBook (FireWire)
 http://www.info.apple.com/support/cip/pbfwcip.html

関連リンク:Customer-Installable Part
カテゴリ:PowerBook


iMacのパーツ取り付けをムービーやPDF説明するページ

iMacのCIP(Customer-Installable Part)のページが参照できるようになっている。いずれの機種でも、メモリの説明だけがある。

◇iMac (Original)
 http://www.info.apple.com/support/cip/imacORIGcip.html

◇iMac (Slot-Loading)
 http://www.info.apple.com/support/cip/imacSLcip.html

関連リンク:Customer-Installable Part
カテゴリ:iMac


iBookのパーツ取り付けをムービーやPDF説明するページ

iBookのCIP(Customer-Installable Part)のページが参照できるようになっている。Airport Card、Battery、Keyboard、Memoryに関する説明が掲載されている。

◇iBook, iBook (FireWire), iBook Special Edition (FireWire)
http://www.info.apple.com/support/cip/ibookcip.html

関連リンク:Customer-Installable Part
カテゴリ:iBook