
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
一番楽かつポピュラーなのは
c#+.net Framework。
WindowsFormsとWPFの2形態があるけど
お好きな方をどうぞ。
画面にペタペタ部品を貼って、イベントハンドラ
を書いて行くタイプのプログラミング。
兎に角とっつきやすい。
業務の新規のデスクトップアプリ開発だと、
ほぼこれが唯一の選択肢です。
Visual StudioのCommunity Edition(無料) を入れれば
必要なものは全て揃います。
個人的には、Delphi(エンバカデロ) も面白いです。
元々、Windowsのデスクトップアプリの作成技術は
Borlandという会社がDelphiで実装し、
後にBorlandの技術者の多くがMSへ移って作り上げたのが
.netFrameWork。C#の開発者はかつてのDelphiの開発リーダーです。
Delphiも未だ現役で、windows、Android、iOSのGUlアプリを
作成できます。無料のcommmunity edition も有ります。
数日前に最新版がリリースしたばかり。
VB6という選択肢も有りですが
#仕事は未だにとんでもなく多い
もう個人での入手は容易ではないですね。
No.2
- 回答日時:
> 本格的なGUIを作るのにおすすめの言語を教えて頂けると嬉しいです。
GUIを作る言語、なんつーのは・・・基本ありません。無いのです。
現在、あるのはGUIを作るツールセット、要するにライブラリ、です。
で、必要なのはそれらツールセットとやり取りが出来るプログラム言語側の仕組みです。
それさえあれば別にどの言語でもGUIは作れます。
そして多分「GUIを作る」って意味もちょっと分かってないと思います。
「一からGUIを作る」としたらOSと見た目も動作も合わないブツになるんですよ。
例えばWindowsならWindows「らしさ」が必要だし、MacならMac「らしさ」が必要です。
一方、実際そういうのが一時期あったんですが、WindowsにLinux「らしい」GUIの見た目と使い勝手のソフトなんざあったら使いづらくてシャレにならんのです。いや、マジでそういうのが一時期あったりして(笑)。
つまり、「使ってるOSに良く合う」見た目と操作性じゃないと実用的にはダメなんですよね。そういうのを「ルックアンドフィール」って呼ぶんですが。
そういうわけで、ライブラリが非常に重要で、そっちの方が実用性が高いのです。
そしてそれらは、繰り返しますが、プログラミング言語の一部ではないです。どっちかと言うと独立した要素で、プログラミング言語に必要なのは、それをそのプログラミング言語から「呼び出せる」通称、バインディング、と言う機能なんですね。
各OSはGUI用のAPI(Application Program Interface)を備えています。ただし、これらはかなり低レベルで使いにくい。そのためにその低レベルな部分を隠蔽するように作られてるのがGUIを作るためのライブラリです。
有名なモノは恐らく次の2つでしょう。
1. wxWidgets: Cross-Platform GUI Library:
https://www.wxwidgets.org/
2. Qt: 組み込み&デスクトップ向けクロスプラットフォームソフトウェア開発
https://www.qt.io/ja-jp/
本当に本格的にGUIを作りたければ後者のQtになります。これは、例えばGoogleのWindows向けアプリケーションのGUIなんかを作ってるライブラリですね。また、WebKitと言うブラウザのベースを提供してるライブラリでもあります。
前者は割にラクチンにGUIを作れるライブラリです。Linux系でWindowsにも移植されてるソフトウェア(例えばAudacityとか)のGUIを作ってるのがこのライブラリです。
んで、実は非常に重要なのは、これらは実は「プログラミング」する必要はないのです。いや、出来ますが、必須じゃない。
と言うのも、GUI作る際はGUIビルダーって言われるツールがあって、基本的にマウスで「部品」をペタペタ貼っていくんですよ。それら部品が「どう動くのか」はプログラミングしなきゃいけないんですが、「見た目」はペタペタ貼るモノだ、って考えて、まぁ間違いないです。
んで、wxWidgetsにはwxWidgetsの、QtにはQtの、それぞれにGUIビルダーがある。そういう事です。
ここではwxWidgetsの解説ページを貼っておきます。
wxWidgets でクロスプラットフォーム GUIアプリを作ろう:
http://0xcc.net/pub/uu-2004-08/
UNIXの記事ですが心配ないです。だから「クロスプラットフォーム」なのです。
(記事自体は若干古いですがね)
Qtの方はマニュアルが充実してるんでQtのGUIビルダから使い方を辿れるでしょう。
wxWidgetsもQtもC++を念頭に置いて開発されましたが、例えばPythonなんかからでもアクセス可能です(Qtは)。
wxWidgetsのバインディングを提供してる言語:
・Python
・PHP
・Erlang
・Haskell
・Haxe
・Tcl
・Lua
・Perl
・Ruby
・Smalltalk
・Basic
・FreeBasic
・BlitzMax
・C
・D
・Euphoria
・.Net Framework
・Java
・JavaScript
ラクさ、で言うとPython辺りが無難ですかね。
まぁ、参考まで、に。
写真: wxWidgets用のGUIビルダー、wxGlade。
左にGUIの各「材料」、右にGUIの「階層構造」が表示されている。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- ソフトウェア LINUX向けのGUIアプリケーション開発 1 2022/09/21 17:38
- 留学・ワーキングホリデー 〈留学、友達作りについて〉 高校留学中の者なのですが第一印象で相手に好いて貰えるコツを教えて頂きたい 1 2023/01/24 04:34
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- デスクトップパソコン 自作ゲーミングPCについて https://jisaku.com/pc/AMFkVxYKedpgXU 3 2022/07/06 14:32
- その他(就職・転職・働き方) こんばんは~!! 障害者手帳持っていますので A型作業所に通っていますが 質問ですが A型作業所に通 0 2023/05/16 17:50
- Windows 10 Windows 10の[アプリと機能]に表示されない旧バージョンのアプリを削除したい 1 2022/04/05 20:25
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- Windows 10 Windows10搭載の画面録画 容量を小さくする方法ありますか? 3 2022/06/21 09:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iCloudフォトライブラリ内の画...
-
Windows Media Playerを開くと...
-
SSLをC言語でプログラミング
-
C++Builderで
-
c# 特徴の命名の仕方
-
MFC VC++ で4G以上のファイル...
-
ツリーを生成できるライブラリ...
-
.NETのガイドラインでは○○とな...
-
ホームページのスクリプトについて
-
LAMEのコンソールアプリ
-
C言語にはJavaのような豊富なラ...
-
iTunes:共有ディスク上の曲情...
-
メディアプレーヤーを新しくす...
-
pygame.error: File is not a W...
-
DXライブラリで作ったゲームを...
-
起動時に毎回出るのです
-
Mac Firefox グーグルツール...
-
リツイートキャンペーンを実装...
-
DOS上でTCP通信を行うプログラ...
-
H8/3052 クロスコンパイラ環境...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows Media Playerを開くと...
-
Google ColaboでGUI作成
-
python urlopen error について...
-
システムコールと標準ライブラ...
-
iCloudフォトライブラリ内の画...
-
本格的なGUIを作るのにおすすめ...
-
C言語について。
-
ライブラリ作成時のグローバル...
-
設定ファイルを扱うライブラリ...
-
MFCとWIN32API
-
C++ 標準ライブラリの実際の中...
-
declaration of 'index' shadow...
-
Ps+のフリープレイでDestiny2の...
-
マウスのクリックを自動で
-
LIBCMT.LIBをリンクしてコンパ...
-
お絵かきソフトプログラミング...
-
ISOイメージの作成方法について
-
boostのアンインストールについて
-
C# EXCELセルの入力規則設定に...
-
unix-c と linux-c の違いは?
おすすめ情報