質問

約 2 年間、クラシック ASP を使用して数 100 個の単純な Web フォームを作成してきましたが、.net に切り替える十分な理由がわかりません。ただし、私は .net に詳しくないので、いくつか見逃している可能性があると思います。

仕事に関してよく聞かれるポイントは次のとおりです。 http://www.packtpub.com/article/Classic-ASP (これらの考えのすべてを私が共有しているわけではありませんが、出発点としては良いでしょう)

この件に関して他の人が何と言っているかを聞くことに非常に興味があります。

役に立ちましたか?

解決

足りないものはたくさんあります。ASP.NET は、これまで考えられていた旧来の ASP よりも生産性、堅牢性、保守性が桁違いに優れています。サーバー側コントロール、サードパーティ コントロール、マスター ページ、フォーム認証、フォーム検証、OO モデルにより、アプリケーションの適切なパーティショニング、簡単な展開、組み込みのデバッグとトレース、状態管理が促進されます。

WebForms または MVC を選択することもできます。何が足りないのかを徹底的に調べないと、ただ頭がおかしいと言っても過言ではありません。

他のヒント

ASP が好きで、ASP.NET に移行したい場合は、Web フォームをスキップして MVC を学習してください。

私にとって最大の問題は、Web サイトではなくアプリケーションを作成することです。UI は問題の小さな部分であり、大きな部分はビジネス ロジック層とさまざまなエンタープライズ コミュニケーション コンポーネント (SOAP を使用して SAP に接続しますか?) を作成することです。問題ない!)。

.NET Toolkit を使用すると、素晴らしいオブジェクト指向言語 (C#) でプログラムを作成でき、それを支援する堅牢なフレームワークが備わっています。

VbScript は、ビジネス アプリケーションを作成してみるのに最適な言語です。

ただし、単純な小さな Web フォームだけを行う場合は、必ず VbScript を使用してください。

リンクに関する限り、基本的には次のとおりです。

  • わー、私は Visual Studio が好きではありません
  • わぁ、本番サーバー上の本番コードをバカみたいに編集したい。
  • わぁ、小規模サイトで asp.net アプリを展開するために必要なのは、コンパイル済みの 1 つの DLL を展開するだけだということはわかりません。

基本的に、一言で言えばその無知です。

特定の質問 (「Classic と .Net の利点」) に焦点を当てると、Classic にはできて .Net にはできないことは次の 2 つだけだと思います。

1) 含まれます。ASP.Net では期待どおりに機能しません。もちろん、ASP.Net は同じことを実現するためのはるかに優れた方法を提供しますが、それでも多少の損失があり、古いサイトを .Net に移行するのが面倒になる可能性があります。

2) ASP.Net は、アプリケーションのルート フォルダーより上には移動しません。私がいる場所には、かなり複雑なイントラネットがありますが、ほとんどが依然として古典的な ASP であり、更新または新しいものが追加されるたびに、ところどころに .Net アプリが存在します。共通コードの 1 つのコピーをフォルダー階層のかなり上位に保持しながら、個々のアプリをそれぞれの VD に分離できれば便利です。しかし、それがソース管理の目的なので、それは大したことではありません。

私にとって、これまでのところ、クラシック ASP と ASP.Net から移行する最大の利点は IDE です。関数が実際に実装されているファイルを探し回らなくても、関数呼び出しを右クリックして「定義に移動」を選択できるのはとても便利です。大幅な時間の節約。また、関数呼び出し時のインテリセンスのサポートとタイプ セーフティも利点です。

私にとって、Classic ASP は開発が早く、使いやすく、使いやすく、過度に複雑ではなく、要求されるほとんどの機能を非常に備えていると言わざるを得ません。

JScript/JavaScript をメイン言語として使用する ASP は、コードを書くのが本当にとても楽しいです。VBScript は頭脳の無駄遣いであり、それが Classic ASP の悪名のもとになっていると思います。さらに、遅いと考えられていますが、速度とユーザー数に関するすべての記事は 10 年以上前のサーバーに基づいています。私たちは 2 台のサーバーで 1 日あたり 60,000 人のユーザーがアクセスするサイトを運営していますが、CPU はほとんどちらつきません。最新のサーバーでは、より多くのパワーを使ってプレイすることができます。

