マンガでよめる痔のこと・薬のこと

これまで、WEBサイト系のプログラミングやっておりましたが、デスクトップアプリも作りたいと思うようになりました。そこで、デスクトップアプリ(ソフトウェア)を作ることができる言語はOSにもよりますが何が主流でしょうか? Javaで考えておりますが、Swingやawtで、作ることは一般的でしょうか? 又は、VB…など 又は、Electronのようなクロスプラットフォームのもので作るのがよいでしょうか? 調べてみると、たくさん検索に引っかかるので、何がよいのかわかりません。

A 回答 (4件)

Javaで作成したデスクトップアプリもありますが、あまり主流ではないと感じます。

最大の欠点が、Javaで作成すると、JavaランタイムをインストールしたPCでしか動作しないためです。

SwingやAWTで作成すると、それ特有のユーザーインターフェースになってしまいます。SWTというライブラリを使うとネイティブアプリと全く同じようなアプリを作れますが、動作にJavaが必要という制約はつきます。

WEBサイト系のプログラミングのご経験があるということなので、(私は経験がありませんが)Electronはとっつきやすいと思います。私もWebプログラミングの経験がありますが、Apache Cordova(Web技術を用いたスマホアプリ開発ライブラリ)は簡単に覚えられました。

全く新しい技術を覚えようとすると、ハードルが高く、途中で挫折する可能性が高いので、なるべくご自分の経験を活かせるものを選んでみた方が良いと思います。
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2017/12/11 20:39

ソフトウェアと言ってもたくさん種類がありますがJavaなら動きがあるものの開発が得意です。


やはり開発しようとしているソフトウェアでおすすめするものは変わりますが私個人としての意見はアプリ開発をするなら断然Javaがおすすめです。これも私個人としての意見ですがJavaの基礎知識だけ覚えてアンドロイドスタジオを使えば比較的快適にアプリ開発が行えます。
何かJavaについての質問がある場合はこちらまで「下」
https://hinacchi1234.wixsite.com/mysite-1
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2017/12/11 20:39

>何がよいのかわかりません。


C言語
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2017/12/11 20:38

デスクトップソフトウェアと言うとクライアントサーバー型と考えて良いでしょうか?それであればC#やVBでVisualStudioをインストールしてGUIでコントロールを貼り付け、フォームレイアウトを作成しつつソースを書いてexeをつくるというような事が割と手軽に行う事ができます。

Javaもそのような事ができたと思います。何を作りたいとお考えかにもよるとは思います。
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2017/12/11 20:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qデスクトップアプリケーション作成時の開発言語について

PC上で動作するデスクトッププログラムを作りたいと思っているのですが、プログラミング言語の
選択肢が多く迷っています。
プラットフォームとしては当面はWindowsを考えているのですが、将来的にはLinux等(PC-UNIX)でも
デスクトップアプリを作成してみたいと考えています。

今は言語の選択肢として、C言語, C++, Java, C#を候補にしています。
上記のプラットフォームでデスクトップのプログラムを作成する場合、どの言語が一番相性がよい、
あるいは将来性があるのでしょうか?

私の各言語に対する認識は下記の通りですが、この認識で間違いないでしょうか?

・C言語
  もっともよく使われているプログラム言語。
  WindowsはSDK(Win32API)での開発になる。
  LinuxのプログラムはC言語が多い。
  基本となる言語で情報も多い。

・C++
  C言語にオブジェクト指向の概念を加えた言語。
  Windowsでの開発はSDK、又はMFC。
  C++の習得には時間がかかるが、今後はC言語より主流になる(?)

・Java
  マルチプラットフォームのプログラム言語。
  オブジェクト指向の言語。
  Webやサーバーサイド、携帯電話アプリの開発では主流であるが、
  デスクトップ分野では実行速度や実行環境(JRE)がネックになり
  あまり使われていない。
  SWTを使えば、SWINGやAWTより実行速度がUPしたGUIアプリの
  開発が可能。

・C#
  C++をベースにJava, Delphi等の既存言語のいいとこどりをして、
  .NET Framework用に新たに開発された言語。
  今後のWindowsアプリでは、C#が主流になる(?)
  Javaと同様に実行環境(.NET Framework)が必要となる。
  実行環境は今後のWindowsプラットフォーム上には標準で搭載される。
  Linux上では mono というオープンソースの実行環境がある。

PC上で動作するデスクトッププログラムを作りたいと思っているのですが、プログラミング言語の
選択肢が多く迷っています。
プラットフォームとしては当面はWindowsを考えているのですが、将来的にはLinux等(PC-UNIX)でも
デスクトップアプリを作成してみたいと考えています。

