Web 技術を活用したデスクトップアプリ開発が主流の時代。Electron、Tauri、WPF/WinUI の特徴と選定基準、クロスプラットフォーム対応、ネイティブ機能の活用、配布とアップデートまで、Windows デスクトップアプリ開発の全体像を解説する。
デスクトップアプリ開発は Web 技術の進化により大きく変化した。ネイティブ、ハイブリッド、Web ベースの各アプローチの特徴を理解し、プロジェクトに最適な技術を選定する基準を解説する。
デスクトップアプリのアーキテクチャはプロセス分離とIPC通信が核心。メインプロセス/レンダラーモデル、セキュアなIPC設計、preloadスクリプト、コンテキスト分離まで、安全で堅牢なアプリ設計を解説する。さらに、.NET デスクトップにおける MVVM・クリーンアーキテクチャ・DI コンテナ構成、Win32 アプリのメッセージループ設計、マルチウィンドウ管理パターンまで包括的にカバーする。
デスクトップアプリの真価はネイティブ機能にある。ファイルシステムアクセス、システム通知、トレイアイコン、自動起動、グローバルショートカット、クリップボード、ドラッグ&ドロップまで、OS との深い統合を解説する。さらに .NET デスクトップ(WPF/WinUI 3)における Win32 API 呼び出し、レジストリ操作、Windows サービス連携、タスクスケジューラ登録、シェル統合まで包括的にカバーする。
1つのコードベースで Windows・macOS・Linux をサポートする。プラットフォーム検出、OS 固有 API の抽象化、パス処理、UI/UX の差異対応まで、クロスプラットフォーム設計を解説する。
Windows ネイティブ UI フレームワークは WPF から WinUI 3 へ進化した。WPF、WinUI 3、UWP、MAUI の歴史的経緯と使い分け、XAML の基礎、データバインディング、MVVM パターンまで解説する。
Windows App SDK に含まれる最新の UI フレームワーク WinUI 3 を使い、Fluent Design に準拠したデスクトップアプリケーションを構築する方法を体系的に学ぶ。
Microsoft Edge (Chromium) ベースの WebView2 コントロールを使い、ネイティブアプリに Web コンテンツを埋め込むハイブリッドアプリケーション設計を学ぶ。
Vite + React + TypeScript 構成で Electron デスクトップアプリケーションの開発環境を構築し、ホットリロード・DevTools 統合まで完了させる。
マルチウィンドウ管理、カスタムタイトルバー、ネイティブモジュール統合、SQLite データベース、パフォーマンス最適化など、本格的な Electron アプリ開発に必要な応用技術を習得する。
Rust をバックエンドとする軽量デスクトップアプリフレームワーク Tauri v2 の環境構築からプロジェクト作成、フロントエンド統合、コマンド定義、イベントシステムまでを習得する。
Tauri v2 のプラグインシステム、カスタムプロトコル、サイドカーバイナリ、マルチウィンドウ管理、そして capabilities によるセキュリティモデルを深く理解し、本格的なデスクトップアプリを構築する。
Electron と Tauri アプリケーションを各 OS 向けにパッケージングし、コード署名を適用してユーザーに安全に配布するためのインストーラー作成プロセスを体系的に学ぶ。
デスクトップアプリケーションの自動更新メカニズムを設計・実装し、ユーザーに透過的かつ安全にアップデートを届ける技術を体系的に学ぶ。
Microsoft Store (MSIX)、Mac App Store、GitHub Releases を活用し、CI/CD パイプラインで自動化されたアプリケーション配布を実現する技術を学ぶ。