目次
21 関係: Abstract Window Toolkit、ルック・アンド・フィール、レイアウトマネージャ、プラグイン、プログラミング言語、ホットスワップ、アプリケーションプログラミングインタフェース、ウィンドウシステム、ウィジェット・ツールキット、オペレーティングシステム、オラクル (企業)、グラフィカルユーザインタフェース、コンポーネント、スレッド (コンピュータ)、ソフトウェアコンポーネント、Java、Java Foundation Classes、JavaBeans、JavaFX、Model View Controller、Standard Widget Toolkit。
- ウィジェット・ツールキット
Abstract Window Toolkit
AWTの部品を使ったウィンドウの例 Abstract Window Toolkit (AWT) とは、Javaの独自のプラットフォーム非依存なウィンドウシステム、グラフィックス、ユーザインタフェース (UI)、ウィジェット・ツールキットのことである。AWTは現在はJava Foundation Classes (JFC) に含まれ、Javaプログラム用グラフィカルユーザインタフェース (GUI) を提供する標準APIの一部となっている。 サン・マイクロシステムズは1995年にJavaを最初にリリースしたとき、AWTは、下層のネイティブなユーザインタフェース上に薄い抽象化レベルを提供した。例えば、AWTのチェックボックスを作成する際、AWTはチェックボックスを作成する下層のネイティブサブルーチンを直接呼び出していた。しかしながら、Microsoft Windowsのチェックボックスは、Mac OSや様々なUNIX互換OSにおけるチェックボックスとは厳密には同じではなかった。下層のネイティブなウィンドウツールキットに高度に忠実で、ネイティブなアプリケーションとのシームレスな統合を提供することから、アプリケーション開発者の中にはこのモデルを好む者もいる。言い換えれば、AWTを使って書かれたGUIプログラムは、Windows上で動作するときはネイティブなWindowsアプリケーションのような外観になるが、Mac上で動作するときはネイティブなApple Macintoshアプリケーションのような外観になる、などということである。しかしながら、アプリケーション開発者の中には、全てのプラットフォーム上で開発したアプリケーションが厳密に同じ外観であることを好むため、このモデルを嫌う者もいた。
見る SwingとAbstract Window Toolkit
ルック・アンド・フィール
ルック・アンド・フィール(look and feel、LnF)とは、グラフィカルユーザーインターフェイス (GUI) における色、形状、レイアウト、書体 (typeface) のような要素を含むデザインの外観(ルック)と、ボタン、テキストボックス、メニューといった動的要素の振る舞い(フィール、感触)からなる。 ルック・アンド・フィールという用語はソフトウェアとウェブサイト両方に関して使われている。それ以外にも、文書では例えば、視覚的なレイアウト(ドキュメントサイズ、色、フォント、その他)と書式 (style) を意味する。設備の文脈では、それは生産ラインを通じた制御と表示の一貫性を意味する。
レイアウトマネージャ
レイアウトマネージャ(Layout manager)は、ウィジェット・ツールキットで使われるソフトウェアコンポーネントであり、距離単位を使わずにウィジェット群を相対位置に基づいて配置する機能を持つ。 多くのウィジェット・ツールキットはデフォルトでこの機能を備えており、ピクセル単位などの距離単位を使って(画面全体の)絶対座標や(親ウィンドウの)相対座標で配置を定義するよりも自然な配置が可能である。この機能によって、ウィジェット・ツールキットは2種類に分類できる。
プラグイン
プラグイン (plug-in)。
見る Swingとプラグイン
プログラミング言語
プログラミング言語(プログラミングげんご、)とは、プログラムを記述するための人工言語。コンピュータプログラムを書くために考案された、正確に定義された記号と規則のしくみ。以前は、しばしばプログラム言語と表記された。
ホットスワップ
ホットスワップ(Hot swap)は、日本語で活線挿抜(かっせんそうばつ)または活性挿抜とも表記され、主電源を投入したまま脱着を行える構造を備えた機器の仕組みを言う。 通常、稼働中の機器内部の各コンポーネントには電源が繋がっており、それを用いて稼働している。ホットスワップや類似した技術が採用されていない機器では、この状態で一部のパーツを外すと回路がオープンになって機器全体が不安定となったり、配線がショートする恐れがあった。ホットスワップが採用される以前の一部の機器は電源系を制御する仕組みを持ち、コマンドやパネル操作によってパーツ毎の電源をON/OFFして交換する事が出来たが、汎用的な仕組みは無く機器独自仕様に留まっていた。
アプリケーションプログラミングインタフェース
アプリケーションプログラミングインタフェース(、)「インターフェイス」「インターフェース」と表記されることもあるが、本記事では「インタフェース」で統一する。とは、広義ではソフトウェアコンポーネント同士が互いに情報をやりとりするのに使用するインタフェースの仕様である。 APIには、サブルーチン、データ構造、オブジェクトクラス、変数などの仕様が含まれる。APIには様々な形態があり、POSIXのような国際標準規格、マイクロソフトのWindows APIのようなベンダーによる文書、プログラミング言語の標準ライブラリ(例えば、C++のStandard Template Libraryやなど)がある。 商業的に使われる狭義では、各種システムやサービス(ハードウェア、OS、ミドルウェアおよびWebサービス等)を利用するアプリケーションソフトウェア (Application) を開発・プログラミング (Programming) するためのインタフェース (Interface) である。こちらの意味では、システムやサービスから直接提供されないもの、例えば言語の標準ライブラリは含まない。
見る Swingとアプリケーションプログラミングインタフェース
ウィンドウシステム
ウィンドウシステム とは、平行する複数のタスクにそれぞれ固有の領域としてウィンドウを割当て、画面出力を多重化する、コンピュータ上のメカニズム、及びそのためのソフトウェアのこと。グラフィカルユーザインタフェース (GUI) としてのデスクトップ環境の構成要素で、ウィンドウマネージャの実装をサポートし、グラフィックハードウェアやポインティングデバイスやキーボードの基本的なサポートを提供する。
ウィジェット・ツールキット
ウィジェット・ツールキット (widget toolkit) あるいは GUIツールキット とは、グラフィカルユーザインタフェース (GUI) を構成する部品の集合である。通常、ライブラリやアプリケーションフレームワークの形式で実装される。分野によって、ウィジェットはコントロールあるいはコンポーネントとも呼ばれる。GUIを利用したデスクトップアプリケーションやモバイルアプリケーションといった、アプリケーションソフトウェアの作成に用いられる。 個々の部品についてはウィジェット (GUI)を参照されたい。
オペレーティングシステム
オペレーティングシステム(operating system、略称:OS、オーエス)とは、コンピュータのオペレーション(操作・運用・運転)を司るシステムソフトウェアである。
オラクル (企業)
オラクル()は、アメリカ合衆国カリフォルニア州創業、テキサス州に本拠を置く、民間法人や公的機関を対象とするビジネス用途に特化したソフトウェア会社である。日本法人は日本オラクル。 2007年には世界で第3位のソフトウェア会社となる。
グラフィカルユーザインタフェース
GUIを提供するソフトウェアの1つ、GNOME グラフィカルユーザインタフェース(graphical user interface、略称:GUI(ジーユーアイ、グイ、グーイ))は、コンピュータグラフィックスとポインティングデバイスなどを用いる、グラフィカル(ビジュアル)であることを特徴とするユーザインタフェース。キャラクタユーザインタフェース (CUI) やテキストユーザインタフェース (TUI) と対比して語られることが多い。
コンポーネント
コンポーネント()は、構成要素や部品や要素などと訳され、分野によっては成分と訳されることもある。各分野の意味は下の通り。
スレッド (コンピュータ)
スレッド(thread)とは、コンピュータプログラムにおいて特定の処理を行うための一貫性のある命令の流れのことであり、プロセッサ利用の最小単位。プロセスは少なくとも1つ以上のスレッドを含む。一般的に各プロセスには独立した仮想アドレス空間が割り当てられるが、プロセス内のスレッド群はアドレス空間を共有する。そのためプログラムを実行するときのコンテキスト情報が最小で済み、同じプロセス内でスレッドを切り替える際はアドレス空間の切り替えが不要となるので、切り替えが高速になる。スレッドは、thread of execution(実行の脈絡)という言葉を省略したものである。複数のスレッドを生成して個々に処理を割り当てて実行させることで、並行処理による応答性の向上などを実現でき、さらにマルチコアプロセッサを複数のスレッドによって活用することで、並列処理による実行時間の短縮などを実現できる(これらの手法をマルチスレッドプログラミングと呼ぶ)。
ソフトウェアコンポーネント
UML 2.0 のコンポーネント図で、2つのコンポーネントを表現した例。CheckoutコンポーネントはCardProcessingコンポーネントを使用している。 ソフトウェアコンポーネント(software component / software componentry)は、ソフトウェアシステムの様々な機能を関心の分離によって分割したものである。システムを独立した結合の弱い再利用可能なコンポーネント(部品)群で構成する設計技法は Component-Based Software Engineering (CBSE) と呼ばれ、ソフトウェア工学の一分野となっている。 コンポーネントの考え方は、サービス指向の起点となっている。例えば、Webサービスやサービス指向アーキテクチャ (SOA) ではソフトウェアコンポーネントの考え方を発展させサービスをコンポーネント化するという考え方をする。
Java
Java(ジャバ、ジャヴァ)は、汎用プログラミング言語とソフトウェアプラットフォームの双方を指している総称ブランドである。オラクルおよびその関連会社の登録商標である。1996年にサン・マイクロシステムズによって市場リリースされ、2010年に同社がオラクルに吸収合併された事によりJavaの版権もそちらに移行した。 プログラミング言語Javaは、C++に類似の構文、クラスベースのオブジェクト指向、マルチスレッド、ガベージコレクション、コンポーネントベース、分散コンピューティングといった特徴を持ち、平易性重視のプログラム書式による堅牢性と、仮想マシン上での実行によるセキュリティ性およびプラットフォーム非依存性が理念とされている。
見る SwingとJava
Java Foundation Classes
Java Foundation Classes (JFC) は ポータブルなJavaベースのGUIを構築するためのグラフィカルフレームワークである。JFCはAbstract Window Toolkit (AWT)、Swing、Java 2Dから成る。共にそれらは、基礎を成し、ユーザインタフェースシステムがWindowsであろうとmacOSであろうとLinuxであろうと、Javaプログラムに一貫したユーザインタフェースを提供する。 AWTは他の2つのインタフェースライブラリよりも古く、ホストプラットフォームのネイティブなグラフィクス機能をもとにした単なるラッパーに過ぎないことで厳しく批評された。それはAWTの標準ウィジェットがこれらのネイティブウィジェットの能力に頼っており、ホストプラットフォーム間の違いも意識することをデベロッパーに要求していることを意味した。
見る SwingとJava Foundation Classes
JavaBeans
JavaBeans(ジャバ ビーンズ)とは、Javaで書かれた再利用可能なソフトウェアコンポーネントまたはその技術仕様のこと。1997年後半に登場。JDKのjava.beansパッケージと共にRAD環境の構築を支援するために作られた。現在ではjava.beansパッケージの技術を活用し、RAD環境の構築に限らずJSP等幅広い用途で利用されている。
JavaFX
JavaFX(ジャバエフエックス)とはJava仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリである。Java SE 7 Update 2以降に標準搭載されている。Swingとは異なり、FXMLと呼ばれるXMLとCSSを併用してデザインを記述する。
見る SwingとJavaFX
Model View Controller
Model-View-Controller (MVC、モデル・ビュー・コントローラ) はUIを持つソフトウェアに適用されるソフトウェアアーキテクチャの一種である。 MVCはソフトウェアを処理/Model・表示/View・入力伝達/Controllerの3要素に分割し、ソフトウェア内部データをユーザーが直接参照・編集する情報から分離する。プレゼンテーション(View・Controller)とドメイン(Model)を分離しまたユーザー入力(Controller)と表示(View)も分離することでソフトウェアの保守性・開発生産性を向上させる。
見る SwingとModel View Controller
Standard Widget Toolkit
Standard Widget Toolkit(SWT)は、Javaプラットフォーム用ウィジェット・ツールキットの一種。元々、IBMが開発したが、現在はEclipse FoundationがEclipseと共に管理保守している。サン・マイクロシステムズがJava標準の一環として提供するJava用GUIツールキットであるAWTとSwingを代替するものとして開発された。 SWTはJavaで書かれている。GUI部品を表示するため、SWTはそのオペレーティングシステム (OS) が提供するGUIライブラリを JNI (Java Native Interface) 経由で使用する(これはシステム固有のAPIを使う一般的手法である)。SWTを使うプログラムは移植性があるが、ツールキット自体の実装はJavaでかかれているにもかかわらず、各プラットフォーム固有である。
見る SwingとStandard Widget Toolkit
参考情報
ウィジェット・ツールキット
- Abstract Window Toolkit
- Aqua (コンピュータ)
- FLTK
- GNUstep
- GTK (ツールキット)
- GTK-Qt
- LessTif
- Microsoft Foundation Class
- OPEN LOOK
- PyGTK
- PyQt
- PySide
- Qt
- Standard Widget Toolkit
- SunView
- Swing
- Tk (ツールキット)
- Windows Forms
- Windows Presentation Foundation
- Windows UI Library
- WxPython
- WxWidgets
- ウィジェット・ツールキット
- レイアウトマネージャ