近年の Javascript の使用法、設計、ベスト プラクティスの大きな進歩により、ASP JScript コーダーは作業をさらに容易にする多くの利点を得ることができます。私は Mootools をサーバーサイドに移植しました。これにより、素晴らしいヘルプ、クラス モデル、優れたイベント モデルなどを大量に入手できます。ASPはとても楽しいです。アップデート:Mootools には、ダウンロードできるサーバー側ビルドが追加されました (http://mootools.net/download).

ASP.net は非常に強力ですが、うまくやるには学習曲線が大幅に上昇しており、問題が発生するとサイト全体がダウンする可能性があり、私にとって最悪の場合、最も単純な機能を取得するために本当に家々を回っているように見えます。物事が終わった。

私は現時点では両方を使用して、ギャップに最も適したものを使用してとても楽しんでいます。私の ASP スクリプトで使用する .net には、優れた小さな CMS キャッシャーとサムネイル ビルドがあります。両方の長所。

まず、パフォーマンス、スケーラビリティ、そして Web アプリケーションのステートレスな世界にはるかに優れた基盤を提供するフレームワークです。

ウィキペディアの ASP.Net ページにはセクションがあります 違いについて。

古いコードを振り返って「何を考えていたんだ!」と思ったら、これはくだらない、私は今よりずっと上手にコードを書くことができます!」ということであれば、あなたはプログラマーとして成長しています。

サイトがかなり一時的なものである場合 (つまり、すぐに構築し、特定の目的と時間のために使用され、その後事実上閉鎖される場合は、自分にとって最も快適な方法でこれらのサイトを公開することは完全に受け入れられます。

古いサイトにバックポートする必要がある (またはしたい) バグ、修正、改善の長いリストがある場合、または「小規模サイト」が大きくなり複雑になり、それが大きな悩みの原因になっている場合は、次のことが必要です。一歩下がって、これらのサイトをどのように構築し、サポートするかを再評価してください。

ASP.NET がより成熟し、効果的なプログラミング環境であるという点には、私も非常に同意します。ただし、他のツールと同様に、一夜にして自動的に「スーパー プログラマー」になれるわけではないため、正しい使用方法を知る (または学ぶ) 必要があります。

緊張を解く方法は、次に作成する「サイト」が ASP.NET で開発されることについて上司に同意することです。ASP.NET を「理解する」必要があるため、現在サイトを配信している方法よりもかなり時間がかかりますが、メリットは X、Y、そして (演習は読者に任せてください) であることを彼に説明します。

個人的には、かなり堅牢なクラシック ASP フレームワークが開発されており、使い慣れているため、私はまだ移行段階にあります (ASP.NET は v1 から使い始めました!)。ただし、私は ASP.NET を戦略的に使用しており、非常に強力であることがわかりました。ドキュメントで確認できる限り、.net フレームワークには多くの機能が組み込まれているため、作成するコードは少なくて済みます。

また、VB.NET は使用せず、思い切って C# を使用することをお勧めします。言語の変更は非常にわずかですが、以前とまったく同じようにサイトを作成する可能性が低くなります。それは悪い習慣を断ち切るのに役立ち、新しいテクニックを学ぶ機会を与えます。

幸運を!

「デバッグ」という言葉があります。これを使用する必要は決してありませんが、常に使用してしまいます。Visual Studio を使用している場合、.Net では、ASP でコードをデバッグする場合と比較して、優れたデバッガが利用できます。

シンプルなサイトの場合、私は実際には ASP よりも ASP を好みます。ASP.NET、特に HTML をよく知っている場合。ただし、ASP では、ビジネス ロジックをビューから分離するのは困難です。あなたが書くコードは、おそらく読み取りと保守が困難になるでしょう。

ただし、PHP は ASP よりも優れており、基本レベルではある程度似ています。また、自己完結型の Web 開発スタックに興味がある場合は、いつでも Rails または Django を使用できます (ただし、学習にはかなり時間がかかります)。

ASP.NET の利点の 1 つは、従来の ASP の場合とまったく同じようにサイトをコーディングできることと、.NET Framework の豊富な機能にアクセスできることです。既存の機能を維持し、必要な新しい ASP.NET 機能を追加できます。それらはよく混ざります。

残念ながら、参照された本の著者は、 記事 彼の発言からも明らかなように、彼は ASP.NET の背後にあるテクノロジにあまり精通していません (おそらく、従来の ASP にも精通していません)。彼の指摘のほとんどは無効であるか、単に間違っています。

ここにいる全員が正当な指摘をしています。

私は .NET 2.0 に切り替える 3 年前までは、従来の ASP 開発者でした。

もう戻ることはできませんでした (それでも、いくつかの従来の ASP サイトを修正する必要がありますが)。

レコードセット オブジェクトがなかったのは残念です。データ リピーターはデータをすばやく表示するのに最適ですが、データセットは素晴らしい機能を提供しますが、「大規模な」サイトでのパフォーマンスとなるとまったくひどいものになります。公平を期すために、私は従来の ASP で配列を使用して回りくどい方法でデータセットを作成してきました。データセットを使用するのは、電子商取引サイトのバスケットのみです。rs.movenext などが懐かしいです...

FlySwat は、多くの開発者が犯す最大の間違いの 1 つを犯しました。

はい、ビジネス ロジック、OO など....NET がもたらす優れた機能 (スケーラビリティは 100% 同意するわけではありませんが、間違いなくより拡張性があります) ですが、ASP.NET を使用するときは、依然として WEB サイトを作成していることになります。「アプリケーション」という用語を使用することのナンセンスは忘れてください。私は、n 層の OO サイトを構築する多くの優れた .NET 開発者に会ってきましたが、彼らは Web サイト構築の独自性をまったく理解していません。状態や、Javascript に過度に依存しているという非常に迷惑な問題などです。これらの開発者のほとんどは、通常は W3C に準拠しておらず、クロスブラウザーフレンドリーではなく、正常に機能を低下させることのない MS タイプのサイトを構築しています。また、バックオフィス アプリケーションであっても IE とのみ互換性があることは許容されません。

.NET は、単純なサイトを「太らせる」傾向もあります。.NET は、さまざまな意味で、WinForm 開発者が Web サイト (または、彼らが好む Web アプリ) の構築を開始するための手段でした。問題は、これにより、州や標準などを心配する必要がない贅沢を手に入れた開発者が大勢いることでした...

私は、どの .NET サイトも従来の ASP で構築でき、エンド ユーザーにとってより高速に (ページの応答時間で) 実行できると今でも主張しています。

...しかし、古典的な ASP には良い思い出がありますが、イメージング、暗号化、圧縮、簡単な Web サービス統合、適切な OO、まともな n 層、拡張性などの点で .NET でできることは... .NET に利点があります。ユーザーが Cookie を受け入れない場合にセッション ID をクエリ文字列に書き込むように指示するコードを web.config に 1 行追加するだけのような愚かなことでも (これは従来の ASP では面倒でした)、素晴らしいものです。

.NET に移行してください。後悔することはありませんが、特に OO (継承、抽象化、ポリモーフィズム、カプセル化) について知らない場合は、時間をかけて考えてください。クラシック互換モードで .NET サイトの構築を開始しないでください。これは .NET を実行するための安価な方法にすぎず、結局は従来の ASP 手法を使用することになります。VBScript が主な開発言語である場合、MS や他社が信じているほど簡単な作業ではありません。

私にとって最も重要なことは、古典的な ASP 時代から基本的な Web サイト アプリケーション (;-)) の設計を引き継いでおり、これは言語間で決して変わるべきではないということです。

このスレッドの回答が質問に答えることはほとんどありません。簡単な方法を選択する代わりに、私はそれに挑戦してみます。

言及されていないいくつかの利点 (JScript 中心):

  • 言語全体を学ぶことができます 十分に使用した場合は、記憶に留めておいてください。.NET Framework 全体を知っていると主張する人を私は知りません。これにより、コーディングが非常に高速になります。
  • 弱い型付け - これにより、何かをすばやく実行するときに、より迅速にコーディングできるようになります。たとえば、次の違いを本当に気にしますか? char そして string ほとんどの時間? (ここに宗教的炎上戦争を挿入)
  • 評価:この非常に中傷されているキーワードは実際には信じられないほど強力で、実行時に非常に興味深い方法でコードを操作できるようになります。
  • クライアント/サーバー言語の互換性:JScript は JavaScript に似ているため、クライアント側で使用するのと同じインクルード ファイルをサーバー側の検証にも使用できます。

単純な小さな Web ページしか作成していない場合は、何でもしてください。あるいは、PHP を学習することをお勧めします。得られる反応のほとんどは Web アプリケーションを作成する人々からのものですが、その点でも、asp.net はパワーと保守性の点で従来の ASP をはるかに上回っています。

私は、Web フォームをスキップして MVC に直行するという人を除いて、ここにいる全員に同意します。これは役に立ちません。Web フォームは、多数のテーブル表示などを行うデータベース駆動型アプリケーションに非常に役立ちます。私はいくつかの非常に大規模な Web フォーム アプリケーションに取り組んできましたが、問題なく動作しました。MVC は、よりインタラクティブな「Web 2.0」タイプのアプリケーションに適しています。

「asp の名前を aspx に変更し、コンパイルされるまで変更する」アプリケーションの asp.net への移植を行ったので、asp クラシックでもそう言えるでしょう。 スタイル .NET でのプログラミングは、ASP クラシックよりも優れています。もちろん、VS はあなたを成功の落とし穴に落とし込み、Web フォームやコードビハインドのやり方に誘導するでしょうが、この言語は古典的な ASP のパターン (つまり、たくさんの金塊/インライン) を再現するのに十分な表現力を備えています。コード、クロス投稿ページなど)

