Verwirrt über ASP.NET Ajax, jQuery und JavaScript [geschlossen]


15

Gestern las ich einige Kapitel über ASP.NET Ajax und jQuery aus meinem ASP.NET 4-Buch und fand diese Frameworks ziemlich interessant und entschloss mich, mehr darüber zu erfahren.

Heute habe ich einige Bücher aus der Bibliothek über Ajax und JavaScript ausgeliehen. Offenbar unterscheidet sich ASP.NET Ajax von Ajax, und jQuery ähnelt dem "neuen" JavaScript.

Bedeutet das, dass ich JavaScript überspringen und jQuery direkt lernen kann?

Auf der anderen Seite scheint das von mir ausgeliehene Buch, das nicht zu ASP.NET Ajax gehört, nur für die clientseitige Webprogrammierung zu gelten und sieht ganz anders aus als das, was ich von ASP.NET Ajax gelernt habe. Wenn ich ein ASP.NET-Entwickler bin, sollte ich mich an ASP.NET Ajax anstatt an clientseitiges Ajax halten, oder? Was ist mit PHP? Gibt es ein "PHP Ajax" ähnlich wie ASP.NET Ajax?

Es ist nicht so, dass ich faul bin, andere Werkzeuge zu lernen, aber ich möchte mich nur auf die richtigen konzentrieren.


3
+1 komisch, wie deine Frage in gewisser Weise einen Teil der Webprogrammierwelt zusammenfasst.
Gideon

Antworten:


31

Dies ist ein kompliziertes Thema, aber hier ist mein Versuch, herauszufinden, was all diese Dinge sind und in welcher Beziehung sie zueinander stehen.

AJAX: Hierbei handelt es sich um ein Konzept , bei dem Daten asynchron in eine Webanwendung gezogen werden, ohne dass die gesamte Seite neu geladen werden muss. Es ermöglicht dynamische Benutzeroberflächen wie Google Mail, die sich wie Desktop-Anwendungen verhalten, jedoch in einem Browser ausgeführt werden.

ASP.NET AJAX: Dies ist eine von Microsoft erstellte Bibliothek, die versucht, das AJAX-Konzept Entwicklern mit ASP.NET-Hintergrund zugänglich zu machen. Es stellt Methoden bereit, die .NET Framework-Methoden wie String.Format und anderen ähneln. Es hat einige Überschneidungen mit JQuery, aber beide können harmonisch zusammen verwendet werden, da sie unterschiedliche Stärken und Schwächen haben. Es ist wichtig zu wissen, dass dies eine clientseitige Bibliothek ist und keine Abhängigkeit von ASP.NET hat. Sie können ASP.NET AJAX mit jeder serverseitigen Technologie verwenden.

jQuery: Dies ist eine JavaScript-Bibliothek, die ein Framework bereitstellt, mit dem AJAX-Anwendungen einfach geschrieben werden können. Es bietet ein leistungsstarkes Auswahlmodell mit einer CSS-ähnlichen Syntax für die Interaktion mit dem Browser-DOM. Außerdem werden viele Unterschiede zwischen den verschiedenen Browsern und Versionen beseitigt. Daher ist es fast immer besser, mit jQuery zu codieren, als mit browserspezifischen DOM- oder AJAX-APIs. Es gibt eine Fülle von jQuery-Plug-ins, mit denen Sie Ihren Webanwendungen ein leistungsfähiges Verhalten verleihen können, ohne dass Sie viel zu tun haben.

JavaScript: Dies ist eine interpretierte Sprache, die von allen gängigen Browsern implementiert wird und dynamisches clientseitiges Verhalten auf Websites ermöglicht. Die Sprache selbst ist ziemlich solide, aber die verschiedenen APIs, die die verschiedenen Browser bieten, erschweren das effektive Schreiben von "rohem" JavaScript. Darum gibt es all diese Bibliotheken darüber.

Nun zur Frage, was Sie als ASP.NET-Entwickler lernen sollten. Ich würde empfehlen, sich mit der Funktionalität von ASP.NET AJAX und jQuery vertraut zu machen. Microsoft unterstützt beide, und beide sind in VS 2010 enthalten. Sie haben unterschiedliche Stärken und Schwächen. Wenn Sie verstehen, welche das sind, können Sie sie effektiver einsetzen.

Sie müssen AJAX nicht verwenden, um ASP.NET-Websites zu erstellen. In diesem Fall sind Ihre Websites jedoch leistungsfähiger und benutzerfreundlicher. Und wenn Sie ein Gefühl dafür entwickeln, wann AJAX effektiv ist und wann nicht, sind Sie ein besserer Webentwickler.

Oh, und halten Sie sich von UpdatePanels fern. Das war die erste Antwort von MS auf AJAX, aber sie sind im Allgemeinen schlecht und widersprechen vielen Konzepten, die AJAX gut machen. Sie bieten Ihnen einen kurzfristigen Nutzen, aber auf lange Sicht sind sie meiner Erfahrung nach ein Alptraum für die Wartbarkeit.


