web-dev-qa-db-ja.com

ASP.NET Ajax、jQuery、JavaScriptについて混乱

昨日、ASP.NET 4の本からASP.NET AjaxとjQueryに関するいくつかの章を読み、それらのフレームワークが非常に興味深いことに気づき、それらについてさらに学習することにしました。

今日、私はAjaxとJavaScriptのライブラリーからいくつかの本を借りました。 ASP.NET AjaxはAjaxとは異なり、jQueryは「新しい」JavaScriptのようです。

JavaScriptをスキップしてjQueryを直接学ぶことができるということですか?

一方、私が借りた非ASP.NET Ajaxブックはクライアント側のWebプログラミングにのみ適用されるようで、ASP.NET Ajaxから学んだものとはかなり異なって見えます。私がASP.NET開発者であれば、クライアント側のAjaxではなくASP.NET Ajaxを使用するべきでしょうか? PHPはどうですか? ASP.NET Ajaxに似た「PHP Ajax」はありますか?

他のツールを学ぶのが面倒なわけではありませんが、適切なツールに集中したいだけです。

15
Mr.Y

これは複雑なテーマですが、これらのすべてが何であるか、そしてそれらがどのように関連しているかを蒸留する私の試みです。

AJAX:これは、ページ全体を再ロードせずにデータを非同期でWebアプリケーションに取り込むことを含む概念です。デスクトップアプリケーションのように動作するがブラウザーで実行されるGoogle Mailなどの動的UIを可能にします。

ASP.NET AJAX:これは、ASP.NETの背景を持つ開発者がAJAXコンセプトにアクセスできるようにするためにMicrosoftが作成したライブラリです。これは、String.Formatなどの.NET Frameworkメソッドに類似したメソッドを提供します。 JQueryとは一部重複していますが、長所と短所が異なるため、両方を組み合わせて使用​​できます。これはクライアント側のライブラリであり、実際にはASP.NETに依存していないことを覚えておくことが重要です。 ASP.NET AJAXを任意のサーバー側テクノロジで使用できます。

jQuery: AJAXアプリケーションを簡単に記述できるようにするフレームワークを提供するJavaScriptライブラリです。これは、ブラウザーのDOMと対話するためのCSSのような構文を使用した強力な選択モデルを提供します。また、ブラウザやバージョンの違いの多くを抽象化しています。そのため、ブラウザ固有のDOMまたはAJAX AP​​Iとは対照的に、jQueryに対するコーディングの方がほとんど常に優れています。利用可能なjQueryプラグインの豊富なエコロジーがあり、多くの作業を行わなくても、あらゆる種類の強力な動作をWebアプリケーションに追加できます。

JavaScript:これは、すべての主要なブラウザーによって実装されるインタープリター型言語であり、Webサイトでクライアント側の動的な動作を可能にします。言語自体は非常に堅実ですが、ブラウザーによってAPIが異なるため、「生の」JavaScriptを効果的に作成するのが複雑になります。それがその上にこれらすべてのライブラリがある理由です。

ここで、ASP.NET開発者として何を学ぶべきかという質問についてです。 ASP.NET AJAXとjQueryの両方の機能に慣れることをお勧めします。マイクロソフトは両方を支持しており、どちらもVS 2010に含まれています。両者には異なる長所と短所があり、それらが何であるかを理解していれば、それらを使用することでより効果的になります。

ASP.NET Webサイトを実行するためにAJAXを使用する必要はありませんが、実行すると、Webサイトはより強力でユーザーフレンドリーになります。そして、AJAXが効果的である場合とそうでない場合の感覚を養うと、より優れたWeb開発者になります。

ああ、UpdatePanelsに近づかないでください。これはAJAXに対するMSの最初の回答でしたが、それらは一般に良くなく、AJAXを良くする多くの概念に反しています。それらはあなたに短期的な利益を与えますが、長期的には私の経験では保守性の悪夢です。

31
RationalGeek

いいえ、PHP AJAXはありません。

クライアント開発を行う必要がある場合は、最初に純粋なJavaScriptを学んでください。次に、jQueryを学びます。 jQueryだけで始めると、JavaScriptの重要な概念を見逃してしまい、基本的にカットアンドペーストプログラミングを行うことになります。

JavaScriptとjQueryはtheであり、ほとんどすべてのHTML開発で使用できる普遍的で標準化されたツールです。 PHPプログラマはクライアントのことを行うときにjs + jqを使用します、Rubyプログラマはjs + jqを使用します.

さて、私の知る限り、ASP.NET AJAXはASP.NETでの作業に適した、より高レベルのJavScriptフレームワークです。 HTMLからの非常に高度な抽象化です。そのため、特定のJSのものが存在します。基本的に、サーバー側のASP.NETコンポーネントとうまく連携して機能を拡張することです。また、ASP.NET AJAX jQueryが事実上の標準であることがそれであることが明確ではなかったときに開始されました。または、それは明らかでしたが、Microsoftではありませんでした;-)-彼らは実際に独自の中間レベルのJSライブラリ(jQueryのような)を作成することを計画していました。