COBOL はどの言語でも記述できる、という話を以前聞いたことがあると思います。これは従来の ASP にも当てはまります。

私はいつも Classic ASP を使用していますが、それは美しく動作します。

私は ASP.net を数年間試しましたが、ほとんどの Web サイト開発には複雑すぎました。私の顧客も理解できなかったので気に入らなかった。また、彼らは 1 人の開発者に縛られていないことを知りたいと考えています。

ASP.NET は常に変化しており、最新の状態を維持するには膨大な量の継続的な学習曲線が必要です。MS は主言語を C# に切り替えたため、移行はそれだけ困難になりました。

.net を使用すると、すべての操作方法のチュートリアルやサンプルをずっと探していたため、生産性が大幅に低下しました。

Visual Studio は遅いです。

PHP は構文が醜く、フレームワークが多すぎるため、開発者が学習することは不可能です。私の意見では、専任のスタッフがいるイントラネットでのみ使用する場合にのみ適しています。

従来の ASP はロックダウンされており、数年前と同様に現在も完全に動作します。いくつかのライブラリ ファイルがあれば、コードの作成は非常に簡単で、サンプルはインターネット上に無制限にあります。

vbscript は正しく記述されていますが、ほとんどの人は正しく記述していません。vbscript は読みやすく、効率的なコードです。クライアント側の作業は jQuery などのライブラリに任せると、生産性が何倍も向上します。

この時点で (CTO からの指示なしで) クラシック ASP を使用している場合は、縮小を確認する必要があります。あるいはあなたはマゾヒストです。あるいは悪魔崇拝者として、その場合、地獄に落ちることになるので、そうしたいでしょう!:p

深刻な話ですが...Web アプリケーションの場合は WebForms を使用します。

軽くて素早く、汚い Web サイトの場合は、ASP.NET MVC を使用してください。

ASP の良い点は、言語として VB.NET、C#、Eiffel、Boo、または PHP を使用できることです。PHP については、Phalanger をチェックしてください...

私はコードを書くことではなく、ソリューションを作成することで給料をもらっているので、従来の ASP よりも ASP.NET を好みます。従来の ASP は、非常に小規模で単純なサイトには依然として実用的ですが、もう少し複雑なサイトを作成する場合には、ASP.NET の背後にある強力な機能がまだあります。さらに、ASP.NET を使用しても、メモ帳を使用して、埋め込まれた vb または c# コードを含む .aspx ファイルを自分で作成することもできます。Visual Studio は、自分でさらにコードを記述する必要をなくす多くの追加機能を提供します。そして、先ほども言いましたが、コードを書いても報酬は得られません...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top