グラフィカルユーザインタフェース
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/06/07 08:24 UTC 版)
歴史
世界初の実用となった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]。
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”. IT用語辞典バイナリ. 2020年7月11日閲覧。
- ^ エンゲルバートによる1968年のプレゼンテーションの一部。レポートや論文をどのようにして共同作成・編集・完成・閲覧・出力させるかのデモ。[リンク切れ]
- ^ THE EARLY HISTORY OF SMALLTALK, Alan C.Kay
- ^ 宣言的な View React 2019-11-08閲覧
- ^ シンプルで宣言的なテンプレートを使用して素早く機能を構築します Angular 2019-11-08閲覧
- ^ Vue.js のコアは、単純なテンプレート構文を使って宣言的にデータを DOM に描画することを可能にするシステムです Vue.js - はじめに - 宣言的レンダリング
- ^ 宣言型シンタックス. SwiftUIは宣言型シンタックスを使用しているため、ユーザーインターフェイスの動作をシンプルに記述することができます。 SwiftUI
- ^ React components wrap existing native code and interact with native APIs via React’s declarative UI paradigm and JavaScript. React Native
- ^ declarative style used by Flutter Flutter - Introduction to Declarative UI
グラフィカルユーザインタフェースと同じ種類の言葉
インタフェースに関連する言葉 | マルチモーダルインタフェース ユーザインタフェース グラフィカルユーザインタフェース キャラクタユーザインタフェース インタフェース |
- グラフィカルユーザインタフェースのページへのリンク