Macintosh Developer Online (MDOnline)


2001年12月10日発行号 - MSMが好評のうちに終了



MOSAのSoftware Meetingに出席されたみなさん、おつかれさまでした。今回は拡張子の話がアップルの方のセミナーで出てきましたけど、その後はけっこうみんなで議論をしましたけど、それも含めてなんだかマック的な盛り上がりがMac OS Xの開発の世界に戻ってきたという気がしました。やっぱり、UNIXってことが前面に出てくると、マックの開発者としてはある意味で畏縮せざるを得なかった面もありますけど、Mac OS X 10.1の登場で、枠組みがぐっと“マックライク”な世界に引き戻されたという気がします。いや、引き戻されたというよりも、旧来のマック、そして、新しいUNIXなどの世界、最近のネットワークの世界などがMac OS Xでまとまりのあるノリを出してきたのかもしれません。昔に戻ったというよりも新しい流れができてきたのでしょう。今のMac OS Xでデベロッパーあるいは開発に関わるとういことは、そうした流れを自分で作るということでもあります。そんな現場を肌で感じるイベントになったのではないでしょうか。今回のMSMは具体的に何かあったということよりも、ある意味では伝説化されるかもしれませんね。
それで、みなさん気になる「デベロッパーからの10の提言」についてですが、今、小池さんの方で、一生懸命まとめられています。「ゴミ箱を出せ」をどうするか、悩んでいるかとは思いますが(笑)、もちろん、MDOnlineではまとまったら早急に記事をお届けします。また、何らかの形でAppleへも直接伝達しようということになっていました。
(新居雅行 msyk@mdonline.jp


【MacWIRE配信予定】MDOnline Digest》2001年12月第2週のMDOnlineから

――――この原稿は、MacWIRE様に掲載していただくための原稿で、MDOnline読者様向けにはすでに周知の事実も含まれていますが、あらかじめご了承ください。

Macintosh関連の開発情報や技術情報をお届けしている有償の日刊メールマガジン「Macintosh Developer Online(MDOnline)」で、2001年12月第2週にお届けした内容のダイジェストを紹介しよう。この週末にはMOSAのミーティングがあり、やや変則的な発行となっているが、MOSAのミーティングの話題を含めてお届けする。また、今週からは、MDOnlineからMacWIREに供給される記事の数が大幅に減少している。MDOnlineの有償購読者は過去の記事も参照できるので、御覧になりたい方はご購入を検討していただきたい。

まずは、2001年12月8〜9日に行われた、「MOSA Software Meeting in Shonan 2001」についてイベントの詳細をお届けした。MOSA(Macintosh OS Software Association)は、Macintosh関連の開発者団体であるが、今回のイベントは泊まり掛けで2日間、プログラミング関連のセミナーを行い、さらには参加者との親ぼくを深めるいちばん大きなイベントでもある。今年は85名の参加者となり、市場の冷え込みが懸念される中、開発者の熱意は変わらないレベルであることも示したものとなった。初日はアップルからのセミナー、2日目はMOSA関係者を中心とした講師によるセミナーとなったが、初日の夕食時には、プログラムコンテストの発表会が行われ、その後には大谷和利氏のキーノートセッションもあり、盛り沢山なイベントとなった。

2001/12/9●MSM2001》MOSA Software Meetingが開幕
2001/12/9●MSM2001》初台会場の締めでは、Appleのディレクタからの挨拶も
2001/12/9●MSM2001》懇親パーティとコンテストの受賞者発表
2001/12/10●MSM2001》市場が冷え込むも例年を超える参加者を集め今後の盛り上がりも期待

2001/12/9●MSM2001》キーノート「デジタルハブの希望とiPodの野望」
2001/12/9●MSM2001》「Mac OS X 10.1アップデート」
2001/12/9●MSM2001》「ヒラギノアップデート」
2001/12/9●MSM2001》「Aquaユーザエクスペリエンス」
2001/12/9●MSM2001》「Mac OS Xアプリケーションのデプロイメント」
2001/12/10●MSM2001》「初級を脱出!ちょっと進んだWebObjects」
2001/12/10●MSM2001》「Mac OS X 10.1のヒューマンインタフェースとその実装」

この週は開発ツール関連でも大きな動きがあった。Mac OS XでのAppleScriptによるプログラム開発を大きく前進させると思われる「AppleScript Studio」のドキュメントが公開され、どんな環境なのかがつぶさに見られるようになった。また、Cocoaドキュメントが大きく更新されていたり、Quartzのリファレンスが公開されるなど、待たれていたドキュメントも登場している。

2001/12/6●AppleScript Studioのドキュメントが公開、Cocoaベースでのスクリプトプログラム開発ツール
2001/12/6●Cocoaの開発者向けドキュメントが大幅に改定
2001/12/4●QuartzのAPIリファレンスが公開
2001/12/4●Inside Mac OS XシリーズやQuickTime APIリファレンスなどが書籍として発売

一方、一般ユーザにとっての大きな話題は、Microsoft Office v.X for Macの発売日が公表されたことである。また、プレス向けには製品が供給されたこともあって、実際に使った上でのレビューを書くことができる状態になった。プレス向け説明会の様子に加え、さっそくマクロ機能を検証してみた。

2001/12/5●Office v.X for Macは2002年1月後半に発売、特別アップグレードも
2001/12/5●Mac OS XネイティブなOffice製品に関する説明会が開催
2001/12/7●Microsoft Office v.X for MacのVisual Basicの機能は前バージョンと変わらず

連載のコーナのうち、大津真氏の「XはUNIXでサーバで」では、JavaのServletやJSPの実行環境であるTomcat4をMac OS Xにインストールして稼働させる方法具体的に説明している。また、Java Watch on the Xのコーナでは、前の週に紹介したプロセス実行やAppleScriptの実行に関する補足説明で1本の記事をお届けした。

2001/12/7●大津真=XはUNIXでサーバで》Tomcat4のインストール
2001/12/6●Java Watch on the X》3 - プロセス実行についての補足

★MDOnlineは、ローカスが発行するオンライン情報メディアで、日刊のメールマガジンを中心に、Macintoshの開発情報や技術情報をお届けしている。過去の記事はWebサイトですべて参照できるようになっている。Mac OS Xの話題を積極的に取り上げるとともに、Knowledge Baseの公開情報を要約するなどAppleからの情報をフォローし、開発ツールやシステム関連ユーティリティなどのサードパーティ情報も扱う。購読料は有償で、年間8,000円、半年5,000円、1か月1,000円(消費税込みの基準価格、支払い方法により金額が増減する)。購読はWebページから申し込むことができ、郵便振替、クレジットカード(QQQシステム)、WebMoneyや(プリペイドカードやクレジットカードでのオンライン購入)での支払いに対応している。
Macintosh Developer Online

カテゴリ:MDOnline Digest


MSM2001》市場が冷え込むも例年を超える参加者を集め今後の盛り上がりも期待

第8回MOSA Software Meetingの2日目、2001年12月9日は好天に恵まれ、会場からは遠方に富士山がくっきりと見え、すがすがしい朝を迎えた。もっとも、朝まで激論していてへとへとの人も少なからずいたのだが、いずれにしてもその後はセミナールームでこもって、しっかりとMac OS Xのプログラミングなどを学習することになった。
3つのトラックが並行して実施され、午前、そして午後に2セッションが開催された。合計9つのセッションが開催されたが、そのうちの2つについては、別掲の記事で紹介しよう。また、筆者担当したセッションについては、「今から始めるCocoaプログラミング」のコーナーでさっそく内容を何回かに分けて解説を行いたい。
最後に、MOSA副会長で今回のイベントの実行委員長でもある岩田勇氏より話があった。最終的には80名を超える参加あり、Macintoshの市場も冷え込む中、例年以上の参加者あったことを報告し、開発の世界での盛り上がりを強調した。また、一時期はiMacによるシェアの拡大があるも最近は後退が見られているが、現状の台数シェアを本来のMacintosh市場であるとして、そうしたサードパーティデベロッパが受け入れられる市場としては決して浮き沈みがなく、これからも十分に成果が求められるだろうと話した。また、Mac OS Xの盛り上がりや今後の新機種による需要増も見込めることから、今後は明るいという見通しを示した。

カテゴリ:イベント


MSM2001》「Mac OS X 10.1のヒューマンインタフェースとその実装」

2001年12月9日には、快技庵の高橋政明氏による「Mac OS X 10.1のヒューマンインタフェースとその実装」の講演が行なわれた。その内容をお伝えしよう(高橋氏は、コーシングラフィックシステムズに10月末まで在籍していた)。
まずはMac OS Xのアプリケーションアイコンについての説明が行われた。アイコンとしては128×128ドットのアイコンが必要になる。アイコンの作成ツールはいくつかあるが、高橋氏はIcongrapherを使っており、自由に拡大や縮小ができる点が便利だと説明した。ジャンボルーペのアイコンを作るときに、実際の虫眼鏡をスキャナーでスキャンして利用したことを紹介した。アプリケーションにアイコンを付ける方法として、アイコンファイルをプロジェクトに追加し、アプリケーション設定でファイルを追加することが説明された。
続いて、nibファイルを利用した各言語の対応についての説明が行われた。Project Builderのテンプレートとして用意されているCarbonアプリケーションについての日本語化の方法が説明された。既存のテンプレートに日本語のリソースファイルを追加し、それをInterface Builderで起動して、新規に日本語のリソースを用意して、テンプレートの内容に統合する方法がデモして示された。これにより、最初から日本語化されたプロジェクトが利用できることになる。
さらに、Mac OS X 10.1対応として、Dockアイコンを状態により変化させる方法の話が行われた。Appleから配付されているTilerというサンプルプログラムを示し、Dock上に表示される画像の様子を説明した。そして、ソースの解説も行われ、Dock上に描画する部分やイベント処理などを説明した。また、Dockメニューの作成方法についても説明され、サンプルプログラムのDockメニューにサブメニューを追加するといったことが実際にデモが行われた。Dockのメニューには自動的に追加される項目があるが、それらにさらに項目を追加することになる。なお、Dockメニューだけしか操作できないようにするのは好ましくなく、通常のメニューあってよく使う機能をDockのメニューに入れるようにすべきだと指摘した。Dockは隠すこともあり得るので、Dockからしか得られない操作やDockにしか表示されていない情報があるという情報は避けるべきだとした。
続いて、サービスメニューへの対応についても解説された。10.1ではCocoaとCarbonでの違いがなくなり連係もできるようになった。これも昨日のアップルからのセッションでも概要が説明されているのだが、資料やCarbonイベントでの実装方法などの概略が説明された。実際に作ったサービスを利用するサンプルプログラムをもとにして、ソース作成のポイントを説明した。サービスメニューを選んだときにやってくるイベントに対応して、やり取り可能なデータを戻す部分の詳細を説明した。サービスの提供を行う
Dockのアイコンのジャンプについても説明があった。アプリケーションがバックグランドになっているときに行われ、Dockが隠れていてもアイコンが飛び出す。Cocoaでのアイコンのジャンプの方法が説明された。
さらに、Mac OS Xらしいアプリケーション、つまりヒューマンインタフェースのガイドラインに絡んだ話題も話された。Good Better Bestに区分けされた対応状況のシナリオを示す図を示しながら、そこに書かれている内容を説明した。ヘルプタグは、マウスがポイントしたオブジェクトの短いヘルプメッセージを表示するもので、nibファイルの編集作業で簡単に付加できる。Appleが示したシナリオにはないものとしてはツールバーがあるが、ツールバーのサンプルを示して説明が行われた。ツールバーのボタンなどがCommandキーを押しながらドラッグして移動できたり、カスタマイズができるもので、ここまで対応するとMac OS Xらしくなると説明された。
続いて、Mac OS Xの進化の方向についての考察が行われた。新しいユーザインタフェースが登場するかどうかはなんとも言えないが、ユーザがカスタマイズできる部分は増えるだろうとした。10.1まではきちんと使えるようにするために努力していたが、それも落ち着いてきており、その後はニーズに対応できるようなカスタマイズを可能にしてくることが予想できるとした。以前はAppleメニューがどまんなかにあって選択はできなかったが、それは改善された。シートが透けて見えるというのは、一時的なものであることを示すということであるが、ユーザとしては非常に見づらく裏が透けた紙が見づらいのと同じだが、そうした点をカスタマイズしてほしいと話した。また、メニューバーの右側にメニューを追加する方法についてもAPIとして公開してほしいとの要望も出された。また、ユニバーサルアクセスの機能は米国でのリハビリテーション法改正にともなっての対応でもあることを説明した。さらに、多様性を持たせるためにも従来の機能の復活が望まれるとした。たとえば、アプリケーションメニューの復活が挙げられる。また、「システム環境設定」のアプリケーションがSystem Preferencesといった矛盾を好ましくはないと評価した。最後に、今後も機能が増えることが想定されるが、それに対応していく必要がデベロッパにはあるだろうとして締めくくった。

カテゴリ:ユーザインタフェース, イベント


MSM2001》「初級を脱出!ちょっと進んだWebObjects」

「初級を脱出!ちょっと進んだWebObjects」として、千明社の倉持哲也氏からの講演が行なわれた。この講演は、一定以上のWebObjectsの知識を前提としたものとなっているため、まず最初にどの程度の知識を「初級」とするのかといった説明が行われた。そして、映画のデータベースで、制作スタジオやタレントなどを管理するタイプのアプリケーションを題材に話がすすめられた。実際のアプリケーションの使い方を示し、さらにプロジェクトの内容を説明した。すでにいくつかのページが作られており、カスタムEOFコンポーネントを使っている。
まずは、選択した項目のリレーションシップ先のレコードを表示する方法の説明から開始された。そこでの問題は、選択した結果のデータをどのように受け渡しするかといったことだ。1つの方法は、セッションに必要なデータを設定するという方法である。プログラムの見通しが良くなるが、複雑なアプリケーションの場合はセッションにセットしたデータがnullになることもあり得るので、それを考慮しなければならないこともある。別の方法として、移動先のページで表示用のデータを受け取るメソッドを用意しておくという手段である。シンプルだが、コーディングの量が増えてメンテナンス性が悪くなる可能性がある。今回はセッションを使った受け渡し方法を説明する。
まず、リレーションシップ先の表示するコンポーネントを作成する。そして、Sessionに選択していたデータの受け渡しをし、値をセッションに保持するためのメソッドを追加する。そして、sessionの中で選択しているデータを参照できるようになり、コンポーネントにバインドすることでWebページ内で利用できるようになる。そして、サブミットボタンをクリックしての処理を組み込むのであるが、マルチプルサブミットの設定が忘れがちであることも指摘していた。また、コンポーネントのコンストラクタで、WOContextの引数が必要だが手作業でのタイプが必要になるということも指摘した。コンストラクタでは、1対多のためにNSArrayが戻される。
続いて、WOComponentの再利用についての解説が行われた。レコードの編集画面と追加画面で同じ画面要素を共通に使うという方針を実現する。再利用するコンポーネントでは、ページのインスペクタでPartial documentを選択しておく必要がある。コンポーネントの設計では、ポップアップメニューから特定のテーブルの内容を表示したいが、ポップアップメニューでの一覧表示をすることと、選択された値をセットすることが必要になる。APIエディタを使って外部に公表するキーを指定し、コンポーネントをページに設定する。そして、インスタンス変数を定義してバインドするという手順となる。さらに、同じコンポーネントを使ってレコードを追加するページの作成も説明された。追加では、一覧表示のディスプレイグループに対してレコードを追加する方法をソースを示して解説した。
次に、入力データの検査の方法が説明された。フォーマッタクラスを使う方法、Validationを使う方法、コンポーネントに直接ロジックを実装する3つの方法がある。dataFormatというアトリビュートに設定した情報に応じてデータを検査することができる。ただし、問題もあるので正しくない値であった場合の例外処理メソッドをオーバーライドして処理を組み込む方法が解説された。EOValidationについては、カスタムクラスに指定のメソッドをオーバーライドして記述するが、Ver.4.5からVer.5で変更された部分であり、必要な記述を行う方法の説明も行われた。
なお、時間の関係で説明はできなかったが、セミナー参加者に配付された資料では、画像データを利用する方法も詳細に記載されていた。また、セミナーの参加者限定で、実際に作成されたプロジェクトを提供するということも説明された。

カテゴリ:WebObjects, イベント