| 開発者 | GNUstep 開発者 |
|---|---|
| 安定版リリース | make 2.9.2、base 1.30.0、gui 0.31.1、back 0.31.0 / 2024年6月6日 |
| プレビューリリース | GitHubソフトウェアリポジトリ
|
| リポジトリ |
|
| 書かれた | オブジェクティブC |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | ウィジェットツールキット |
| ライセンス | アプリケーションにはGNU 一般公衆利用許諾書、ライブラリには GNU 劣等一般公衆利用許諾書。 |
| Webサイト | グヌステップ |
GNUstepは、 Cocoa (旧OpenStep ) Objective-Cフレームワーク、ウィジェット ツールキット、およびUnix 系オペレーティング システムとMicrosoft Windows用のアプリケーション開発ツールのフリー ソフトウェア実装です。GNUプロジェクトの一部です。
GNUstepはクロスプラットフォームのオブジェクト指向IDEを特徴としています。デフォルトのObjective-Cインターフェースとは別に、GNUstepにはJava、Ruby、[1] GNU Guile、Scheme [2]のバインディングもあります。GNUstepの開発者は互換性を保つためにAppleのCocoaへのいくつかの追加を追っています。GNUstepのアプリケーションインターフェースのルーツはCocoaのルーツと同じです:NeXTSTEPとOpenStep。GNUstepは、 AppleがNeXTの技術を買収してオリジナルのMac OS Xの開発に組み込んだときに登場したCocoaよりも古いものですが、GNUstepは当初、GNU開発者が技術的に野心的なNeXTSTEPのプログラマーに優しい機能を再現しようとした努力でした。
歴史
GNUstep は、スタンフォード線形加速器センターのポール・クンツらがHippoDraw をNeXTSTEPから別のプラットフォームに移植しようとしたときに始まりました。彼らは HippoDraw を最初から書き直してアプリケーション設計だけを再利用するのではなく、アプリケーションが依存するNeXTSTEPオブジェクト層を書き直すことにしました。これがlibobjcXの最初のバージョンでした。これにより、アプリケーションソースを 1 行も変更せずに、 X Window System を実行する Unix システムに HippoDraw を移植することができました。1994 年に OpenStep 仕様が一般に公開された後、彼らは新しい API に準拠する新しいobjcX を書くことにしました。このソフトウェアは「GNUstep」として知られるようになりました。[3]
ソフトウェアアーキテクチャ

