Cocoa環境。 パート1

多くの人がこれについて話しますが、iOSとMacOSの生活でCocoa環境に取って代わるものは何ですか?実際、これはどんなストリートマジックですか?



ココアに挨拶!



CocoaはMac OS Xのメインアプリケーション環境です(Carbonもありますが、この環境は主にMac OS 9用に記述されたコードをサポートするためにのみ使用されます)。iOSオペレーティングシステムの唯一のアプリケーション環境です。 オブジェクト指向ライブラリのセット、ランタイム環境、および開発環境で構成されています。

Mac OS Xユーザーが使用するほとんどのプログラム(MailやSafariなど)、さらにはiOSユーザーは、Cocoaを使用して作成されたプログラムです。

さて、Cocoaのアプリケーションを作成するには、有名なXcodeが使用されます。



どのように、何で?



すべてのアプリケーション環境と同様に、Cocoaには2つの世界があります。ランタイムの世界と 開発の世界。 ランタイムの世界では、Cocoaアプリケーションは、ユーザーインターフェイスを提供し、Mac OS Xのオペレーティングシステムの他のコンポーネント(FinderやDockなど)との緊密な統合を提供します。

しかし、開発の世界では、Cocoaはオブジェクト指向ソフトウェアコンポーネントクラスの統合セットであり、実際には、Mac OS XおよびIOS用のソフトウェアを作成できます。 ユーザーインターフェイスからデータ配列の管理まで、さまざまなことができます。

実際、Cocoaアプリケーションを開発するとき、いくつかのプログラミング言語を使用できますが、ネイティブ言語はObjective-Cです。これはANSI Cの拡張であり、OOPをサポートする構文およびセマンティック機能(Smalltalkに基づく)を備えています。 さらに、コードは、/ usr / includeのBSDライブラリなど、非Cocoaインターフェイスで定義された関数を呼び出すことができます。 さらに、C ++コードとCocoaコードを組み合わせて、実行ファイルでこのコンパイルされた奇跡を参照することもできます。

最も重要なCocoaライブラリは、各プラットフォームの2つの主要なフレームワーク、Mac OS X用のAppKitとIOS用のUIKitにパッケージ化されています。 すべてのフレームワークと同様に、動的にアクセス可能なライブラリー(および下位互換性に必要なライブラリーのいくつかのバージョン)だけでなく、ヘッダーファイル、APIドキュメント、および関連リソースも含まれます。 フレームワークは、MacまたはIOSでのプロジェクトにとって非常に重要なコンポーネントです。

Mac OS Xは、WebKitやAddress Bookフレームワークなど、他の多くの便利なライブラリもサポートしていますが、これについては後で詳しく説明します。



そして、Cocoaの友人はMac OS Xとどうですか?



アーキテクチャ的には、Mac OS Xは一連のソフトウェアレイヤーです(図1)。





図1. Mac OS Xが友人を作る方法です。



たとえば、Aquaインターフェースの動作を主に担当するシステムコンポーネントであるQuartz(Core Graphicsフレームワークに実装)は、アプリケーションサービスレイヤーの一部です。 しかし、このすべての中心にあるのがDarwin(Mac OS XおよびiOSで使用されるコアコンポーネントのセット)です。 Cocoaを含むMac OS X上のすべては、最終的にこのレイヤーに依存します。

Mac OS Xでは、CocoaはMac OS X用のアプリケーションの開発に必要な2つの主要なフレームワークで構成されています。



AppKitはFoundationに依存しており、Foundationは機能的にCore Servicesレイヤーにあります。 AppKitクラスをよく見ると、CocoaがMac OS Xの他の部分(Carbon Core、Core Graphics(Quartz)、Launch Servicesなど)に依存していることがわかります。



Appleは、Cocoaを慎重に設計して、そのプログラミングインターフェイスの一部が、アプリケーションが通常必要とする基本機能へのアクセスを提供するようにしました。 ただし、そうでない機能が必要な場合

Cocoaインターフェースを介してアクセスできます。または、アプリケーションで発生していることをより細かく制御する必要がある場合は、メインフレームワークを直接使用できます(顕著な例は、Core Graphicsです。その関数を呼び出すことで、より強力なグラフィック管理ツールを取得できます)。



そして、CocoaのiOSの友達はどうですか?



iOSアプリ実行レイヤーはCocoa Touchと呼ばれます。 Cocoa Touchが実行されるiOSインフラストラクチャは、Mac OS XでCocoaが実行されるものと似ていますが、いくつかの大きな違いがあります(図2)。





図2.これがiOSの友達



通常、UIKitが使用するシステムライブラリとiOSフレームワークは、Mac OS Xのライブラリとフレームワークのサブセットです。ただし、iOSでサポートされるデバイスの性質により、

iOSに固有のフレームワークがいくつかあります。

以下は、各レイヤーのフレームワークの概要です。



iOSのCocoaは、Mac OS XのCocoaと同様に、アプリケーションに基本機能へのアクセスを提供します。 また、Cocoa APIが提供する以上のものが必要な場合は、低レベルのメソッドを直接使用することもできます。



ソース-Cocoa Fundamentals Guide



All Articles