3
Das einzige, was ich hinzufügen möchte, ist, dass ASP.NET AJAX auch einige Details auf der Clientseite verbirgt. Die Bibliothek ist immer noch vollständig clientseitig, bietet jedoch praktische Möglichkeiten zum Verknüpfen von Client- und Serverseite, ohne dass alle Details bekannt sein müssen. Wenn Sie die Webprogrammierung wirklich besser verstehen möchten, sollten Sie zunächst jQuery verwenden und Ihre ASP.NET-Methoden aufrufen, um zu verstehen, wie dies alles funktioniert.
Bryan Rehbein

1
+1 Sehr schöne Zusammenfassung. Kleinere Quibble-jQuery war auch in VS2008 enthalten
Conrad Frix,

@Conrad Frix sehr wahr. Aber wer benutzt das alte Stück Müll heutzutage wirklich? :-) (nur ein Witz,
RationalGeek

Ich wollte gerade meinen Flammenwerfer holen. Seltsamerweise benutze ich 2003 :(, 2005: | und 2010 :) in meiner täglichen Arbeit, aber keine 2008
Conrad Frix

In Ihrem JQuery-Absatz könnte mindestens Javascript erwähnt werden!
Ansonsten

5

Nein, es gibt kein PHP AJAX.

Wenn Sie Client-Entwicklung machen müssen, lernen Sie zunächst reines Javascript. Dann lerne jQuery. Wenn Sie nur mit jQuery beginnen, werden Sie wichtige Javascript-Konzepte vermissen und Sie werden im Grunde genommen die Cut & Paste-Programmierung durchführen.

JavaScript und jQuery sind die universellen und standardisierten Tools, die in fast jeder HTML-Entwicklung verwendet werden können. PHP-Programmierer verwenden js + jq für Client-Aufgaben, Ruby-Programmierer verwenden js + jq usw.

Soweit ich weiß, ist ASP.NET AJAX sogar ein höheres JavScript-Framework, das für die Arbeit mit ASP.NET geeignet ist, da ASP.NET, wie Sie wahrscheinlich wissen, selbst eine ziemlich gute Abstraktion von HTML ist. Das ist der Grund, warum sie bestimmte JS-Dinge haben. Grundsätzlich ist es wichtig, mit den serverseitigen ASP.NET-Komponenten gut zu spielen und diese zu verbessern. Auch begann ASP.NET AJAX in Zeiten , in denen es nicht , dass klar , dass jQuery Defacto-Standard sein wird. Oder es war klar, aber nicht für Microsoft ;-) - sie planten tatsächlich, eine eigene JS-Bibliothek auf mittlerer Ebene zu erstellen (wie jQuery es ist).

Ehrlich gesagt, ich bin kein Microsoft-Typ und würde definitiv so lange wie möglich an reinem JavaScript + jQuery festhalten - wenn Ihr Arbeitgeber / Projekt nicht genau ASP.NET AJAX erfordert. Es vermittelt Ihnen das allgemein anerkannte Wissen über clientseitige Programmierung.


4

Hier ist der Deal auf den Punkt gebracht

(1) JQuery ersetzt kein Javascript. Es ist eine Bibliothek, die gängige JavaScript-Aufgaben vereinfacht. Jeglicher JQuery-Code ist tatsächlich in JavaScript geschrieben.

(2) AJAX ist nur JavaScript-Code, der die Client-Seite der Webseite manipuliert und häufig Inhalte vom Server abruft, ohne ein erneutes Laden der gesamten Seite zu erzwingen. Es gibt nicht mehrere "Versionen" von AJAX.

(3) Abweichend von Nummer 2 oben. Sowohl ASP.NET als auch JQuery verfügen über Bibliotheken oder Tools, die die Erstellung von AJAX-gesteuerten Websites vereinfachen. Es gibt auch eine Reihe anderer Tools, die dies ebenfalls tun. Es ist alles dasselbe AJAX, nur verschiedene Arten, es zu generieren, oder Bibliotheken, die es einkapseln.

(4) Welche Bibliothek solltest du lernen? Das ist meistens eine Präferenzsache. Wenn Sie die Verwendung von Websteuerelementen und die Drag-Drop-Webentwicklung mit ASP.NET sehr mögen, ziehen Sie es möglicherweise vor, nur die ASP.NET-Steuerelemente zu verwenden, um dasselbe zu tun. Ich bin auch ein ASP.NET-Entwickler, bevorzuge jedoch die Verwendung von JQuery, da ich dadurch häufig eine feinkörnigere Steuerung erhalte, auch wenn es manchmal etwas arbeitsintensiver sein kann. Wenn Sie sich mit JQuery auskennen, können Sie es auf jeder Plattform, einschließlich PHP, verwenden.


3

Es gibt viele Möglichkeiten, AJAX auszuführen, und wenn Sie ASP.NET ausführen, ist ASP.NET AJAX eine dieser Möglichkeiten. In den letzten Jahren bin ich persönlich zugunsten von jQuery und der Implementierung von AJAX davon abgekommen.

