はじめに
Adobe FlashアプリケーションをAdobe Airアプリ化するのではなく、Webアプリのままにしたい場合のアイディアを書きます。あくまでアイディアです。
技術概要
Linuxで仮想デスクトップ機能を実現するxvfbを用い、FlashPlayerがデフォルトで動く少し古いブラウザを仮想デスクトップ上で動作させます。xvfbの仮想デスクトップをxpraまたはnoVNCを用いて、ブラウザ上で操作できるようにします。xpraはHTML5のキャンバス機能とWebSocketを用いているため、ブラウザサイドとしては完全にHTML5で動作します。
Windows10およびWindows Server2016にはWSLおよびWSL2があり、Windows上にLinuxを動作させることも可能です。よってLinux/Windowsの区別なく適用できます。
注意点
- XpraやnoVNCの品質は十分ではありません。有償の製品を使うなどして品質の担保が必要です。
- ブラウザでのキー入力をそのままxvfb上で受けないように、xmodmapを用いてxvfb側のブラウザのショートカットキーは無効化しておきましょう
- ブラウザで行われたコピー&ペーストの操作をxvfb側に転送する実装は別途必要です
- Flashアプリがファイルのアップロード/ダウンロードをサポートしている場合は、実装が別途必要です。