なんでも屋、ちょっといいか?
なんでしょうか、課長。
工場の生産状況の画面、見た目が古臭くなってきた。
サクっと今風にできないか?
えっと…それは…
(はいきましたー!お偉いさんのなんか言っとけばすぐできるだろ的な依頼!)
どうした?歯切れが悪いな。
それは…Windows Formsで作られていまして。
昔作ったベンダーが作り逃げしたやつなので、
見た目を今風にするのは簡単ではないです。
(課長は、情報系の人じゃないからわからないよね…)
Windows Forms?よくわからん呪文を唱えていないで、
出来るか出来ないかはっきり言ったらどうだ。
課長。 Windows FormsとはWindows用の画面付きアプリを、
ポチポチ配置して作れる便利な開発ツールですよ。
お、他部署くんか。説明ありがとう。
配置して作るだけならすぐできそうじゃないか。
たしかに、作るだけなら圧倒的に有用なので、
20年以上経っても業務アプリケーションでよく使われています。
ただ、弱点として、見た目が古く…いえ、クラシックになることでしょうか。
つまり、こいつをカスタマイズしてもイケてる画面にはならないと?
枠ぐらいならゴリゴリすればカスタマイズ可能ですが、
グラフや動きはどうしてもクラシックになります。
ふむ…手っ取り早くイケてる画面にするにはどうすればいい?
やはりWebアプリケーションにしてしまえば、
今より自由度が上がってイケイケな画面ができますよ。
例えば、グラフも動きや色を柔軟に変えられるし、
レスポンシブ対応でスマホでも見やすくなります。
なるほど。よし、頼んだぞ。
あ、やはり私ですか?
もちろんだ。
納期は特にないから、手が空いた時に進めてくれ。
ありがたき幸せ…
(全部担当の人は暇だと思われているのだろうか?)
頑張ってね。
あんたも何か手伝って。
私は、他部署なので無理です。
…まぁいいわ。
でも、Webアプリ作ったことないし、ちょっと考えるわ。
イケてる画面…どう作ろうか。
私は、イケてる画面よりイケメンがいいかな。
うるさいわっ、集中できないじゃないの!
まとめ
Windows Formsは、業務アプリケーション開発において長く使われてきた実績ある技術です。画面レイアウトが直感的に作れること、スタンドアロン環境でも安定して動作することから、現在でも工場・社内システム・端末常駐型アプリなどで現役稼働しているケースは多くあります。ただし、UIの拡張性やデザイン面ではどうしても時代との差が出やすく、グラフ・アニメーション・レスポンシブ対応といった“今風のUIニーズ”には対応が難しくなってきました。
一方で、近年主流となっているWebアプリケーション技術には、表現力や拡張性の面で大きな強みがあります。たとえば以下のような選択肢です:
- React・Vueなどのフロントエンドフレームワーク
動きのあるUIやSPA構成との相性が良く、デザインやアニメーションの自由度が高い。 - Python(Django/Flaskなど)を使ったWeb開発
業務ロジックやAPIとの親和性が高く、開発スピードも早め。 - Java(Spring Bootなど)によるWebアプリ
企業システムとの統合や長期運用を前提とした堅牢性の高さが強み。 - BlazorやASP.NET Coreといった.NET系
既存のC#資産を活かしつつWeb化する場合や、段階的移行との相性が良い。
これらの技術では、グラフ描画、アニメーション、テーマ変更、スマホ対応などが比較的容易に実現でき、デザインの更新や機能拡張にも柔軟に対応できます。サーバーサイド主体の構成から、クライアントリッチなSPA型、あるいはハイブリッド構成まで幅広く選択できるため、“全部作り直し”を前提にせず段階的な移行も可能です。
「見た目を今風にしたい」「スマホでも使えるようにしたい」「将来の拡張を見据えたい」といったニーズがある場合、Windows Formsを無理にカスタマイズするよりも、モダンなWeb技術を選択肢に含めるほうが現実的で効果的です。既存資産を活かしながら検討や試作を進めることで、負担を抑えつつモダナイズの方向性を描くことができます。