Special Interview

Intel搭載Macに最適化されたUniversalアプリケーションを支える新たな開発環境への移行

株式会社エルゴソフト

多くのメリットにつながる合理的な開発環境

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がプログラムの完成度を極限まで高める

使いやすい開発環境とオブジェクト指向のCocoaフレームワークによって、egword Universalでは開発期間を大幅に短縮することにも成功しました。

画像:Interface Builder

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標準インターフェイスの高いユーザビリティ

 

Xcodeが統合する先端機能

Interface Builder

Mac OS X専用アプリケーションのウインドウやメニューなど、ユーザインターフェイスをグラフィカルな操作で開発できるXcodeの主要ツール。ボタンやテキスト入力フィールド、ポップアップメニューといったGUIパーツをドラッグ&ドロップで組み合わせ、動作チェックをしながらMac OS X準拠の美しいユーザインターフェイスが作れます。Interface Builderでは複数のオブジェクト同士を連携させて、コードを書かかずにアプリケーションの機能を拡張することも可能です。


GCC

XcodeはObjective-CやObjective-C++、C、C++などのソースコードのコンパイルに、高性能なオープンソースのコンパイラ「GCC」が利用できます。Xcode 2.0以降のバージョン4.0では、コンパイルの速度が大幅に向上したほか、64ビットコードの生成などをサポート。最適化技術を取り入れることで、既存のソースコードから高いパフォーマンスを引き出します。また、GCCの旧バージョンのほか、JavaC、JikesといったコンパイラにもXcodeは対応しています。


オープンアーキテクチャ

GCCをはじめ、ソースコードデータベースのCVS、ソースレベルデバッガのgdb、プログラマー向けエディタのviやemacsといった開発ツール、grepやchmodなどのUNIXシェルツールと、開発者にとって魅力的なオープンソースの標準テクノロジーでXcodeは構成されています。このほかにも多彩なコマンドラインツールやGUIアプリケーション、パフォーマンス分析ツールなどがUniversalアプリケーションの開発を強力にサポートします。


Xcode 2.4

画像:Xcode2.4Mac OS X標準の統合開発環境のXcodeは、ユーザインターフェイスを作成する「Interface Builder」、業界標準のコンパイラGCCなど、アプリケーション開発に必要なさまざまなツールを提供します。Mac OS X v.10.4のインストールディスクからシステムに組み込めるほか、Apple Developer Connection(ADC)のメンバーシップに登録しておけば、最新バージョンを無償でダウンロードすることが可能です。

Xcode 2.4を今すぐダウンロード


Apple Developer Connection

Apple Developer Connection Apple Developer Connection(ADC)プログラムは、開発の入門者からプロフェッショナルまで、デベロッパの方を幅広くサポートするサービスです。開発ツールや専門情報、プレリリース・ソフトウェアの提供、アップルエンジニアによるテクニカルサポート、ハードウェアの特別割引、メンバー限定のワークショップなど、開発者のニーズに合わせて選べる4種類のメンバーシップをご用意しました。今すぐADCメンバーシップに登録してください。

詳しくはこちら

Cocoa プログラミング セミナー

アップルではCocoaでの開発をお考えの方を対象に、無料セミナーを開催しています。Cocoaによるソフトウェア開発を、実践的な演習を交えて解説します。詳細・参加お申し込みは今すぐこちらから。自習用にセミナーのビデオと教材も配布しています。講師はHMDTの木下誠さんです。

  • 初級編 - 10月13日(金)
  • 中級編 - 11月2日(木)、26日(日)
  • 上級編 - 11月9日(木)、28日(火)

詳しくはこちら

Developer Transition Resource Center

Macアプリケーションの開発者が、新たにUniversalアプリケーションを開発するために必要となるハードウェア、ソフトウェア、技術資料は、この「Developer Transition Resource Center」で一望できます。いくつかの資料やサポートはApple Developer Connectionのメンバーシップ登録が必要になりますので、ぜひこの機会にご登録ください。Developer Transition Resource Center

詳しくはこちら