株式会社エルゴソフト
Mac OS X v.10.4に標準で付属し、デペロッパ向けに無償でダウンロード配付されているXcodeは、主にプロジェクト管理やソースコードの編集、デバッグに利用されるほか、関連する開発ツール/機能へのアクセスを提供しています。バージョン2.1でUniversalアプリケーションをサポートし、最新のバージョン2.4では64ビットCPUを搭載するIntel搭載Macでの開発に対応しました。
業界標準のオープンソース技術に基づいたXcodeでは、Mac OS Xの基盤となるUNIXの開発ツールやシェルツール、CVSといったツールを活用できるなど、デファクトスタンダード化されたオープンソースならではの見通しのいいプロジェクト管理を簡単に導入することができます。統合開発環境としてのXcodeについて、廣瀬氏はこう評価しています。「インターフェイスがMac OS Xと統一されていて、ドキュメントやリファレンスの参照が容易にできる。多面的にパフォーマンス評価ができるツール群が揃っている。コンパイラのGCCを常に最新の状態で利用できるのもいいですね」。
必要なツールを合理的に統合したXcodeによるプロジェクト管理は、Universalアプリケーションの開発を強力に推進するだけでなく、Mac OS Xの基本的なアーキテクチャや最新テクノロジーを取り入れながらOSのバージョンアップにも素早く対応できる、といったメリットも生みます。
使いやすい開発環境とオブジェクト指向のCocoaフレームワークによって、egword Universalでは開発期間を大幅に短縮することにも成功しました。
Xcodeのプロジェクト内から起動できるInterface Builder。ガイドラインに沿ってウインドウ上にGUIパーツを配置し、属性を設定しながらユーザインターフェイスが簡単に作れます
Xcodeの代表的な開発ツール「Interface Builder」は、あらかじめ用意されているボタンやチェックボックスなど、GUIパーツをマウスで配置するだけで、Mac OS Xならではのグラフィカルインターフェイスを簡単に構築できるのが特徴です。従来の開発環境では、ひとつの設定ダイアログを作る場合でも相当数のコードを書いたり、インターフェイスをデザインするためにGUIパーツの位置を正確に計測しながら作業する必要がありました。しかし、Interface Builderを使えば、ガイドラインに沿って最小限のステップでユーザビリティの高いインターフェイスが作成できます。
オブジェクト指向のCocoaでは、基本的な仕様に沿って制作を進めながら、必要に応じてアイデアや機能を柔軟に追加できる「ラウンドトリップ型」の開発スタイルも大きなメリットになります。「開発スピードは従来と比べて劇的に速くなりました。ただ、早く完成したから早くリリースする、という訳ではありません。短縮できた時間は、アプリケーションを動作させて評価する作業にあてることができます。egword Universalでは仕様を見直したり、アイデアを盛り込む十分な時間があったからこそ、ここまでユーザビリティを高められました。開発スピードが速いXcodeとCocoaの環境は、結果的に新しいアイデアも素早くカタチにできるんです」(廣瀬氏)。
egwordの開発プロジェクトマネージャーを担当したソフトウェア部シニアリーダー荒野健太氏は、egword Universalで初めてXcodeとCocoa環境での開発を行いました。「初めは従来の考え方に囚われて無用なコードを書いてしまいがちでしたが、Cocoaはコードが少ない上に、いろいろなアイデアを試しながら追加したり、簡単にやり直すことができる。納得がいくまで試行錯誤できるので、新しい開発環境にもすぐに馴染むことができました」。ユーザインタフェースの制作を簡略化し、ラウンドトリップ型のアプリケーション開発のよさが生かせるCocoaでは、同じ開発期間でも従来より高いアプリケーションの完成度が見込めるようになり、それを支える開発ツールやプロジェクト管理をXcodeが提供しているのです。
Mac OS Xの先進的な機能を利用するには、思い切って過去の資産を捨てるくらいの勇気も必要でしょう。
egword Universalの軽快なスピードも、Cocoaがもたらした恩恵と言えます。ここで興味深いのは、Cocoaで使用する言語「Objective-C」自体がパフォーマンスに大きく貢献しているのではなく、開発期間の短縮や柔軟な開発スタイルなど、Cocoaのさまざまなメリットの相乗効果によってプログラム全体の品質を大幅に向上できた点です。
開発室で作業をおこなう廣瀬氏(右)、荒野氏(左)
「そもそもIntel搭載Macが速いという理由もあるのですが、新しい開発環境ではソースコードを徹底的にチューニングすることができます。その結果、開発当初に予想していた以上にプログラム全体が速くなりました」(廣瀬氏)。
一方、Cocoaのクラスライブラリにパッケージされ、開発に必要な基本的なクラスを提供するコア・フレームワークのFoundationと、ユーザインターフェイスやグラフィック関連のクラスを提供するApplication Kitもプログラムの品質向上に影響しました。たとえば、「0番地(null object)」にアクセスしても落ちないなど、Mac OS Xの内部でも使われているFoundationは堅牢な構造でクラッシュが少なく、Application Kitは画面上の描画など細部の処理を効率化できます。「Xcodeが使いやすい環境を提供しているのでバグの数も圧倒的に減少し、プログラム全体の品質はかなり向上しました」と廣瀬氏は語っています。
XcodeとCocoaへの移行は、Mac OS XやIntel搭載Macにふさわしい優れたUniversalアプリケーションを生み出します。また、今後さまざまに追加されるOSの新機能は、CocoaのAPIとしてのみ提供されます。新しい環境でegword Universalを1から開発したエルゴソフトの取り組みは、Universalアプリケーションの開発にこれから着手するソフトウェアメーカーや開発者の指標となるでしょう。「Macアプリケーションの開発を続けるなら、いつかはこの環境に移行する時が必ずやってきます。最初は敷居が高いと感じるかも知れませんが、Mac OS Xの先進的な機能を利用するには、思い切って過去の資産を捨てるくらいの勇気も必要でしょう」(廣瀬氏)。
Mac OS X標準の開発環境は、Intel搭載MacやMac OS Xの将来的な進化に歩調を合わせた高度なアプリケーション開発をはじめ、合理的なプロジェクト管理、開発期間の短縮、そこから派生する新しいアイデアやチャンスなど、さまざまなメリットを開発者にもたらします。そしてユーザは、その成果物であるUniversalアプリケーションでの快適な環境と、Intel搭載Macが持つ本物のパフォーマンスを体験することができるのです。
(2006年9月)
前ページ:Mac OS X標準インターフェイスの高いユーザビリティ
Apple Developer Connection Apple Developer Connection(ADC)プログラムは、開発の入門者からプロフェッショナルまで、デベロッパの方を幅広くサポートするサービスです。開発ツールや専門情報、プレリリース・ソフトウェアの提供、アップルエンジニアによるテクニカルサポート、ハードウェアの特別割引、メンバー限定のワークショップなど、開発者のニーズに合わせて選べる4種類のメンバーシップをご用意しました。今すぐADCメンバーシップに登録してください。
アップルではCocoaでの開発をお考えの方を対象に、無料セミナーを開催しています。Cocoaによるソフトウェア開発を、実践的な演習を交えて解説します。詳細・参加お申し込みは今すぐこちらから。自習用にセミナーのビデオと教材も配布しています。講師はHMDTの木下誠さんです。
Macアプリケーションの開発者が、新たにUniversalアプリケーションを開発するために必要となるハードウェア、ソフトウェア、技術資料は、この「Developer Transition Resource Center」で一望できます。いくつかの資料やサポートはApple Developer Connectionのメンバーシップ登録が必要になりますので、ぜひこの機会にご登録ください。Developer Transition Resource Center