
ここ数年、当社の上位機ソフトウェアは主に WPF と WinForm で開発してきました。これらの技術は Windows プラットフォームで非常に使いやすく、小ロットの試作から現在の量産出荷に至るまで、私たちを支えてきました。しかし、事業の拡大や顧客ニーズの変化に伴い、Windows のみの技術スタックが大きな壁となってきました。
そこで、既存の WPF プログラムを Avalonia へ移行することを真剣に検討し始めました。
1. 歴史的負債:WPF と WinForm の遺産
当社のこれまでの上位機プロジェクトのほとんどは、WPF または WinForm で作成されています。
- 利点:Windows との親和性が高く、開発効率が良く、習得が容易。
- 欠点:Windows でしか動作せず、Linux や Mac をサポートできないという大きな制約がある。
つまり、顧客の現場環境が Windows でない場合、追加のハードウェアや仮想マシンサポートを提供する必要があり、余分なコストと保守リスクが生じます。
2. 顧客ニーズ:クロスプラットフォームは必須
半導体装置のグローバルな納入に伴い、次のようなケースが増えています。
- 顧客の現場で Linux しか許可されていない。
- 顧客から、ソフトウェアが Windows の制御用コンピュータでも Linux の制御用コンピュータでも動作するよう要求される。
これらの要件は 必ず満たすべき ものであり、「将来役立つかもしれない」というオプション機能ではありません。したがって、真の クロスプラットフォーム技術路線 を選択する必要があります。
3. 業界特性:リアルタイム性と安定性の優先
当社のソフトウェアは主に 半導体テストおよび計測機器制御 に使用されています。この種のソフトウェアはインターネットアプリケーションとは異なります。
- ハードウェア機器との高速通信が必要。
- リアルタイム性が高く求められ、遅延がテスト効率に直接影響する。
- 長時間の連続稼働(しばしば 7×24 時間)に耐える安定した UI フレームワークが不可欠。
評価の結果、Electron のような Web 技術はこのシナリオには適さず、Avalonia は性能と応答速度が WPF に近く、移行コストも低いことがわかりました。
4. Qt:高機能だがコストが高すぎる
実際、Qt も真剣に検討しました。
- 利点:クロスプラットフォームの成熟度が最も高く、性能が安定し、エコシステムが充実している。
- 欠点:商用ライセンス費用が極めて高額。
Qt の営業担当者と交渉したところ、チームには受け入れがたい見積もりが提示されました。小規模企業であれば、「目を閉じてオープンソース版を使う」ことでやり過ごすこともあります。しかし、当社は規模が大きくなっており、Qt の法務チームがすでに目をつけており、定期的にコンプライアンス通知を受け取っています。
この状況では、Qt の無料版を引き続き使うリスクは明らかに現実的ではありません。
5. Avalonia を選んだ理由
それに比べて、Avalonia には以下の利点があります。
- オープンソースで無料、高額な商用ライセンスリスクなし。
- クロスプラットフォーム対応、Windows / Linux / Mac をサポート。
- 構文が WPF に類似しているため、移行コストが比較的低く、チームが一から学び直す必要がない。
- 性能が良好で、機器制御アプリケーションに適している。
総合的に判断すると、Avalonia への移行が現時点で最も適切な選択肢です。
6. 結び
技術選定に絶対的な正解はなく、適切かどうかが重要です。当社のビジネスシナリオにおいて、WPF の制約、顧客のクロスプラットフォーム要件、業界のリアルタイム性要求、そして Qt の高額な費用が、最終的に私たちを Avalonia への移行へと導きました。
今後も、WPF から Avalonia への移行プロセスでの経験や苦労話を共有し、同業者の参考になれば幸いです。