知識マップ: 開発者の異常な愛情、または私は如何にして心配するのをやめてWindowsを愛するようになったか
記事「開発者の異常な愛情、または私は如何にして心配するのをやめてWindowsを愛するようになったか」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
この随筆は、Windowsアプリ開発につきまとう「環境ごとに壊れるかもしれない」という不安の正体を、Windowsが積み重ねてきた後方互換性という性質から説明します。32bitアプリを64bit Windows上で動かすWOW64、レジストリ登録とビット一致が必要なCOMコンポーネント、今も現場に残る.NET Frameworkアプリ、高DPIや長いパスへの対応、配布方法の選定など、心配の種の多くは古い資産を切り捨てずに動かし続けてきた結果として生まれています。筆者は、その心配をなくすのではなく、Application VerifierやWinDbg、Get-WinEventによる観察とテストという設計に変えることを提案し、そこにWindowsを愛する理由を見出しています。
flowchart LR
accTitle: Windowsの後方互換性への愛の知識マップ
accDescr: Windowsアプリ開発者が抱く環境差異への不安が、COMやWOW64、.NET Frameworkといった後方互換性の中身と結びつき、Application VerifierやWinDbg、Get-WinEventによる観察でどう設計に変えられるかを示す図。
windows_backward_compatibility["Windowsの後方互換性"]
com["COM(コンポーネントオブジェクトモデル)"]
bitness_match_requirement["bitness一致要件"]
regsvr32["regsvr32"]
wow64["WOW64"]
dotnet_framework[".NET Framework"]
dotnet[".NET(Core以降)"]
high_dpi_support["高DPI対応"]
windows_forms["Windows Forms"]
long_path_support["長いパス・UNCパス・日本語パスへの対応"]
app_distribution_method["アプリの配布方法"]
application_verifier["Application Verifier"]
windbg["WinDbg"]
get_winevent["Get-WinEvent"]
com -->|"前提とする"| windows_backward_compatibility
com -.->|"前提とする"| bitness_match_requirement
com -.->|"で構成できる"| regsvr32
windows_backward_compatibility -->|"前提とする"| wow64
windows_backward_compatibility -.->|"前提とする"| bitness_match_requirement
windows_backward_compatibility -->|"前提とする"| dotnet_framework
dotnet -->|"の後継"| dotnet_framework
windows_backward_compatibility -->|"前提とする"| high_dpi_support
windows_forms -.->|"前提とする"| high_dpi_support
windows_backward_compatibility -->|"前提とする"| long_path_support
windows_backward_compatibility -->|"前提とする"| app_distribution_method
application_verifier -->|"推奨される対応"| windows_backward_compatibility
windbg -->|"推奨される対応"| windows_backward_compatibility
get_winevent -->|"推奨される対応"| windows_backward_compatibility
概念間の関係(全14件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- COM(コンポーネントオブジェクトモデル)はWindowsの後方互換性を前提とします。
- COM(コンポーネントオブジェクトモデル)はbitness一致要件を前提とします。
- COM(コンポーネントオブジェクトモデル)はregsvr32で構成できます。
- Windowsの後方互換性はWOW64を前提とします。
- Windowsの後方互換性はbitness一致要件を前提とします。
- Windowsの後方互換性は.NET Frameworkを前提とします。
- .NET(Core以降)は.NET Frameworkの後継に当たります。
- Windowsの後方互換性は高DPI対応を前提とします。
- Windows Formsは高DPI対応を前提とします。
- Windowsの後方互換性は長いパス・UNCパス・日本語パスへの対応を前提とします。
- Windowsの後方互換性はアプリの配布方法を前提とします。
- Application VerifierはWindowsの後方互換性に対する本記事の推奨です。
- WinDbgはWindowsの後方互換性に対する本記事の推奨です。
- Get-WinEventはWindowsの後方互換性に対する本記事の推奨です。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。