コンテンツにスキップ

「GNUstep」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
m編集の要約なし
Cewbot (会話 | 投稿記録)
17行目: 17行目:
'''GNUstep'''(グニューステップ)は、[[NeXT]]の[[OPENSTEP]] [[Objective-C]] ライブラリ(フレームワーク)、[[ウィジェット・ツールキット]]、アプリケーション開発ツール群を[[フリーソフトウェア]]として実装したものである。[[Unix系]][[オペレーティングシステム]]だけでなく[[Microsoft Windows]]でも動作する。[[GNUプロジェクト]]の一部でもある。
'''GNUstep'''(グニューステップ)は、[[NeXT]]の[[OPENSTEP]] [[Objective-C]] ライブラリ(フレームワーク)、[[ウィジェット・ツールキット]]、アプリケーション開発ツール群を[[フリーソフトウェア]]として実装したものである。[[Unix系]][[オペレーティングシステム]]だけでなく[[Microsoft Windows]]でも動作する。[[GNUプロジェクト]]の一部でもある。


GNUstepは、[[NEXTSTEP|NeXT]]のOPENSTEP仕様に完全互換なプラットフォームにまたがったオブジェクト指向開発環境を備えている(NeXT社は[[アップル (企業)|アップルコンピュータ]]に買収された)。アップルと同様GNUstepは[[Java]]インターフェイスを持ち、同時に[[Ruby]]<ref>http://www.gnustep.org/experience/RIGS.html</ref>や[[Scheme]]とも接続できる。
GNUstepは、[[NEXTSTEP|NeXT]]のOPENSTEP仕様に完全互換なプラットフォームにまたがったオブジェクト指向開発環境を備えている(NeXT社は[[Apple|Apple Computer]]に買収された)。アップルと同様GNUstepは[[Java]]インターフェイスを持ち、同時に[[Ruby]]<ref>http://www.gnustep.org/experience/RIGS.html</ref>や[[Scheme]]とも接続できる。
GNUstepの[[アプリケーションソフトウェア|アプリケーション]][[インタフェース (情報技術)|インタフェース]]は[[macOS]]の[[Cocoa]]のインタフェースと根幹は同じ(NeXTとOPENSTEP)である。GNUstepの発祥はCocoaより先であった。
GNUstepの[[アプリケーションソフトウェア|アプリケーション]][[インタフェース (情報技術)|インタフェース]]は[[macOS]]の[[Cocoa]]のインタフェースと根幹は同じ(NeXTとOPENSTEP)である。GNUstepの発祥はCocoaより先であった。



2021年5月20日 (木) 10:27時点における版

GNUstep
GNUstepのデスクトップ
開発元 GNUstep Developers
最新版
make 2.7.0, base 1.26.1, gui & back 0.27 / 2019年1月7日 (5年前) (2019-01-07)
リポジトリ ウィキデータを編集
対応OS クロスプラットフォーム
種別 フリーソフトウェア
ライセンス GPL / LGPL
公式サイト gnustep.org
テンプレートを表示

GNUstep(グニューステップ)は、NeXTOPENSTEP Objective-C ライブラリ(フレームワーク)、ウィジェット・ツールキット、アプリケーション開発ツール群をフリーソフトウェアとして実装したものである。Unix系オペレーティングシステムだけでなくMicrosoft Windowsでも動作する。GNUプロジェクトの一部でもある。

GNUstepは、NeXTのOPENSTEP仕様に完全互換なプラットフォームにまたがったオブジェクト指向開発環境を備えている(NeXT社はApple Computerに買収された)。アップルと同様GNUstepはJavaインターフェイスを持ち、同時にRuby[1]Schemeとも接続できる。 GNUstepのアプリケーションインタフェースmacOSCocoaのインタフェースと根幹は同じ(NeXTとOPENSTEP)である。GNUstepの発祥はCocoaより先であった。

GNUstepはOPENSTEPの仕様を満たすことを目指して開発され、macOSが実装しているフレームワークの多くを欠いているが、GNUstepの開発者は互換性を保つため、アップルのCocoaの追加機能に追随しようとしている。ただし、CocoaとGNUstepはABIが全く異なるため、アプリケーションのバイナリレベルの互換性は期待できない。

歴史

GNUstepの開発が始まったのは、スタンフォード線形加速器センターの Paul Kunz らがNEXTSTEPの HippoDraw を他のプラットフォームに移植したいと考えたのがきっかけであった。HippoDrawを一から書き直してアプリケーションとしての設計だけを活用するのではなく、アプリケーションが依存しているNeXTSTEPのオブジェクト層を書き換えようと考えた。そしてできたのが最初のlibobjcXである。これを使って彼らは HippoDraw を全く書き換えることなくUNIXシステムのX Window System上に移植できた。OPENSTEPの仕様が1994年に公開されると、彼らは新たなAPIにも対応するobjcXを作ることを決めた。そのソフトウェアが"GNUstep"として知られるようになるのである。

パラダイム

GNUstepはOPENSTEPと似ており、OPENSTEPの設計規則を継承するとともにObjective-C言語を使っている。

クラスの機能

ファウンデーションキット

(デバイスに依存しないクラス群とプログラミング機能)

  • 文字列
  • 集合(配列、セット、辞書)と順序子 (enumerators)
  • ファイル管理
  • オブジェクト・アーカイブ
  • 拡張されたデータ操作
  • 分散オブジェクトとプロセス間通信
  • URL処理
  • 通知 (notifications) および分散通知
  • 簡単なマルチスレッド
  • タイマー
  • ロック
  • 例外処理

アプリケーションキット

(GUI系クラスの集まり)

  • ユーザインタフェースの要素(テーブルビュー、ブラウザ、マトリックス、スクロールビュー)
  • グラフィックス(WYSIWYG、ポストスクリプト風グラフィックス、ベジェ曲線、イメージ処理、グラフィカル・コンテキスト)
  • カラー管理(較正色と物理色(CMYK,RGB,HSB)、グレイと名前付きカラー表現、アルファブレンディング)
  • テキスト:多様なテキストフォーマット、アタッチメント、レイアウトマネージャ、タイプセッター、ルール、段落スタイル、フォント管理、スペル
  • 文書管理
  • 印刷機能:印刷操作、印刷パネルとページレイアウト
  • ヘルプ管理
  • ペーストボード(クリップボードのようなもの)
  • スペルチェッカー
  • アプリケーションのワークスペース束縛
  • ドラッグ・アンド・ドロップ操作
  • アプリケーション間の共通サービス

脚注

  1. ^ http://www.gnustep.org/experience/RIGS.html

関連項目

外部リンク