知識マップ: WindowsアプリのWeb化、しない方がいいケース ── 判断表と「分割」という現実解
記事「WindowsアプリのWeb化、しない方がいいケース ── 判断表と「分割」という現実解」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
この記事はWindowsアプリのWeb化を、アプリ全体ではなく機能ごとに判断すべきだと整理しています。ブラウザのサンドボックスは装置・周辺機器との直接通信やローカルファイルの一括処理を意図的に制限し、Blazor ServerやBlazor WebAssemblyもオフライン運用やキーボード主体の高速入力には向きません。Web Serial APIやFile System Access APIといった回避策は対応ブラウザが限られ、根本解決にはなりません。配布の手間だけが動機ならWeb化ではなくClickOnceやMSIXでも解決でき、Web化は移植ではなく作り直しであり完成後にはサーバー運用という継続コストも伴います。現実解として、閲覧・集計はWebへ、装置連携やオフライン業務はWindowsアプリに残し、共通のAPIとデータベースでつなぐ分割構成を提案しています。
flowchart LR
accTitle: WindowsアプリのWeb化判断の知識マップ
accDescr: ブラウザのサンドボックスが装置連携やローカルファイル処理を制限すること、Blazorのホスティングモデルがオフラインや高速キーボード入力に向かないこと、Web化の作り直しコストとサーバー運用費、閲覧はWebへ現場処理はWindowsへ残す分割構成の関係を示す図
web_migration_suitability["WindowsアプリのWeb化適性判断"]
split_architecture["Web・Windows分割構成"]
browser_sandbox["ブラウザのサンドボックス"]
device_peripheral_integration["装置・周辺機器との直接通信"]
local_file_deep_integration["ローカルファイル・他アプリとの深い連携"]
blazor_webassembly["Blazor WebAssembly"]
web_serial_api["Web Serial API"]
file_system_access_api["File System Access API"]
unattended_office_automation["無人でのOffice自動化"]
blazor_server["Blazor Server"]
offline_critical_operation["止まれないオフライン業務"]
high_speed_keyboard_input["キーボード主体の高速・大量入力"]
clickonce_msix_auto_update["ClickOnce/MSIXの自動更新配布"]
deployment_update_burden["配布・更新の手間"]
rewrite_cost_structure["Web化の作り直しコスト構造"]
server_operation_cost["サーバー運用の継続コスト"]
electron_blazor_hybrid["Electron/Blazor Hybrid"]
webview2["Microsoft Edge WebView2"]
pwa["PWA"]
browser_sandbox -.->|"防止する"| device_peripheral_integration
browser_sandbox -.->|"防止する"| local_file_deep_integration
blazor_webassembly -.->|"両立しない"| device_peripheral_integration
web_serial_api -.->|"軽減する"| browser_sandbox
web_serial_api -.->|"用いるのは非推奨"| device_peripheral_integration
file_system_access_api -.->|"軽減する"| browser_sandbox
unattended_office_automation -->|"用いるのは非推奨"| local_file_deep_integration
blazor_server -->|"両立しない"| offline_critical_operation
split_architecture -->|"推奨される対応"| device_peripheral_integration
split_architecture -->|"推奨される対応"| local_file_deep_integration
split_architecture -->|"推奨される対応"| offline_critical_operation
split_architecture -->|"推奨される対応"| high_speed_keyboard_input
high_speed_keyboard_input -.->|"両立しない"| blazor_server
clickonce_msix_auto_update -->|"推奨される対応"| deployment_update_burden
web_migration_suitability -->|"用いるのは非推奨"| deployment_update_burden
web_migration_suitability -->|"前提とする"| rewrite_cost_structure
rewrite_cost_structure -->|"前提とする"| server_operation_cost
electron_blazor_hybrid -.->|"軽減する"| browser_sandbox
electron_blazor_hybrid -.->|"前提とする"| webview2
pwa -->|"用いるのは非推奨"| device_peripheral_integration
pwa -.->|"軽減する"| offline_critical_operation
概念間の関係(全21件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- ブラウザのサンドボックスは装置・周辺機器との直接通信を防ぎます。
- ブラウザのサンドボックスはローカルファイル・他アプリとの深い連携を防ぎます。
- Blazor WebAssemblyは装置・周辺機器との直接通信と両立しません。
- Web Serial APIはブラウザのサンドボックスを軽減します。
- Web Serial APIを装置・周辺機器との直接通信に用いることは推奨されません。
- File System Access APIはブラウザのサンドボックスを軽減します。
- 無人でのOffice自動化をローカルファイル・他アプリとの深い連携に用いることは推奨されません。
- Blazor Serverは止まれないオフライン業務と両立しません。
- Web・Windows分割構成は装置・周辺機器との直接通信に対する本記事の推奨です。
- Web・Windows分割構成はローカルファイル・他アプリとの深い連携に対する本記事の推奨です。
- Web・Windows分割構成は止まれないオフライン業務に対する本記事の推奨です。
- Web・Windows分割構成はキーボード主体の高速・大量入力に対する本記事の推奨です。
- キーボード主体の高速・大量入力はBlazor Serverと両立しません。
- ClickOnce/MSIXの自動更新配布は配布・更新の手間に対する本記事の推奨です。
- WindowsアプリのWeb化適性判断を配布・更新の手間に用いることは推奨されません。
- WindowsアプリのWeb化適性判断はWeb化の作り直しコスト構造を前提とします。
- Web化の作り直しコスト構造はサーバー運用の継続コストを前提とします。
- Electron/Blazor Hybridはブラウザのサンドボックスを軽減します。
- Electron/Blazor HybridはMicrosoft Edge WebView2を前提とします。
- PWAを装置・周辺機器との直接通信に用いることは推奨されません。
- PWAは止まれないオフライン業務を軽減します。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。