ASP.NET Webforms (2.0-3.5) の主な強みは何ですか? 他のフレームワークとの比較を求めているわけではなく、現在の ASP.NET に関するフィードバックを求めているだけです。
8 に答える
重要な強みの 1 つ (ある人にとっては) は、Visual Studio に統合されたドラッグ アンド ドロップ開発環境です。これにより、簡単なことをすばやく実行できるようになりますが、基礎となるコードを実際に理解する必要がある場合には、問題になる可能性もあります。
ウェブフォームの利点
- イベントドリブン
- ステートフル
- 再利用可能なコントロールを簡単に開発
ウェブフォームの誤解
- テストするのは簡単ではありません
- コードを適切に設計すれば、テストは非常に簡単です
- コントロールが生成した HTML が悪い
- もうありません。CSS Friendly Control Adapters があります。
全体として、ASP.NET Web フォームは優れた開発モデルであり、人々が不平を言うほとんどの欠点は、誤解または貧弱な設計/アーキテクチャです。最も重要な機能は、Web フォームのライフサイクル/ステートフル性により、非常に使いやすく再利用可能なコントロールを柔軟に開発できることです。
Web アプリケーションの構築は比較的高速ですが、保守は比較的困難です。
習得が比較的容易。html、css、javascript の知識は必要ありません。ただし、html、css、および javascript を既に知っている場合は、他の Web 開発テクノロジを習得する方が簡単かもしれません。
asp.net Web フォームは、厳密な方法論を有効にする必要がなく、複数の言語をサポートしているため、さまざまなテクノロジを使用している場合は比較的簡単に採用できます。
比較的成熟した技術です。
Web アプリケーションに新しい機能を追加するのは比較的簡単ですが、優れたコード品質を維持しながら既存の機能を変更するのは比較的困難です。
イベント ドリブンであるため、Windows アプリケーションと簡単に統合できます。
多くのサードパーティ ライブラリが利用可能です。
アプリケーションの状態を比較的簡単に処理できます。
展開が比較的簡単。
プラットフォームの独立性(これについては経験がないので、これが正しいかどうかはわかりません)
でも:
理論上は優れたパフォーマンスを発揮しますが、実際にはそうではありません。コンパイルされたコードは、Web アプリケーションのボトルネックではないため、パフォーマンスの向上にはつながりません。ボトルネックは、ブラウザに送信される html の量、文字列操作の実行速度、およびデータベースのクエリ速度です。これらの点に関しては、市場で最悪の製品の1つです。
Web アプリケーションの迅速な構築は、単純なアプリケーションや、競合他社が同様の製品を開発している革新的なプロジェクトでは利点となりますが、ほとんどの場合、アプリケーションの保守性は構築時間よりもはるかに重要です。
多言語での開発は不利です。一部のサードパーティ コンポーネントは 1 つの言語でしか利用できず、これが必要になった場合、1 つではなく 2 つの言語を学ぶ必要があるためです。C# と VB.Net は 99% 同じです。使用する単語が異なるだけですが、構文はほとんど同じです。チームで開発する場合、常にどちらか一方を好む人がいて、1 つの製品を 2 つの言語で開発することは混乱を招くだけです。そのため、1 つの言語を選択する必要があり、この選択に同意しないチーム メンバーはプロジェクトを悪い状態で開始します。最終的にプロジェクトに悪影響を与える士気。多言語サポートの恩恵を受けているのは Microsoft だけです。
Web フォームのステートフルな性質は、多くの問題を引き起こすため、ステートレス システムに比べて不利です。一部のコンテンツはいくつかのユーザー アクションを実行した後にのみ利用可能になるため、外部の Web サイトまたはブックマークは、すべてのコンテンツに直接リンクすることはできません。 www.example.com/a/b にリンクし、参照されているコンテンツへのアクセス方法をユーザーに説明する必要があります。ほとんどの検索エンジンは、ほとんどのコンテンツを見つけることができません。ブラウザで戻るボタンを使用すると、エラーが発生する可能性があります。接続の問題またはクライアントのハイバネーションにより、エラーが発生する可能性があります。プロキシを利用できないため、場合によってはパフォーマンスが低下します。プロキシ、ゲートウェイ、およびキャッシュがエラーを引き起こす可能性があります。Web サイトの更新中に Web サイトを閲覧すると、エラーが発生します。
正しい方法で設計されていれば簡単にテストできるという点ではsontekに同意しますが、これがWebフォームの利点であるという点ではsontekに同意しません。ソフトウェア アーキテクチャでは、アーキテクチャによって作成されるすべての利点が欠点にもつながるためです。この場合、Web フォームの主な強みである構築時間の不利な点につながるため、テスト可能なシステムが必要な場合は、Web フォームを使用する意味がありません。MVC などを使用する方が適切だからです。そのように。
コンポーネント モデルが重要であり、他の Web ページの一部を (ユーザー コントロールを介して) コンポーネントとして使いやすいことが重要な利点だと思います。
ASP.Net の主な強みは次のとおりです。
- コンパイル済みコード - パフォーマンス
- 多言語開発
- XCopy の展開
- Visual Studio のデザイン時の統合と Expression Web
- オープンソースと商用の両方の多くのサードパーティ コントロール
- 初心者でも学びやすい
- 状態管理
- 簡単なことから始めるための学習曲線が低い (ただし、動的に追加された要素を含むページを作成するとすぐに複雑になります)。
- 成熟したコントロールの膨大なライブラリ
- 膨大な量のドキュメントとリソース
- 素晴らしいパフォーマンス
他の人が何と言おうと、物事が完全に混乱するのを防ぐことは可能です。
HTTP などの基本的な概念を十分に理解していなくても、Web アプリケーションを構築できます。これには独自の欠点があります。
簡単なことを実行するための使いやすさ