0
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

社内でデスクトップアプリ(GUI)を開発する手段まとめ

Last updated at Posted at 2022-07-12

社内でWindowsデスクトップアプリが作りたーーーい。
しかし自由なソフトウェアやパッケージの導入ハードルが高いorできなーーーい。
そんなときの検討材料として、開発手段とメリデメをざっくり一覧するよ。

Visual Studio (IDE)で C# を使用

メリット

  • デザインツールがありGUIが作りやすい
  • デスクトップアプリ開発のデファクトスタンダード
  • チュートリアルやインターネット上の知見が抜群に多い
  • Microsoft製のためOffice等との連携がしやすい
  • EXE化もできる

デメリット

  • 機能が多く、操作習得には時間がかかる
  • 企業規模によっては無料のcommunity版が使えない
    大企業でも使えるProfessional版は買い切り6万円弱、サブスクは月額45ドル
  • ちょっとしたツールを作りたい、くらいの需要にはオーバーかも…

Python + Tkinter(標準ライブラリ)

メリット

  • 無料で使える
  • 標準ライブラリでGUIアプリが作れるので追加インストール不要
  • インターネット上の知見が多い
  • サードパーティライブラリが豊富。導入できれば幅広いツールを作成できる

デメリット

  • EXE化(アプリの配布)には別途Pyinstallerなどのライブラリが必要
  • あくまでTkinterは標準ライブラリのため、複雑な実装は難しい

Electron(Node.js)を使う

メリット

  • 無料で使える
  • HTML/CSS/JavaScriptで実装でき、webの知見があれば活かせる
  • VSCodeなどの著名ソフトウェアの開発実績がある
  • 日本語ドキュメントがある

デメリット

  • Node.jsとnpmをインストールすることが前提
  • EXE化には別途ソフトウェアが必要
  • 若干難易度が高そう

Eclipse(IDE)でJavaを使用

メリット

  • 無料で使える
  • Javaの開発に強い

デメリット

  • Javaに特化しており他言語を使うにはプラグイン導入が必要
  • 日本語化には Pleiadesというプラグインが必要 ← これが重い
  • 利用するにはJavaのSDKをインストールする必要がある

以下はボツ案

React(js)

「社内で簡単なデスクトップツールを作って配布したい」くらいの用途には合わない。

ExcelVBA

EXE化ができず、ツール起動にはExcelを絶対開く必要があるっていうのが難アリ。
あとつらいのがバージョン管理できないこと。エディタが貧弱なこと。
(Excelさえあれば利用できるので配布がしやすい点は良い)

他にもEclipseでPython使うとか、Pythonの他のGUIパッケージをpipインストールするとか、色々な方法や組み合わせがある。
社内規定・環境・用途などに合わせて検討していきましょー!

~2023.01.24追記~
当方の環境ではPythonを使うことになりました。
pipも利用許可を貰ったものの pip installでプロキシに引っかかったので
下記のような記事を参考にして突破しました。
https://qiita.com/tokkuri/items/665921e7196b2032a350

0
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?