今は言語の選択肢として、C言語, C++, Java, C#を候補にしています。
上記のプラットフォームでデスクトップのプログラムを作成する場合、どの言語が一番相性がよい、
あるいは将来性があるのでしょうか?

私の各言語に対する...続きを読む

Aベストアンサー

マルチプラットフォームでプログラミングするならJavaですね。
C#は何と言ってもマイナーなので、協力者は少ないと思います。
C++は、強力ですが、別のプラットフォームに移すためには修正が必要になります。その他の言語も同じですね。

JavaのVMは、これからどんどん改良されると思うので、Javaが一番でしょう。

私はC++を良く使ってますが、これからJavaの要求が増えるとあちこちで耳にしています。
ただし、高速な処理を要求されるアプリケーションなら、ネイティブコードでコンパイルしなければならないので、そうなるとCかC++が良いのではないでしょうか?

QWindows系GUIプログラム開発のお勧め言語またはツールについて

こんにちは。
私は主にUNIX、Linux系のアプリケーションやドライバを作ってきましたが、Windowsアプリケーションは、VC++、C++Builderでデモプログラムを作った経験がほんの少しあるだけです。ただし、X-Windowのアプリケーションを作ったことはあるので、GUI系のアプリケーションがどんなものかはだいたい想像がつくつもりです。

今度、業務でWindows系アプリケーションを作らなければならなくなり、どの言語で作るのがいいのか悩んでいます。

作ろうとするアプリケーションは、以下のようなものです。

○装置監視のデータ表示系。Linuxマシン上のMySQLデータベースに装置監視データが入っていて、これを画面に表示する。画面からデータベースへのアクセスはSQLを使いたい。
○Linuxマシンと監視系Windowsマシンは遠く離れており、ISDN(64K)でLANをつなぐ予定。通信帯域が64Kしかないので、通信量がネックになるかも。
○監視画面には、トレンドグラフやリアルタイムの表示更新が発生する。更新周期は秒単位。
○監視画面はさまざまな機能を持ち、およそ30種類ほどの画面を開発する必要があるので、開発の手間の大小は重要。

画面の作り易さということで言えば、VBがいちばんいいのでしょうか?私はVBはさわったこともないのですが、画面作成ではVBがいちばんポピュラーなのかなと思います。それとも、VBもVCもあまり変わらない?
Javaという選択肢もあると思うのですが、私のまわりにはJavaで画面を作っている人はいなさそうです。Javaで開発している人はEclipseを使っているようなのですが、はたして使い易いのか?

「業務用画面プログラムを作成するとき、特に開発のしやすさで選ぶなら、どの言語(開発ツール)をお勧めしますか?」ということで、いろいろご意見を頂ければ幸いです。

よろしくお願いいたします。

こんにちは。
私は主にUNIX、Linux系のアプリケーションやドライバを作ってきましたが、Windowsアプリケーションは、VC++、C++Builderでデモプログラムを作った経験がほんの少しあるだけです。ただし、X-Windowのアプリケーションを作ったことはあるので、GUI系のアプリケーションがどんなものかはだいたい想像がつくつもりです。

今度、業務でWindows系アプリケーションを作らなければならなくなり、どの言語で作るのがいいのか悩んでいます。

作ろうとするアプリケーションは、以下のようなものです。

...続きを読む

Aベストアンサー

.NETだとVBでできることはC#,C++等でも可能ですから、他の言語経験者には特にメリットは無く、VB.NETの言語のごちゃごちゃなところがデメリットだろうと思います。
新しい言語でいいならVBよりはC#の方がいいと思います。

C,C++に慣れているなら経験のあるC++Builderがいいかも知れません。

あとは、Windowsマシンが特定のマシン前提か、さまざなマシンを対象にするかでしょうね。
Javaもいいですが、通常は実行環境インストールされてませんし、.NETもそういう意味では同じですね。
また、VBも6使ってもDLLの問題があるかも知れません。
XP移行なら.NET Frameworkも既にはいってるでしょうけど、対象OSやマシンパワーの問題もあるかも?
開発のしやすさとは関係無いですが気になったので。

Qhtml上で、バッチやexeファイルの起動をしたい

わけあって、学校(養護学校)初心者向けにhtmlでメニューを作っています。
さて、スタートボタンやディスクトップにショートカットを使わず、htmlの中からバッチファイルやexeファイルを起動できるでしょうか?

もし可能ならば、教えてください。OSはWindows XPで起動したいファイルはexeファイルとバッチファイルです。
よろしくお願いします。

