-
Notifications
You must be signed in to change notification settings - Fork 0
MS_VisualStudioContents
- 戻る(アプリケーション・アーキテクチャ)
- VS系コンテンツ
- Visual Studio
- SPAとMPA
- 最近、色々と開発技術が多様化してきて、技術選定をするのが大変になりましたね。
- しかし、自プロジェクトの特性に適合する技術を採用する。と言うのが基本になります。
※ 本ページの「VS」は Visual Studio ではなく、versus の略号的な意味で使用しています。
補足: 紛らわしいが、Visual Studio の話ではなく
「技術選定のための対比(A vs B)を集めたインデックス」である。
UI 系 Subsystem & Framework は、下記の開発ツールに組み込まれることもある。
デスクトップ・アプリ系
-
画面の定義には、
- デザイナを使用するタイプ(Windows Formsなど)
- マークアップ言語を使用するタイプ(WPF, UWPなど)
がある。
-
マークアップ型には、XAML 型 / HTML5 型がある。
-
マークアップ型は、XAML 型が衰退し、HTML5 型が隆盛しつつある。
補足(その後の帰結): 「XAML 型が衰退」という観測は、
Web / モバイルの文脈では概ねその通りになった。
ただし XAML 自体は **.NET MAUI**と
WinUI 3 / Windows App SDK に引き継がれており、消えてはいない。Windows デスクトップの現在の選択肢は次の通り。
技術 状況 Windows Forms .NET 8 でも動く。保守は容易だが新規は選びにくい WPF 同上。XAML 資産があるならこちら WinUI 3 / Windows App SDK Microsoft の推す新方式(UWP の後継) .NET MAUI クロスプラットフォーム(Win / Mac / iOS / Android) Blazor Hybrid HTML5 型。Web の資産を活かせる UWPは新規開発非推奨である。
従来型の Web アプリ(JSF 方式と MVC 方式)の比較。
-
従来型のWebアプリ vs SPA(Single-page Application)
— 従来型の Web アプリと SPA の比較。 -
ネイティブ vs SPA(Single-page Application)
— (スマホ)ネイティブ・アプリと SPA の比較。 -
ネイティブ vs クロスプラットフォーム
— (スマホ)ネイティブ・アプリとクロスプラットフォーム・アプリの比較。
- IDE vs RAD vs EUC vs Template & Package(開発支援ツールの種類)
- ADO.NET vs ORM (Entity Framework, Dapper)
- SVN vs Git vs TFS
補足(技術選定の観点): この種の「A vs B」は、
どちらが優れているかではなく
どの制約下でどちらが適合するかで判断するのが要点である。
判断材料としては次が実務的に効く。
観点 問い 要員 既存メンバーが書けるか。採用できるか 寿命 そのシステムは何年動くか。技術のサポート期限は足りるか 既存資産 移行元との連続性があるか 運用 誰がどう更新し続けるか 撤退可能性 選択を誤ったとき、乗り換えられるか 特に寿命は見落とされやすい。
.NET Core 系はバージョンごとにサポート期限があるため、
「システムの寿命 > 技術のサポート期限」なら更改計画が前提になる。
Single-page applicationは、
ASP.NET SPA以外の JavaScript 系のモノが良く進化した。
- (MV*) UIフレームワーク - 開発基盤部会 Wiki
https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%28MV%2A%29%20UI%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF
- GO/NOGO判定用事例データベース
https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?GO%2FNOGO%E5%88%A4%E5%AE%9A%E7%94%A8%E4%BA%8B%E4%BE%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9
Tags: 移行, .NET開発, 設計
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。