Wenn ich ein ASP.NET-Entwickler bin, sollte ich mich an ASP.NET AJAX anstatt an clientseitiges AJAX halten, oder?

ASP.NET AJAX ist weiterhin clientseitig ajax. Suchen Sie nach den (enormen) JavaScript-Bibliotheken, die von ASP.NET AJAX für Sie generiert wurden (Sie werden sie sehen, wenn Sie in ScriptResource.axd oder WebResource.axd ausgeführt werden.

Heißt das, ich kann Javascript überspringen und direkt jQUERY lernen?

jQuery ist nur eine Bibliothek von JavaScript-Funktionen. Sie benötigen immer noch JavaScript-Kenntnisse, um jQuery richtig verwenden zu können. In jQuery wird etwas kniffliges JavaScript abstrahiert, daher ist jQuery meiner Meinung nach eine gute Möglichkeit, JavaScript zu verwenden und zu erlernen (obwohl Sie zumindest etwas JavaScript besser kennen sollten, bevor Sie es verwenden).

Gibt es ein "PHP AJAX" ähnlich wie ASP.NET AJAX?

Es gibt eine Menge von JavaScript-Bibliotheken, um AJAX für Sie zu abstrahieren. jQuery ist nur eine davon, aber sie ist sehr beliebt und sehr robust.


0

http://ajaxpatterns.org/PHP_Ajax_Frameworks listet verschiedene PHP-Ajax-Frameworks auf, obwohl ich nicht weiß, wie gut sie wie ASP.Net AJAX integriert sind. Ein Teil der meisten AJAX-Frameworks wird clientseitigen Code beinhalten, da das J von AJAX für Javascript ist.

Es gab andere Implementierungen, um AJAX-Funktionalität zu erhalten, bevor Microsoft ASP.Net AJAX einführte, wobei Anthem.Net ein Beispiel ist, das ich vor Jahren verwendet habe.


0

JavaScript ist eine clientseitig interpretierte Sprache, mit der Sie die Kontrolle über die Komponenten der Browserseite haben. dh das HTML-Dokument und auch den Browser selbst. jQuery ist eine Bibliothek mit browserübergreifenden JavaScript-Funktionen, die die Interaktion mit dem DOM erleichtern.

ASP.NET und PHP sind beides serverseitige Skriptsprachen. Wenn eine von ASP.NET erstellte Seite vom ASP.NET JIT-Compiler (Just In Time) in eine .NET-Assembly-DLL kompiliert wird, wird eine in PHP erstellte Seite interpretiert.

Technisch gesehen ist ASP.NET keine Sprache, sondern ein Framework und eine Laufzeit, die APIs bereitstellen, auf die mit C # oder VB.NET zugegriffen werden kann. Um ASP.NET-Apps zu entwickeln, müssen Sie entweder C # oder VB.NET kennen.

Aus meiner Erfahrung werde ich raten, dass Sie sich die Zeit nehmen und JavaScript lernen und dann mit dem Lernen von jQuery fortfahren. Natürlich können Sie auch Cross-Learning durchführen, dh sowohl jQuery als auch Core-JavaScript.

AJAX ist eine clientseitige asynchrone Programmiertechnologie, die sowohl in jQuery als auch in ASP.NET AJAX verwendet werden kann. ASP.NET AJAX ist die Implementierung der AJAX-Technologie von Microsoft.


-5

Clientseitige Sprachen werden verwendet, um die Serverlast von Anforderungen zu verringern.

Javascript ist eine clientseitige Skriptsprache und JQuery ist ein Framework von Javascript und optional. Js, jquery arbeitet in Ihrem System selbst und führt Aufgaben wie Passwortüberprüfung, Animation auf der Webseite usw. aus, sie greifen nicht auf die Datenbank zu.

Die Datenbank ist MYSQL, ORACLE und befindet sich im Webhost. ASP und PHP sind serverseitige Skriptsprachen. Sie können mit ASP oder PHP auf die Datenbank zugreifen, SQL ist jedoch auch für die Arbeit an Websites erforderlich.


1
Ajax und JQuery sind keine Sprachen
Raynos

1
Die Kennwortüberprüfung wird auch auf dem Client nicht durchgeführt. Es ist nur eine Phantasie "Ihr Passwort ist dort falsch", aber es kann immer noch passieren.
Florian Margaine

@Florian Margaine, Sie können das Passwort überprüfen und das Formular mit Javascript senden.
Pandu

schreckliche, schlecht konstruierte Antwort.
ozz

1
Ich muss zustimmen, als ich bei der Überprüfung darauf gestoßen bin, habe ich erhebliche Anstrengungen unternommen, um zumindest die Lesbarkeit zu verbessern. Es ist bereits unter -3 Stimmen, also wird es wahrscheinlich unbemerkt bleiben (noch schlimmer für konzeptionelle Fehler, die vom Autor behoben werden müssen), aber ich hoffe, dass es jetzt lesbarer ist und dem Autor zeigt, wie er das hätte schreiben können Antworten.
Oeufcoque Penteano
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.