ASP.NET Ajax、jQuery、およびJavaScriptについて混乱[非公開]


15

昨日、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」はありますか?

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


3
あなたの質問がWebプログラミングの世界のある意味でどのように要約されているかを+1面白い。
ギデオン

回答:


31

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

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 APIとは対照的に、jQueryに対してコーディングする方がほとんど常に優れています。jQueryプラグインの豊富なエコロジーが用意されており、多くの作業を行うことなく、あらゆる種類の強力な動作をWebアプリケーションに追加できます。

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

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

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

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


3
追加する唯一のことは、ASP.NET AJAXがクライアント側の詳細の一部を隠すことです。ライブラリはまだすべてクライアント側ですが、すべての詳細を知らなくてもクライアントとサーバー側をリンクする便利な方法を提供します。Webプログラミングについてより深く理解したい場合は、jQueryを使用してASP.NETメソッドを呼び出して、すべてがどのように機能するかを理解してください。
ブライアンレーバイン

1
+1非常に素晴らしい要約。マイナー屁理屈jQueryのは、同様にVS2008に含まれていた
コンラッドFrixを

@Conrad Frixは非常に真実です。しかし、実際に誰がその古いゴミを最近使用していますか?:-)(冗談が私を炎しません)
RationalGeek

私も火炎放射器を手に入れようとしていました。一日の仕事に私の一日で、そして2010 :)、ない2008 |:奇妙なことに私の使用2003 :(、2005
コンラッドFrix

あなたのJQueryパラグラフは少なくともJavascriptに言及できます!それ以外は、技術の素晴らしい説明について尋ねた
ozz

5

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

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

JavaScriptとjQueryはほぼすべてのHTML開発で使用できる汎用かつ標準化されたツールです。PHPプログラマーはクライアントのことをするときにjs + jqを使用し、Rubyプログラマーはjs + jqなどを使用します。

私の知る限り、ASP.NET AJAXは、ASP.NETと連携するのに適した高レベルのJavScriptフレームワークです。ASP.NETは、おそらくご存知のように、HTMLからの非常に高度な抽象化だからです。それが彼らが特定のJSを持っている理由です。基本的には、サーバー側のASP.NETコンポーネントを適切に操作して強化することをお勧めします。また、ASP.NET AJAXはなかった時代に始まっている jQueryのデファクト・スタンダードになることは明らか。または、それは明らかでしたが、Microsoftにはそうではありませんでした;-)-彼らは実際に(jQueryのような)独自の中間レベルJSライブラリを作成することを計画していました。

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


4

取引の概要は次のとおりです

(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を使用すると、ときどき多少作業が増えても、よりきめ細かな制御が可能になるためです。また、JQueryの方法を学べば、PHPを含む任意のプラットフォームで使用できます。


3

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

ASP.NET開発者の場合、クライアント側のAJAXではなくASP.NET AJAXを使用する必要がありますか?

ASP.NET AJAXは、引き続きクライアント側のajaxです。ASP.NET AJAXによって生成された(巨大な)JavaScriptライブラリを探します(ScriptResource.axdまたはWebResource.axdで実行中に表示されます)。

つまり、javascriptをスキップしてjQUERYを直接学習できるということですか?

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

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

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


0

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

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


0

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

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

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

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

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


-5

クライアント側の言語は、リクエストのサーバー負荷を減らすために使用されます。

Javascriptはクライアント側のスクリプト言語であり、Jqueryはjavascriptのフレームワークであり、オプションです。Js、jqueryはシステム自体で動作し、パスワード検証、Webページでのアニメーションなどのタスクを実行しますが、データベースにはアクセスしません。

データベースはMYSQL、ORACLEになり、Webホストに存在します。ASP、PHPはサーバー側のスクリプト言語です。ASPまたはPHPを使用してデータベースにアクセスできますが、Webサイトで作業するにはSQLも必要です。


1
ajaxとjqueryは言語ではない
Raynos

1
クライアントでもパスワード検証は行われません。これは単に「パスワードが間違っている」だけの空想ですが、それでもパスできます。
フロリアンマーゲイン

@Florian Margaine、javascript権限を使用してパスワードを検証し、フォームを送信できます。
パンドゥ

ひどい、ひどく構築された答え。
オズ

1
確認しなければならないことに気付いたとき、少なくとも読みやすさを改善しようとするのにかなりの努力が必要でした。すでに-3票未満なので、おそらく気付かれることはありません(概念的なエラーがある場合は修正するのは作者次第)回答。
ウーフコックペンテアーノ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.