Aベストアンサー

<html><head></head>
<body>
<a href="file:///c:/windows/system32/calc.exe">電卓</a>
</body>
</html>

Q日付型のフィールドに空白を入れる方法を教えてください

ASP(VBScript)でSQLサーバにINSET INTO文を使ってデータを格納しているのですが、日付の部分がNULLの時、「1900/1/1」が入ってしまいます。
そのまま、空白を入れる方法はどうやったらよろしいのでしょうか?

TABLE1の内容は
番号|内容|日付です。

INSERT INTO TABLE1 VALUES ( 1, 'あいう', '')

結果
1|あいう|1900/1/1

Aベストアンサー

あとは、プログラムの書き方次第ですね、、、


If hensu=Null Or hensu="" Then
dt = "NULL"
Else
dt = "'" & hensu & "'"
End IF

E_SQL = "INSERT INTO TABLE1 VALUES & _
"( 1,'あいう', " & dt& ")"
の様に書きます。

Qファイルやディレクトリの存在確認を行う方法

ファイルをオープンするのはfopenでOKですが、ファイルやディレクトリの存在確認を行う方法が知りたいです。

何か組み合わせて作るものなのでしょうか?
perlとか便利な演算子があるのですが、C/C++って器用ではないですね。
これは処理系?依存の内容ですか?

私の環境は VC6, VC2005 Windows2000です。

Aベストアンサー

int access(const char* path, int mode);
int stat(const char* path, struct stat* sb);

かな?
MSDN を引くと _access_s() を使えとか書いてあるけど。

Qexeファイルを作成できるプログラミング言語

私は最近プログラミングを始めたばかりで、
まだCとC++とアセンブリを少し知ってる程度です。
この3つのプログラミング言語ではexeファイルを作成できるのは
知ってるのですが、他のプログラミング言語でもexeファイルなどの
実行形式ファイルを作成できるのでしょうか?

Aベストアンサー

通常はexeを生成せずに使うが、ツールを使うとexeを生成して1ファイルだけあれば実行できるようにできるという言語もあります。
ライブラリなどをインストールせずに実行するためです。

Perl Ruby ・・・・

VBScript JScriptはWindows標準でインストールされているので、追加で何もインストールせずに実行できますが、同じくexe化のツールがあるようです。

逆にEXEが生成できても普通にコンパイル・リンクすると専用のDLLライブラリが必要な言語が多いはず。おそらくオプションの指定でDLLライブラリを使わないように出来るはずですが。

QVBAでこれってどういう意味でしょうか?

いつもお世話になっております。
こちらで何度か質問した際に、VBAで下記のようなものが書かれておりました。

Application.ScreenUpdating =

更新するかしないかを調べるものらしいですが、最初に更新しているかしていないか確認する必要があるのでしょうか?
なお、他にも時々見受けられる「Application」はどういう意味なのでしょうか?
ご存知の方、教えていただければと思います。
よろしくお願いいたします。

Aベストアンサー

>Application.ScreenUpdating =
調べるのではなく、設定しているのです。
Application.ScreenUpdating = False
とすると、VBAからExcelのセルの中を変更しても、画面は変わらなくなります。
Application.ScreenUpdating = True
とすると、VBAから変更したセルの内容が画面に表示されます。

なんでこんな処理があるかというと、
VBAからExcelのセルを変更するとき、変更の途中の状態が画面に表示されると、速度も遅くなりますし、画面も一時的にちらちらしたりして見にくくなります。

そのため、

Application.ScreenUpdating = False

…セルの内容を変更するなどの処理…

Application.ScreenUpdating = True

とやって、処理をする間、画面の表示を変えないようにしています。

>Applicationはどういう意味なのでしょうか
VBAでApplicationというのは、ExcelとかWordとか、VBAが動くOfficeアプリ自身のことです。

Application.ScreenUpdating は、たとえばExcelのVBAなら、「Excelの、画面更新するかどうかの情報」を指しています。

>Application.ScreenUpdating =
調べるのではなく、設定しているのです。
Application.ScreenUpdating = False
とすると、VBAからExcelのセルの中を変更しても、画面は変わらなくなります。
Application.ScreenUpdating = True
とすると、VBAから変更したセルの内容が画面に表示されます。

なんでこんな処理があるかというと、
VBAからExcelのセルを変更するとき、変更の途中の状態が画面に表示されると、速度も遅くなりますし、画面も一時的にちらちらしたりして見にくくなります。

そのため、

A...続きを読む


人気Q&Aランキング