
AppKit(旧称Application Kit)[1]はグラフィカルユーザーインターフェイス ツールキットです。当初はNeXTSTEPのUIフレームワークとして機能していました。[2] FoundationやDisplay PostScriptとともに、 OpenStep API仕様の中核部分の1つになりました。その後、AppKitとFoundationはmacOSのObjective-C APIフレームワークであるCocoaの一部になりました。GNUのOpenStep/Cocoa APIの実装であるGNUstepにも、AppKit APIの実装が含まれています。
AppKitは、OpenStep/Cocoa でアプリケーションを構築するために使用できるObjective-C クラスとプロトコルのコレクションで構成されています。これらのクラスは、Objective-C ブリッジを介して Swiftでも使用できます。Xcode には、 Interface Builderを使用してユーザー インターフェイスを視覚的に設計する機能など、AppKit を使用して Cocoa アプリケーションを開発するための機能が組み込まれています。これは、参照型、委任、通知、ターゲット アクション、モデル ビュー コントローラなどのパターンに大きく依存しています。NeXTSTEP の伝統の証として、AppKit のクラスとプロトコルでは依然として「NS」プレフィックスが使用されています。
macOS にバンドルされているアプリケーションのほとんど ( Finder、TextEdit、カレンダー、プレビューなど) は、ユーザー インターフェイスを提供するために AppKit を使用します。
macOS、iOS、iPadOS、tvOS は、 AppKit から派生し、多くの類似した構造を使用するUIKitや、 Swift専用の宣言型 UI フレームワークであるSwiftUIなど、他の UI フレームワークもサポートしています。
macOS Catalinaより前のmacOS では、Macintosh Toolboxから派生した UI フレームワークであるCarbonもサポートされていました。
クラス
アプリケーションキットに含まれる170以上のクラスのうち、以下のクラスが中核を構成しています。[3]
NSApplication: アプリケーション全体を表し、ウィンドウやその他のグローバル状態を追跡するシングルトンオブジェクトNSWindow: 画面上のウィンドウを表すオブジェクト。ビューの階層を保持します。NSView: 長方形の領域を表すオブジェクト。独自の UI コンテンツを描画する ( Quartz、Core Animation、Metalなどの描画エンジンを使用) ことができ、他のビューのサブツリーを保持することもできます。NSResponder: アプリケーションの存続期間中にイベントに応答できるオブジェクト。NSApplication、、NSWindowおよびはNSViewすべて のサブクラスです。NSResponderNSDocument: ディスクに保存された文書を表すオブジェクトで、ウィンドウ内での表示を管理するNSController:コントローラの機能を実装し、ビューとモデルオブジェクトを仲介する抽象クラス
参照
参考文献
- ^ macOS 10.13 の AppKit リリースノート。Apple ドキュメント アーカイブ。2017 年 10 月 23 日閲覧。
- ^ NeXT の遺産は OS X に生き続ける — Ars Technica、2012 年 12 月。
- ^ AppKit フレームワークリファレンス — Apple Developer
外部リンク
- OpenStep仕様のAppKitクラス
- Apple 開発者向けドキュメントの AppKit
