WPFの誕生
WPF は 2010 年に発表されたプログラム フレームワークで、Winfrom のインターフェイスが見栄えが悪いという問題を解決することを目的としています。Winfrom はドラッグ アンド ドロップのインターフェイス レイアウトで、簡単に言うとインターフェイスはまったく移動できず、コンテンツが増えた場合はウィンドウのみを追加できます。WPF は MVVM の祖父です。MVVMとは何ですか? MVVM はデータ駆動型トランザクションとも呼ばれ、次のような特徴があります。
- ページ要素と一部のコードは双方向にバインドされています。たとえば、文字列を入力ボックスにバインドします。文字列が変更されると、インターフェイス要素も確実に変更されます。インターフェイス要素が変更されると、コード内の文字列の値も変更されます。 。
- データドリブンなイベント。つまり、データ変更の動作によってイベントが発生する可能性があります。たとえば、ユーザーのステータス、ログイン、オフライン、ビジーによって、さまざまなイベントがトリガーされます。
実際、Microsoft が本当にテクノロジー先進企業であることがわかります。彼らの考えは、私がビジネスのことだけを考えさせようとしているということです。私がソリューションを提供します。そして、あなたは私のフレームワークに従ってください。たとえば、ORM フレームワークと C# の高度な構文は非常に強力です。
WPFの開発
Microsoftの開発技術の特性上、穴を掘っては次々とアップデートを行う狂人です。Microsoftはテクノロジーを発表した後は基本的にアップデートせず、新たなテクノロジーをゼロから直接開発する。利点は、以前のフレームワークに制限されず、上位互換性の問題を考慮する必要がないことです。欠点は、プログラマーは常に新しいテクノロジーを学習する必要があり、学習コストが高いことです。そのため、Microsoft の新しいテクノロジが登場するときは、誰もが様子を見ていますが、3 ~ 5 年待って、問題がなく、サポートされるエコロジーとコンポーネントが維持できることを確認してから、使用を検討してください。
WPF Microsoft は更新を停止しましたが、サードパーティのライブラリはまだ更新されています。
私の個人的な結論は、WPF が Windows デスクトップにとって最良かつ最も一般的なソリューションであるということです。
WPFの状態
大きなフロントエンド、つまりWebエンド、Windowsエンド、モバイルエンド、Linuxエンドの状況を見てみましょう
簡単に言うと、各フロントエンドの市況です。
デスクトップ < ウェブ < アプリ。Linux側とMac側は比較的小さい
デスクトップと Web に関する問題: Web 上で解決できるのに、なぜソフトウェアをダウンロードする必要があるのですか? フローチャートの描画、ビデオの視聴、オンライン ストレージ、バックグラウンド管理、ライブ ブロードキャスト プラットフォームなど。
モバイルの場合はその逆です。私はフーリガンです。私の APP ソフトウェアをダウンロードしない場合は、使用させません。あなたの携帯電話のスペースを占有してしまいます。WeChat アプレットを作成することもできます。これには多くの機能はありませんが、アプリ全体が必要です。たとえば、さまざまな銀行アプリやオペレーター アプリなどです。
なんという転生、パソコン側が怠け者で、Webページ全体でなんとかなる。携帯電話をいじっているのですが、アプリをダウンロードしたいと思っています。
フロントエンドフレームワークの現状
プラットホーム | アドバンテージ | 欠点がある | 適用範囲 | |
---|---|---|---|---|
Vue/React | ウェブ | Uiからパフォーマンスまで非常に充実したエコロジーサポートあり | Webページの権限に問題があり、ファイル保存やファイル管理などの権限を上げることができません。 | 理論的には最も単純なクロスエンド ソリューション。Web ページが開ける限り、使用できます。 |
ユニアプリ/リアクトネイティブ/フラッター | すべてのプラットフォーム (デスクトップを除く) | コードを対応するプラットフォームに翻訳する方式により、クロスプラットフォームを実現します。 | パフォーマンスは悪いですが、長く立ち上げられたフレームワークであり、それぞれの生態が比較的豊富であるため、十分です | Webのフロントエンドからモバイル端末を開発する方法を知る |
WPF/ウィンフォーム | Windowsデスクトップ | それに比べて、クロスプラットフォームへの適応がないため、パフォーマンスは最高です。 | クロスプラットフォームではない | Windows 上でのみ実行されるプログラム、より高い特権を必要とするプログラム。 |
電子 | デスクトップ | Windows、Mac、Linuxデスクトップ | 本質的には、ブラウザのシェルで実行される Web ページです。パフォーマンスが低く、パッケージ ファイル サイズが大きく、バグが発生しやすい | Web フロントエンドを使用したデスクトップ ソフトウェアを開発できる |
団結 | フルプラットフォーム | 最高のインタラクティブ体験、結局のところ、それはゲーム作成に使用されるエンジンです | 蚊と戦うための大砲はそれほど多くの操作を必要としません | ゲームまたはゲームに似たソフトウェア |
qt | フルプラットフォーム | 最高のパフォーマンス、メモリの完全な制御 | 蚊と戦うための大砲、ほとんどのソフトウェア開発を実行でき、メモリを操作する必要はありません | タイムリーな応答速度と高いパフォーマンス要件が非常に高いソフトウェア向け |
結論は
業界は、Web プログラマーに、すべてのプラットフォームにわたってフロントエンドを完璧に表示できる最適なソリューションを提供してきました。一般的には Vue+uniapp/React+React Native です。デスクトップ ソフトウェアの市場シェアはすでに小さいです。
WPF を学ぶ方法
真の英雄主義とは、人生の真実を見た後でも人生を愛することである - ロマン・ロラン
WPF の現状を認識しており、それでも WPF を学習したい場合は、次のリソースの推奨事項を参照してください。
WPF 学習リソースの推奨事項
WPF入門基本チュートリアル集
WPF徹底解説集
WPF-Prism8.0コアチュートリアル(公益)
WPFプロジェクト実戦集(2022年最終版)
高解像度ビデオチュートリアル「シンプルな WPF 入門」シリーズ | 講師: Liu Tiemeng
WPF 学習ルートの推奨事項
使う、学ぶ、練習する、学ぶ、練習する、テクニックを習得する順番
- 学習: WPF ネイティブ レイアウト、ネイティブ コントロール、ネイティブ スタイル、データ バインディング
- 実践: QQ、WeChat、NetEase Cloud、Youdao Translation などの一般的なデスクトップ ソフトウェアを見つけます。フォローして見つけてください。静的ページ + ルーティング ジャンプを書き込み、ロジックなし
- 学習: WPF フレームワーク: Prism。WPFUI:マテリアルデザイン+ライブチャート2
- 演習: 日記、メモ、電卓、ファイル管理ウィンドウなどの小さなプログラムを自分で作成します。