Foundation Kit は、ラッパー クラスやデータ構造クラスなどの基本クラスを提供します。Application Kit は、グラフィカル ユーザー インターフェイス機能を中心としたクラスを提供します。GNUstep には、Objective-C プログラミング言語で記述されたグラフィカル コントロール要素のセットが含まれています。
GNUMailのグラフィカルユーザー インターフェイス(GUI)は、グラフィックス コントロール要素で構成されています。GNUMail は、X11やWaylandなどのウィンドウ システムと対話する必要があり、そのグラフィカル ユーザー インターフェイスをレンダリングする必要があります。GNUstep のバックエンドは、実際のウィンドウ システムとインターフェイスするためにユーザー インターフェイス ライブラリによって使用される関数の小さなセットを提供します。また、一般的なPostscript関数をエミュレートするレンダリング エンジンも備えています。gnustep-back パッケージは、次のバックエンドを提供します。
- cairo – Cairo 2D グラフィックス ライブラリを使用するデフォルトのバックエンド。
- winlib – Microsoft Windows システムのデフォルトのバックエンド。Cairo およびWindows API のバリアント。
- art – Unix 系システム上の古い (非推奨の) バックエンド。ベクターベースの PostScript 系 2D グラフィック ライブラリLibart を使用します。
- xlib – 古い(非推奨の)X11 バックエンド。
GNUstep は、OPENSTEP (GNUstep は Cocoa より古いものですが、Cocoa は OPENSTEP に基づいています) で提案されたいくつかの設計原則とObjective-C言語を継承しています。
- モデル・ビュー・コントローラパラダイム
- ターゲットアクション
- ドラッグアンドドロップ
- 委任
- メッセージ転送(NSInvocation経由)
Objective-C インターフェースに加えて、GNUstep 傘下のいくつかの小さなプロジェクトでは、Apple の他の API を実装しています。
- Boron ライブラリはCarbon API を実装することを目的としていますが、非常に不完全です。
- CoreBase ライブラリは、Core Foundationと互換性があるように設計されています。Base (Foundation Kit) コンポーネントを単にラッパーとして提供するには、不十分です。
- QuartzCore ライブラリはCore Animation API を実装します。Opal ライブラリはQuartz 2Dを実装します。
2020 年 2 月現在、 GNUstep Objective-C 環境に対して Swift プログラミング言語を[アップデート]ビルドするプロジェクトはありません。
アプリケーション
以下に、GNUstep 用に作成された、または GNUstep に移植されたアプリケーションの例をいくつか示します。
オリジナル
- アドレス/連絡先管理ツール「アドレス」
- エトワール、デスクトップ環境
- GNUMail、電子メールクライアント
- GNUstep データベース ライブラリ 2、エンタープライズ オブジェクト フレームワークのクローン
- GNUstepWeb、WebObjects 4.x と互換性のあるアプリケーション サーバー
- Gorm は、ユーザー インターフェイスビルダー アプリケーションであり、GNUstep の開発者ツールの一部です。Gorm は、もともとNeXTSTEP、次にOPENSTEP、そして最後にMac OS Xに搭載されていたInterface Builderと同等のものです。Gorm は、古い.nibファイルと独自の.gormファイル形式をサポートしています。
- GWorkspace、ワークスペースとファイルマネージャー
- Grr、RSSフィードリーダー
- Oolite は、トレーディング要素を備えた宇宙シミュレーション ゲームEliteのクローンです。
- PRICE、イメージングアプリケーション
- ProjectCenter、プロジェクト ビルダー、またはXcodeと同等のもの。
- TalkSoup、IRCクライアント
- ターミナル
- Zipper、ファイルアーカイバツール
- Window Makerは、NeXTSTEPのGUIをOpenStep互換環境としてエミュレートするウィンドウマネージャです。[4] AfterStepのデザインを改良したものとして1997年にリリースされました。 [5]
NeXTSTEP、OPENSTEP、またはmacOSから移植
GNUstep のフォーク
- ユニバーサルWindowsプラットフォームには、GNUstepのさまざまな部分と、Cocoa Touch APIなどのMicrosoft独自の実装で構成されるWinObjCスイートが含まれています。[6]
参照
- Darling (ソフトウェア)、GNUstepに依存する互換性レイヤー
- GNUstep ファットバンドル
- GNUstep Renaissance、ポータブルな GNUstep/Mac OS Xユーザー インターフェイスの XML 記述のためのフレームワーク
- ミラー列、GWorkspaceファイルビューアが使用するファイルツリーの参照方法
- プロパティリスト、ユーザー設定を保存するためによく使用されるファイル形式
- StepTalk、スクリプトフレームワーク
参考文献
- ^ 「GNUstep 開発ツール - RIGS」。www.gnustep.org 。 2018年4月10日閲覧。
- ^ GScheme 2005-12-18 に Wayback Machineでアーカイブ
- ^ 「GNUstep の歴史」gnustep.made-it.com . 2018 年4 月 10 日閲覧。
- ^ 「Window Maker Live: クールなレトロな外観、さらにクールなパフォーマンス」LinuxInsider 2017 年 8 月 28 日。
- ^ 「今でも通用する最高の旧式 Linux ウィンドウ マネージャー」ZDNET 2024 年 10 月 1 日。
- ^ 「GNUstep Objective-C Runtime 2.0」。GitHub。
注: Microsoft の WinObjC プロジェクトには、増分リンクの問題を回避する機能を含むこのライブラリのフレンドリー フォークが含まれています。
外部リンク
- 公式サイト
- GNUstep アプリケーション プロジェクト
- 2003 年の GNUstep 開発者 Nicola Pero へのインタビュー。2007 年 1 月 7 日にWayback Machineにアーカイブされました。
- FLOSS Weekly インタビュー: GNUstep の Gregory Casamento 氏と Riccardo Mottola 氏
