この記事 きじ は検証 けんしょう 可能 かのう な参考 さんこう 文献 ぶんけん や出典 しゅってん が全 まった く示 しめ されていないか、不十分 ふじゅうぶん です。 出典 しゅってん を追加 ついか して記事 きじ の信頼 しんらい 性 せい 向上 こうじょう にご協力 きょうりょく ください。(このテンプレートの使 つか い方 かた ) 出典 しゅってん 検索 けんさく ? : "グラフィカルユーザインタフェース" – ニュース · 書籍 しょせき · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2021年 ねん 4月 がつ )
GUIを提供 ていきょう するソフトウェアの1つ、GNOME
グラフィカルユーザインタフェース (英 えい : graphical user interface 、略称 りゃくしょう :GUI (ジーユーアイ、グイ、グーイ[1] ))は、コンピュータグラフィックス とポインティングデバイス などを用 もち いる、グラフィカル(ビジュアル)であることを特徴 とくちょう とするユーザインタフェース 。キャラクタユーザインタフェース (CUI) やテキストユーザインタフェース (TUI) と対比 たいひ して語 かた られることが多 おお い。
SAGE制御 せいぎょ 室 しつ 。スクリーンにはアメリカ東海岸 ひがしかいがん が表示 ひょうじ されている。二 ふた つのターゲットが追跡 ついせき されているところ
世界 せかい 初 はつ の実用 じつよう となったGUIは1963年 ねん に完成 かんせい したSAGE というアメリカ空軍 くうぐん の開発 かいはつ した防空 ぼうくう 管制 かんせい システムである。これはCRT とライトガン を備 そな えており、核 かく 爆 ばく 弾 だん を搭載 とうさい した敵 てき 航空機 こうくうき を迎撃 げいげき するために多数 たすう のレーダーからの情報 じょうほう を統合 とうごう し、複数 ふくすう のオペレーターがライトガンで迎撃 げいげき 目標 もくひょう を指示 しじ するだけで全 ぜん 軍 ぐん の適切 てきせつ な箇所 かしょ に自動 じどう で指令 しれい が届 とど き、その結果 けっか レーダー情報 じょうほう の膨大 ぼうだい さを気 き にすることなく的確 てきかく に敵 てき 機 き を迎撃 げいげき できるというものであった。
また、オシロスコープ はテレビやディスプレイと同 おな じ原理 げんり を使 つか った装置 そうち だが、コンピュータの内部 ないぶ の信号 しんごう を直接 ちょくせつ 観察 かんさつ できる装置 そうち としても都合 つごう が良 よ いため、初期 しょき のコンピュータではしばしばそのような目的 もくてき でブラウン管 ぶらうんかん が情報 じょうほう 出力 しゅつりょく のために備 そな えられていた。これはGUIとして扱 あつか うには機能 きのう 的 てき には足 た りないものだが、最初 さいしょ 期 き のコンピュータの1基 き であるEDSAC にも付 つ いており、OXO というゲームに使 つか われている。実用 じつよう の目的 もくてき で情報 じょうほう 表示 ひょうじ にブラウン管 ぶらうんかん が使 つか われた例 れい としてはMARS-1 (1960年 ねん 、日本 にっぽん 国有 こくゆう 鉄道 てつどう )がある。
1960年代 ねんだい の米国 べいこく において、サザランド のSketchpad や、1960年代 ねんだい 後半 こうはん 、マウス の発明 はつめい 者 しゃ でもあるダグラス・エンゲルバート が率 ひき いるスタンフォード研究所 けんきゅうじょ の研究 けんきゅう 者 しゃ は、当時 とうじ の新 あたら しいデバイスであるマウスで操作 そうさ されるテキストベースのハイパーリンクを使用 しよう するオンラインシステムNLS を開発 かいはつ した(軍用 ぐんよう などの専用 せんよう 目的 もくてき ではなく、汎用 はんよう を意図 いと した)。
1968年 ねん 12月のNLSのデモンストレーションは、「すべてのデモの母 はは 」として知 し られるようになった。NLSはエンゲルバートの提唱 ていしょう する「人間 にんげん 知性 ちせい の拡大 かくだい 」という概念 がいねん を実現 じつげん するために作 つく られており、ハイパーテキスト 、ハイパーリンク 、マルチウインドウ などの今日 きょう 的 てき なGUIには必須 ひっす の概念 がいねん を実装 じっそう して見 み せたきわめて革新 かくしん 的 てき なものである。またジャーナル と呼 よ ばれるハイパーテキストベースの文書 ぶんしょ 共有 きょうゆう システムは正 まさ にWikiと同 おな じ概念 がいねん である文書 ぶんしょ によるコラボレーション・グループウェアを実装 じっそう したものである。NLSの本質 ほんしつ は単 たん なるGUIの実装 じっそう ではなく、GUIは会話 かいわ ・画像 がぞう ・文書 ぶんしょ をリアルタイムで共有 きょうゆう する電子 でんし 会議 かいぎ を通 つう じた知的 ちてき 共有 きょうゆう グループウェアを実現 じつげん するための手段 しゅだん であった。さらに、後 のち にWYSIWYG と呼 よ ばれることになる機能 きのう もこのとき既 すで に実装 じっそう されていた[2] 。
AltoやNoteTakerで動作 どうさ した暫定 ざんてい Dynabook環境 かんきょう (Smalltalk-76、同 どう -78の頃 ころ )のGUI 1970年代 ねんだい には、アラン・ケイ により、誰 だれ でも簡単 かんたん に使 つか えることを目指 めざ して暫定 ざんてい Dynabook環境 かんきょう が作 つく られた。当初 とうしょ はData General社 しゃ のNova でスクリプト言語 げんご 的 てき な位置 いち づけで開発 かいはつ されたSmalltalk-72 だったが、約 やく 5〜10倍 ばい の能力 のうりょく とビットマップディスプレイ 、マウス を装備 そうび したAlto へと移植 いしょく され、マシンパワーを得 え るとすぐにオーバーラップ可能 かのう なウインドウシステムの構築 こうちく が試 こころ みられた(Smalltalk-74)。このマルチウインドウシステムを効率 こうりつ よく機能 きのう させるために後 のち に考 かんが え出 だ されたダブルバッファリング およびBitBlt は、現在 げんざい も、ちらつきのない画面 がめん 描画 びょうが のために使 つか われるアルゴリズム およびデータ操作 そうさ /ハードウェア機能 きのう として知 し られる。
1974年 ねん までには、後 のち にMicrosoft Word の前身 ぜんしん と言 い われるようになるBravo を開発 かいはつ していた別 べつ グループとの情報 じょうほう 交換 こうかん を経 へ てパロアルト研究所 けんきゅうじょ 初 はつ のWYSIWYG エディタも実装 じっそう される。70年代 ねんだい 半 なか ば過 す ぎにはマウスによる操作 そうさ 、メニューによる命令 めいれい 実行 じっこう 、オーバーラップマルチウインドウシステム、絵 え と文章 ぶんしょう の共存 きょうぞん できるWYSIWYGのマルチフォントエディタ、アイコン による機能 きのう やオブジェクトの簡易 かんい 表現 ひょうげん など、現在 げんざい ごくふつうに見 み られるグラフィカルユーザインタフェースの主要 しゅよう な要素 ようそ は固 かた まっていた。Smalltalk-72、同 どう -74の後継 こうけい であるSmalltalk-76ではさらに洗練 せんれん ・整備 せいび され、それを1979年 ねん に見 み たスティーブ・ジョブズ が策定 さくてい 中 ちゅう のLisa の仕様 しよう 決定 けってい に役立 やくだ てた[3] 。
GUIでは、コンピュータの画面 がめん 上 じょう に、ウィンドウ 、アイコン 、ボタン といったグラフィックが表示 ひょうじ され、ユーザはそれらの中 なか から目的 もくてき の動作 どうさ を表 あらわ すグラフィックスをマウス などのポインティングデバイスで選択 せんたく する。
基本 きほん 的 てき には「デスクトップ」「ウィンドウ」「メニュー」「アイコン」「ボタン」など要素 ようそ を組 く み合 あ わせて構成 こうせい され、それらをポインティングデバイスによって操作 そうさ されるカーソルを通 つう じて指示 しじ を与 あた える。
端 はし 的 てき に言 い うと、画面 がめん 上 じょう のボタンや画像 がぞう などを選択 せんたく する事 こと でリアクションを発生 はっせい させる仕組 しく みを総称 そうしょう してGUIと言 い う。
デスクトップ
X Window System ではルートウィンドウと言 い う。「デスクトップ環境 かんきょう 」のこと。この上 うえ にウィンドウを重 かさ ねることによってインタフェースはマルチタスク を実現 じつげん する。一般 いっぱん 的 てき なインタフェースでは、ここにアプリケーション やデータのアイコンをおき、ここから作業 さぎょう を開始 かいし できるようにする。この画面 がめん は、既存 きそん のディレクトリ構成 こうせい とは相容 あいい れない立場 たちば のため、特殊 とくしゅ な位置 いち におかれるディレクトリを参照 さんしょう する形 かたち でデータの内容 ないよう を定義 ていぎ する。
デスクトップの背景 はいけい に画像 がぞう や各種 かくしゅ アクセサリを置 お いて、視覚 しかく 的 てき に楽 たの しませる機能 きのう が提供 ていきょう される。また、アプリケーションの役割 やくわり を果 は たすActive Desktop やガジェットなど(ウィジェットエンジン )を置 お くこともできる。
最近 さいきん では、仮想 かそう デスクトップ をキューブで表示 ひょうじ する、アイコンの配置 はいち に立体 りったい 感 かん を着 つ ける、ウィンドウを立体 りったい 的 てき に表示 ひょうじ など、3D効果 こうか によって操作性 そうさせいわる を向上 こうじょう するデスクトップ環境 かんきょう が増 ふ えている。Unix系 けい ウィンドウマネージャ のCompiz 、Windows Vista のAero 、サン・マイクロシステムズ のProject Looking Glass などが例 れい に挙 あ げられる。
ウィンドウ
アプリケーションがデータを扱 あつか うためのグラフィカルインタフェースにおけるひとつの単位 たんい となるもの。ウィンドウ内 ない においては、アプリケーションとデータは一体化 いったいか する。ここにおいて、アプリケーションを操作 そうさ し、データを管理 かんり 、生成 せいせい 、編集 へんしゅう する。通常 つうじょう はメニュー、アイコンなどを周辺 しゅうへん に配置 はいち し、中央 ちゅうおう にデータをおく。
ウィンドウには、データやアプリケーションに応 おう じてタイトルが付 つ けられ、ウィンドウの最 さい 上部 じょうぶ にタイトルがおかれる。一般 いっぱん 的 てき には、ウィンドウをディスプレイ全体 ぜんたい に表示 ひょうじ する「最大 さいだい 化 か 」、表示 ひょうじ を隠 かく す「最小 さいしょう 化 か 」、複 ふく 数 すう 枚 まい のウィンドウの最前 さいぜん 面 めん 、タイトルだけを表示 ひょうじ する「シェード」などがサポートされ、これにより、ウィンドウの操作 そうさ を簡単 かんたん に行 おこな うことが出来 でき る。
Single Document Interface (SDI )
ウィンドウにおいて、ひとつのデータをひとつのウィンドウ内 ない に完結 かんけつ させる方式 ほうしき 。この場合 ばあい は、データの数 かず だけ、ウィンドウが出力 しゅつりょく される。他 た のアプリケーションのウィンドウと突 つ き合 あ わせて利用 りよう できるが、その分 ぶん だけ、ウィンドウの数 かず が多 おお くなり、管理 かんり が繁雑 はんざつ になる。
Multiple Document Interface (MDI )
ひとつのウィンドウ内 ない に入 い れ子 こ 状 じょう にウィンドウが表示 ひょうじ され、複数 ふくすう のデータ管理 かんり を行 おこな う方式 ほうしき 。この場合 ばあい は、ウィンドウ管理 かんり が簡単 かんたん になるが、作業 さぎょう の管理 かんり が二 に 重 じゅう になる。
タブ
MDIにおけるデータ管理 かんり 方式 ほうしき のうち、データのタイトルをウィンドウ内 ない に並 なら べ、タイトルを選 えら んで必要 ひつよう なデータだけを表示 ひょうじ するもの。これにより、簡単 かんたん にデータにアクセスできるようになる。
メニュー
アプリケーション、オペレーティングシステム (OS)より指示 しじ できるコマンドを階層 かいそう 上 じょう に表現 ひょうげん したもの。画面 がめん 上部 じょうぶ 、または画面 がめん 下部 かぶ におかれ、そのアプリケーションから利用 りよう できるコマンドがほぼ全 すべ て配置 はいち される。通常 つうじょう は左 ひだり に重要 じゅうよう 度 ど の高 たか いものがおかれ、右 みぎ にいくにしたがって重要 じゅうよう 度 ど は低 ひく くなる。コマンドの階層 かいそう はアプリケーションにより異 こと なるが、ファイル操作 そうさ 、編集 へんしゅう の機能 きのう を重視 じゅうし して、それらのコマンドから左側 ひだりがわ からおかれ、右 みぎ には、ヘルプなどがおかれる。マウスの第 だい 一 いち ボタンによって操作 そうさ する。
コンテキストメニュー
アプリケーションの用意 ようい した階層 かいそう 上 じょう のメニューとは別 べつ に、メニュー以外 いがい のところでマウスの第 だい 二 に ボタンなどを押 お した際 さい に機能 きのう するメニューの事 こと 。ボタンが呼 よ び出 だ された位置 いち に応 おう じてメニューの内容 ないよう が変化 へんか し、編集 へんしゅう 操作 そうさ を簡単 かんたん に行 おこな うことが出来 でき るようになっている。
アイコン
データ管理 かんり アプリケーションにおいて、データ、アプリケーション、ディレクトリ など表現 ひょうげん したもの。
データ管理 かんり アプリケーション、すなわち、ディレクトリにおけるユーザーデータの管理 かんり や、特定 とくてい のデータを管理 かんり を行 おこな うアプリケーションの場合 ばあい 、アイコンによりデータを表現 ひょうげん する。通常 つうじょう は、データの中身 なかみ や、拡張子 かくちょうし などから関連 かんれん づけられたアプリケーションを表現 ひょうげん するが、ユーザーが自由 じゆう に変更 へんこう する場合 ばあい もある。
データのアイコンは開 ひら くことにより、関連 かんれん づけられたアプリケーションの起動 きどう からサポートしてくれる。アプリケーションアイコンは、アプリケーションの起動 きどう だけを行 おこな う。
ボタン
メニューのうち、利用 りよう 頻度 ひんど の高 たか いコマンドを絵 え で表現 ひょうげん し、アプリケーション内 ない に配置 はいち したもの。
アプリケーション上 じょう におかれるボタンは、普通 ふつう はメニューの代 か わりをする。利用 りよう 頻度 ひんど の高 たか いものからおかれ、メニューの階層 かいそう を辿 たど らなくてもその機能 きのう が使 つか えるようになっている。ただし、ユーザーによりコマンドの利用 りよう 頻度 ひんど は異 こと なるので、この配置 はいち を編集 へんしゅう できるようになっているのが普通 ふつう である。
ごみ箱 ばこ
ファイル消去 しょうきょ に対 たい するフェイルセーフ を果 は たすために、「ゴミ箱 ごみばこ 」などと呼 よ ばれる機能 きのう を持 も つものがある。これは、ファイルの消去 しょうきょ を行 おこ なう際 さい に、一時 いちじ 的 てき に別 べつ の場所 ばしょ に移 うつ すことで、誤 あやま ったファイル消去 しょうきょ を未然 みぜん に防 ふせ ぐことが出来 でき る。Macintosh では、ゴミ箱 ごみばこ はファイルだけでなく、さまざまなオブジェクトの削除 さくじょ の機能 きのう を持 も っている。
アプリケーションランチャ
GUI上 じょう からアプリケーションを呼 よ び出 だ す際 さい に様々 さまざま な方式 ほうしき があるが、いくつかのOSではメニュー形式 けいしき のアプリケーションランチャを持 も っている。NEXTSTEP とmacOS では、ドック と呼 よ ばれるパレット型 がた の機構 きこう を持 も ち、ファイルやアプリケーションの各種 かくしゅ の情報 じょうほう を格納 かくのう してクリックでそれらを呼 よ び出 だ せる。
GUIにおいて、作業 さぎょう はウィンドウ単位 たんい に分割 ぶんかつ される。MDIとMac OS (macOSを含 ふく む)の場合 ばあい を除 のぞ いて、「ウィンドウの数 かず = タスクの数 かず 」であることが多 おお い。このため、インタフェース全体 ぜんたい で見 み た場合 ばあい 、どのようにしてタスク管理 かんり を行 おこな うかが重要 じゅうよう になる。Windows 95 以降 いこう のWindows ファミリーをはじめとしていちばん多 おお い方式 ほうしき は、タスクバー と呼 よ ばれる棒状 ぼうじょう の領域 りょういき をデスクトップ上 じょう に用意 ようい し、ここに、各 かく ウィンドウのアイコンやタイトルを並 なら べるものである。これにより、視認 しにん 性 せい 、操作性 そうさせいわる を確保 かくほ しながら、多 おお くのウィンドウを管理 かんり することができる。他 た には、デスクトップ上 じょう のメニューに各 かく ウィンドウを管理 かんり するメニューを追加 ついか する、デスクトップにタスクをアイコンで表示 ひょうじ する(Windows 3.x までのWindowsファミリーの方式 ほうしき )、タスクの数 かず だけ仮想 かそう デスクトップ を用意 ようい する(Palm WebOS などの方式 ほうしき )などの方法 ほうほう がある。macOSはDock でタスク管理 かんり を行 おこな うが、Mission Control というウィンドウ一覧 いちらん 表示 ひょうじ モードも併用 へいよう されている。
GUIの基本 きほん は、ポインティングデバイスによってカーソルを操作 そうさ し、デバイスに付 つ いたボタン(通常 つうじょう 2〜3個 こ )を押 お すことである。これにより、「位置 いち 」と「指示 しじ 」を明確 めいかく にし、視覚 しかく 的 てき な操作 そうさ を行 おこな うことが出来 でき る。
指示 しじ の内容 ないよう は、カーソルの位置 いち によって異 こと なる。データ管理 かんり アプリケーションでは、第 だい 1ボタンは、カーソルの位置 いち にあるデータを選択 せんたく し、2回 かい 連続 れんぞく で押 お す(ダブルクリック する)ことによって、データに応 おう じて適宜 てきぎ 定義 ていぎ されたアプリケーションを呼 よ び出 だ し、処理 しょり を開始 かいし する。アプリケーションのメニュー、ボタン上 じょう では、そのコマンドを開始 かいし する。データ上 じょう では、データにおける操作 そうさ の位置 いち を指示 しじ する。
第 だい 2ボタンは、通常 つうじょう 、どの場合 ばあい でも、アプリケーションによって定義 ていぎ されたコンテキストメニュー を出力 しゅつりょく する。このメニューを第 だい 一 いち ボタンによって指示 しじ することで、そのコマンドを実行 じっこう することができる。第 だい 3ボタンは、X Window System ではよく使 つか われる。
また、最近 さいきん は第 だい 4ボタン、第 だい 5ボタンを装備 そうび したマウスや、第 だい 3ボタンがウィンドウに直接 ちょくせつ 機能 きのう するホイール機能 きのう を兼 か ねているものがあり、適宜 てきぎ 、アプリケーション又 また はOSによって定義 ていぎ された機能 きのう を提供 ていきょう する。
GUIにおいても、キャラクタユーザインタフェースに劣 おと らず、キーボードは重要 じゅうよう なデバイスである。データの内容 ないよう だけでなく、キーボードショートカットといった、インタフェース操作 そうさ を向上 こうじょう させる機能 きのう と連動 れんどう させることで、操作性 そうさせいわる の向上 こうじょう をはかることもある。
上記 じょうき にあげたデバイス以外 いがい にも、タブレット などのペンデバイスによる操作 そうさ もあり、特 とく に画像 がぞう データ操作 そうさ や手書 てが き入力 にゅうりょく において威力 いりょく を発揮 はっき する。
タッチパネル に表示 ひょうじ されたボタンやアイコンに直接 ちょくせつ 指 ゆび やペンで触 ふ れることで、各種 かくしゅ の操作 そうさ を行 おこな うデバイスもあり、ATM などで一般 いっぱん 化 か している。カーナビゲーションシステム やニンテンドーDS でも使 つか われ、直感 ちょっかん 的 てき な操作 そうさ に優 すぐ れる。2007年 ねん 以降 いこう 、パッドに接触 せっしょく する指 ゆび の本数 ほんすう を認識 にんしき し、その振 ふ る舞 ま いを変 か えるマルチタッチ対応 たいおう パネルを利用 りよう した機器 きき が市場 いちば に出回 でまわ るようになった。
GUIは様々 さまざま な方法 ほうほう ・ライブラリを用 もち いて生成 せいせい される。ユーザーへ提示 ていじ される視覚 しかく 的 てき 要素 ようそ はしばしばViewと呼 よ ばれ、ユーザーからの入力 にゅうりょく を扱 あつか う内部 ないぶ 要素 ようそ はしばしばControllerと呼 よ ばれる。
宣言 せんげん 的 てき UIは宣言 せんげん 型 がた プログラミング を用 もち いて構成 こうせい されたGUI、それを実現 じつげん する手法 しゅほう である。GUIの生成 せいせい ・更新 こうしん を変更 へんこう 前 ぜん 状態 じょうたい に基 もと づいた更新 こうしん 命令 めいれい によってコーディングするのではなく、あるべき状態 じょうたい を宣言 せんげん してコーディングする。状態 じょうたい を分離 ぶんり することでUIの状態 じょうたい をより予測 よそく しやすいものにできる。テンプレートエンジン は静的 せいてき テンプレートと動的 どうてき 変数 へんすう の関係 かんけい を宣言 せんげん しているとみなせるため、更新 こうしん された状態 じょうたい とテンプレートからテンプレートエンジンによってUI生成 せいせい をおこなってUIを更新 こうしん する形 かたち は宣言 せんげん 的 てき UIといえる。そういった意味 いみ でも宣言 せんげん 的 てき UI自体 じたい は古 ふる くから存在 そんざい するGUI実装 じっそう 手法 しゅほう の1つである。
2010年代 ねんだい 中盤 ちゅうばん におけるWebアプリケーション の分野 ぶんや を皮切 かわき りに、様々 さまざま なデバイスで宣言 せんげん 的 てき UIを標榜 ひょうぼう するUIフレームワークが登場 とうじょう している。
データ(モデル)とUI(View)を結 むす びつけ、片方 かたがた の変更 へんこう を暗示 あんじ 的 てき に他方 たほう へ伝播 でんぱ する手法 しゅほう をデータバインディング という。宣言 せんげん 的 てき UIと組 く み合 あ わせることで、モデルの変更 へんこう が自動的 じどうてき に宣言 せんげん 的 てき UIの更新 こうしん へと暗示 あんじ 的 てき に反映 はんえい されるようになる。
コマンド入力 にゅうりょく データ入出力 にゅうしゅつりょく 表示 ひょうじ コンテナ ナビゲーション 特殊 とくしゅ ウィンドウ 関連 かんれん 項目 こうもく