Xcode 4は、開発者向けに全く新しいユーザーインターフェースとワークフローに加え、コンパイル、デバッグ、そしてよくあるエラーの発見と修正のための新しいコンポーネントを提供します。その結果、開発者はより生産性の高い、より優れたコードをより速く開発できるようになります。
すべてをひとつの窓にまとめる
Apple の計画に詳しい開発者によると、Xcode 4 の最初の主要な特徴は、Xcode (およびその前身である NeXT の Project Builder) が現在使用している複数ウィンドウのワークフローから、新しい単一ウィンドウのインターフェースへの移行です。
コードの検索、デバッグ、ビルド、パラメータの設定のために新しいウィンドウを生成するのではなく、LCD のようなステータス表示を含む iTunes のデザイン コンポーネントを反映した単一のウィンドウ内ですべてを実行できます。
新しいウィンドウには、閉じることができるナビゲーター コントロール (iTunes のソース リストに類似) と、同じウィンドウ列内にさまざまな種類の開発関連情報を表示できるアイコン タブが表示されます。
- プロジェクトとファイルのリスト
- クラスとメソッドのシンボルリスト
- プロジェクト全体の結果を一覧表示する検索機能
- ビルドエラーの問題リスト
- デバッグ情報
- ブレークポイント
- ビルドログのリスト
新しいXcodeウィンドウのメインエリアは、コード、データモデル、プロジェクトのグラフィカルインターフェースなど、表示中のドキュメント専用です。このエリアは複数のドキュメントを表示するために分割することもでき、それらの差異を比較することができます(例えば、同じコードファイルの2つのバージョンを比較する場合など)。コンテンツエリアには、拡張可能なQuick Look機能でサポートされているPDFやその他のファイル形式の表示も統合されています。
コンテンツエリアの上には、iTunesやFinderで導入されたパスバーに似た階層的な「パンくずリスト」を表示する新しいジャンプバーがあります。新しいジャンプバーとの違いは、完全にインタラクティブであることです。ユーザーはバー上の任意のパスをクリックすると、ポップアップウィンドウが開き、その階層内を移動できます。例えば、下の写真では、ジャンプバー内の「リソース」をクリックすると、表示される動的なポップアップウィンドウを介して、そのディレクトリ内の他のリソースファイルを表示(および直接ジャンプ)できます。
3 ページ中 2 ページ目: Interface Builder が含まれるようになりました。
Apple の Xcode Mac OS X 開発ツールは、iPhone 2.0 SDK に合わせて iOS モバイル アプリも作成できるように改良されましたが、当初は、コードを操作するための Project Builder と、プログラムのグラフィカル ユーザー インターフェイスをレイアウトし、GUI の要素を機能させるコードにマッピングするための Interface Builder が含まれていました。
80 年代後半、Interface Builder のオリジナルの開発者 Jean-Marie Hullot は、グラフィカル開発のコンセプトを Apple 社に示しましたが、Steve Jobs 氏の NeXT Computer 社に引き抜かれ、NeXT Computer 社は高度な GUI ビルダーを開発ツールの一部にしました。
Interface Builderは、CERNでティム・バーナーズ=リーが開発したWorldWideWebブラウザを迅速に開発するために使用されました。Appleは1996年にNeXTを買収した際にこの技術を取得し、Project BuilderとともにMac OS X開発ツールパッケージの一部にしました。Project Builderはその後Xcodeに改名されました。
Xcode 4では、Interface Builderが刷新されたProject BuilderベースのIDEに組み込まれ、アプリケーションの外観と機能の両方を単一のツールで作成できるようになりました。この2つのコンポーネントの緊密な統合により、モバイルアプリケーションとデスクトップアプリケーションの開発において様々な改善がもたらされます。
グラフィカル要素のアウトレットとアクションを、グラフィカルなドラッグ&ドロップ操作でソースコードに直接バインドできるようになりました。Xcode 4の新機能「アシスタント」により、開発者はGUIとソースコードを同時に操作できます(下記参照)。
3 ページ中 3 ページ目: Fixit、LLVM、LLDB、Instruments。
開発者らの報告によると、Apple は、高度なコード補完機能を提供し、Mac OS X がシステム全体でスペルミスを示すのと同じ赤い下線を使用して、よくあるバグやタイプミスをフラグ付けする新しい Fixit 機能も導入したという。
Fixit機能は、適切な記号のスペルと正しい句読点を提案し、開発者がミスを減らしながらコードをより速く記述できるよう支援します。静的解析では、不要になったメモリを適切に解放していないなどの一般的なバグやエラーを検出し、フラグ付けすることができます。
Xcode 4 は共同開発のための新しいバージョン管理機能もサポートすると報告されており、コーディング者は Subversion および Git バージョン管理システム (Time Machine のように時間の経過とともに複数のバージョンのファイルで動作する) に保存されたプロジェクトのチェックアウト、変更のコミット、コンテンツの更新が可能になります。
新しいツールを使用すると、ユーザーは、バージョン管理システムにチェックインされたさまざまなファイルの変更を時間の経過とともに比較し、コードを最新バージョンに戻したりマージしたりすることもできます。
Apple、LLVMと共同で新しいLLDBデバッガをオープンソースとして公開
Xcode 4 には、最新の Low Level Virtual Machine (LLVM) コンパイラの重要な新バージョンも含まれると報告されています。LLVM コンパイラは、ほとんどの Unix ベースの開発システムがソース コードを特定のプロセッサを対象とした実行可能なオブジェクト コードに変換するために使用するツールである GNU Compiler Collection (GCC) を最終的に置き換えるオープンソース プロジェクトとして Apple がサポートしてきました。
LLVMは、より高速で最適化されたコードを生成するために設計されたモジュール型コンパイラシステムです。新しいLLVMコンパイラ2は、C言語とObjective C言語に加えてC++もサポートし、GCCの最大2倍の速度でコードをコンパイルします。また、LLVMコンパイラ2で生成されるコードはGCCでコンパイルされたコードよりも高速に動作し、Mac OS Xコードは最大25%、iOSコードは最大60%高速化されたと報告されています。これは、同じソースコードのコンパイルにおける最適化の改善によるものです。
Xcode 4には、Appleがパフォーマンスと効率性を重視して設計した全く新しいデバッガシステムも搭載されており、バグの発見と修正が迅速化されます。この新しいデバッガはLLVMのモジュラーアーキテクチャをモデルにしており、LLDBと名付けられています。Appleは社内のLLDBプロジェクトをオープンソースとして公開し、オープンソースのLLVMコンパイラと併せてサードパーティにも提供すると発表されています。
新しい楽器を演奏する
Xcode 4 とともに提供されるもう 1 つの主要機能は、Sun の DTrace テクノロジに基づくコード パフォーマンス プロファイリング用の Apple のグラフィカル ツールである Instruments (元のコード名は Xray) の新バージョンです。
新しい Instruments には、iOS 開発用の新しいタイム プロファイラー サポートが追加され、開発者がアプリケーション コードが他のアプリやシステムのカーネルとどのように対話するかを調べて、非常に複雑なコンピューティング環境でアプリが処理時間を費やしている場所やリソースを割り当てている場所を見つけるのに役立つ新しい機能が含まれています。
Instrumentsには、参照されているものの実際には必要のない放棄メモリを特定する機能も搭載されており、開発者はアプリのメモリ使用量を削減できます。また、このツールはOpenGL ESのプロファイリング分析サポートも追加します。これは、高性能ゲームや高度なグラフィックスを活用するアプリを開発するiOS開発者にとって重要なツールです。