社内で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