正直なところ、私はマイクロソフトの人ではないので、雇用者/プロジェクトがASP.NET AJAXを正確に必要としない場合は、できる限り、純粋なJavaScript + jQueryを使用します。これにより、クライアント側のプログラミングについて最も広く認識されている知識が得られます。

5
Michal Till

これが一言で言えば取引です

(1)JQueryはJavaScriptに置き換わるものではなく、一般的なJavaScriptタスクを簡略化するライブラリです。 JQueryコードは実際にはJavaScriptで記述されています。

(2)AJAXは、Webページをクライアント側で操作し、ページ全体を強制的にリロードせずにサーバーからコンテンツをプルするJavaScriptコードです。複数の「バージョン」はありませんAJAX。

(3)上記#2を無視して。 ASP.NETとJQueryの両方には、AJAX=駆動型Webサイトの作成タスクを簡略化するライブラリまたはツールがあります。これを行う他のツールもいくつかあります。すべて同じAJAXですが、それを生成するさまざまな方法、またはそれをカプセル化するライブラリ。

(4)どの図書館を学ぶべきですか?それは主に好みのものです。 Webコントロールを多用し、ASP.NETでドラッグドロップWeb開発を行う場合は、ASP.NETコントロールを使用して同じことを行うことをお勧めします。私もASP.NET開発者ですが、少しより多くの作業が可能である場合でも、JQueryを使用することを好みます。時々。また、JQueryの方法を習得すれば、PHPを含む任意のプラットフォームで使用できます。

4
JohnFx

AJAXを実行するには多くの方法があります。ASP.NETを実行している場合、ASP.NET AJAXはその1つの方法です。近年、私は個人的にそれをやめています。 jQueryとそのAJAXの実装を支持する方法。

私がASP.NET開発者であれば、ASP.NETに固執する必要があると思いますAJAXクライアント側ではなくAJAX正しいですか?

ASP.NET AJAXは依然としてクライアント側のajaxです。ASP.NETによって生成された(膨大な)JavaScriptライブラリを探してくださいAJAX( ScriptResource.axdまたはWebResource.axdで実行しているときにそれらを実行します。

それは私がJavaScriptをスキップしてjQUERYを直接学ぶことができるということですか?

jQueryは、JavaScript関数のライブラリにすぎません。 jQueryを適切に使用するには、JavaScriptを理解する必要があります。 jQueryはいくつかのトリッキーなJavaScriptを抽象化するため、jQueryは、私の意見では、JavaScriptの使用と学習を開始するための良い方法です(ただし、少なくともsome JavaScriptを使用する前に知っておくとよいでしょう)。

ASP.NET AJAXに似た「PHP AJAX」はありますか?

抽象化するlotのJavaScriptライブラリがありますAJAXあなたのために離れています。jQueryはその1つにすぎませんが、非常に人気があり、非常に堅牢なものです。

3
Marcie

JavaScriptは、ブラウザーページのコンポーネントを制御できるクライアント側のインタープリター型言語です。つまり、HTMLドキュメントとブラウザ自体です。 jQueryは、DOMとのやり取りを容易にするクロスブラウザーJavaScript関数のライブラリです。

ASP.NETとPHPはどちらもサーバー側のスクリプト言語です。ASP.NETで構築されたページは、ASP.NET JIT(ジャストインタイム)コンパイラによって.NETアセンブリDLLにコンパイルされます。 、PHPに組み込まれたページが解釈されます。

技術的には、ASP.NETは実際には言語ではなく、C#またはVB.NETを使用してアクセスできるAPIを公開するフレームワークおよびランタイムです。したがって、ASP.NETアプリを開発するには、C#またはVB.NETのいずれかを知っている必要があります。

私の経験から、時間を取ってJavaScriptを学び、jQueryの学習に進むことをお勧めします。もちろん、クロスラーニング、つまりjQueryとコアJavaScriptの両方を実行することもできます。

AJAXは、jQueryとASP.NET AJAXの両方で使用できるクライアント側の非同期プログラミングテクノロジーです。 ASP.NET AJAXは、AJAXテクノロジーのMicrosoftによる実装です。

0

http://ajaxpatterns.org/PHP_Ajax_Frameworks は、さまざまなPHP Ajaxフレームワークをリストしていますが、それらがASP.Net AJAXのようにどの程度統合されているかはわかりません。 AJAXのJはJavascriptであるため、ほとんどのAJAXフレームワークの一部にはクライアント側コードが含まれます。

MicrosoftがASP.Netに追加する前にAJAX機能を取得するための他の実装がありましたAJAXここで Anthem.Net は、私が何年も前に使用した1つの例です。

0
JB King