今回はこのGUIが何者なのか?Javaとの関係は?など、”基本的な疑問~GUIを使った開発“に因んだ記事を書いていきたいと思います。
「この記事を読んでGUIについてある程度分かるようになった」と思っていただけるように出来るだけわかりやすく努めますので最後までお付き合いください。
GUIとCUI
いきなり本題ですが、まず”GUI”という言葉そのものの意味を把握しておかなければなりません。
GUIやCUIの詳しい解説は後述しますが、このGUIやCUI自体は操作方法を意味します。
GUIとは
“GUI”とはGraphical User Interfaceの頭文字をとった略称のことで、簡単に言うとOSやアプリケーション全般と思っていただいて結構です。Windows然り、iOSやAndroid然り。
別の角度から具体的に解説をするなら”コンピューター操作の対象をアイコンや画像で表現しているユーザーインターフェース“で、マウスやキーボードなどのポインティングデバイスを使用して操作が出来る物を言います。
街中でもGUIを採用しているものは非常に多く見かけることが出来ます。例えば銀行のATMや自動販売機などです。スマートフォンなどもGUIを利用しているものの代表格です。
これらは画面のアイコンを指でタッチするだけで簡単に操作が出来ます。これこそがGUIの役割なわけです。
CUIとは
GUIと対をなす”CUI”の説明も、ざっくりではありますがしていきます。
“CUI”とはcharacter user interfaceの頭文字をとった略称のことです。GUIとは相反する性質を持っています。
GUIが直感的に操作が出来るのに対しCUIはその逆で、キーボードでコマンドを入力し操作します。いわゆる黒画面(コマンドプロンプト)を使って操作するものを想像していただくとお判りいただけるのではないでしょうか。
代表的なOSとしてMS-DOSやUNIXがあります。
GUIの開発について
GUIについて一通り意味を説明したところで、次はGUI開発についての解説に移ります。
GUIを開発する際にはフレームワークを利用するのが一番です。
他の記事でも何度か書いていますが、フレームワークには様々な機能やライブラリ、そして骨組みが用意されています。
ゼロから開発するのは非常に骨が折れる作業となりますが、ある程度骨組みが完成しているものにオリジナルのカスタマイズ(機能追加など)を施すだけ(実際にはもう少し手間がかかりますが)で仕上がるのでとても効率的な開発をすることが出来ます。
次からはこの三つのフレームワークについて詳しく説明していきます。
フレームワーク
Javaで有名なGUIフレームワークと言えば、「Swing」「JavaFx」「AWT」でしょう。
フレームワークの利点については先ほど解説させていただきましたが、ここでは今挙げた三つのフレームワークについて紹介していきます。
Swing
JavaでのGUI開発の代名詞と言っても良いくらい知名度の高いフレームワークです。
Swingの最も特筆すべき特徴は、Javaで構成されているためソースコードを換えることなく異なるOSで同じ動きが期待できる点です。
このフレームワークは、後述するAWTの拡張版パッケージともいえるためAWT+αの機能がありますが、同時にAWTに起因した限界もあります。具体的には、アニメーションを行うためのAPIの提供がないなどが挙げられます。
以前は一番人気のあるフレームワークでしたが、Java 8の登場と共にJavaFxに人気の座を奪われています。
JavaFx
JavaFxはJava 8の登場と共に台頭した人気のあるGUIフレームワークです。
このフレームワークの特徴として、生産性の高さが挙げられます。
これは、元々JavaFxはSwingなどのGUI設計の簡略化を目的として開発されており、他のフレームワークと比較してコードの記述量が少なく済むというのが理由でしょう。
実際、Java 8からはSwingと入れ替わり支持率もトップを獲得しているみたいです。
AWT
AWTは”Abstract Window Toolkit”の略称です。
特徴としては、Swingの基礎とも言うべき位置付けとなっていてパフォーマンスに優れている点です。
但しその一方で、高度なコンポーネント不足が問題視されているケースもあります。
OS間で見た目が異なることも特徴(良い方の特徴ではありませんが)の一つと言えるでしょう。
インストール~表示まで
ここからは理論や説明ではなく、フレームワークのインストールとその表示方法までを解説をしていきます。
今回使用するのは「Eclipse」と「Swing」です。まだEclipseがないという方は予めインストール完了まで進めてから再度読むことをお勧めします。
まずEclipseを立ち上げ、「ヘルプ」→「新規ソフトウェアのインストール」をクリックします。
作業対象でEclipseのバージョンを選択します。次に下のリスト項目内にある「一般用ツール」→「Swing デザイナー」と「Swing デザイナー・ドキュメント」にそれぞれチェックを入れ「次へ」をクリックします。
インストール詳細はそのまま何も変更を加えず「次へ」をクリックします。
ライセンスのレビューに進んだら、「使用条件の項目に同意します」にチェックを入れ、「完了」をクリックするとインストールが始まります。
インストールが完了すると再起動を促すポップアップが表示されますので、「今すぐ再起動」をくりっくします。
これでSwingのインストールは完了です。続いてプロジェクトを使ってみましょう。
メニューバーから「ファイル」→「新規」→「Javaプロジェクト」をクリックします。
Java プロジェクトの作成というポップアップが表示されます。「プロジェクト名」に任意の名前を付け、「実行環境 JRE の使用」で”JavaSE-1.8″を選択し、最後に完了をクリックします。
次に、作成されたプロジェクトを右クリックし表示されたメニューの中から「新規」→「その他」をクリックします。
ウィザードを選択というポップアップが表示されますので「WindowBuilder」→「Swing デザイナー」→「JFrame」を選択し、「次へ」をクリックします。
Create JFrameのポップアップが表示されますので、「名前」に名前を入力し、「完了」をクリックします。
完了すると自動で記述されたコードが表示されます。コードのウィンドウ左下に「ソース」と「デザイン」という2種類のタブがありますので、「デザイン」の方を表示させます。
これでGUIの開発環境を表示させることが出来ました。
まとめ
いかがでしたか?
今回はGUIに関する基本的な知識とフレームワークのインストール方法などについて解説してきました。
Javaの学習する上で早い段階でとりあえず一度は触れておいた方が良いものでもありますので、初心者の方も解らないなりに色々試してみましょう。
触ることによって何が分からないかを知るいい機会にもなりますし、Java開発という根底の何かが見えてくるかもしれません。
就職情報誌によく見るIT企業の仕事内容説明として「GUIを使っての開発サポート」というものがありますが、これは「EclipseなどのIDEを使って開発します」と言っているのと同じです。