Confus à propos d'ASP.NET Ajax, jQuery et JavaScript [fermé]

15

Hier, j'ai lu quelques chapitres sur ASP.NET Ajax et jQuery dans mon livre ASP.NET 4 et j'ai trouvé ces cadres assez intéressants et j'ai décidé d'en savoir plus à leur sujet.

Aujourd'hui, j'ai emprunté des livres à la bibliothèque sur Ajax et JavaScript. Il semble qu'ASP.NET Ajax soit différent d'Ajax et jQuery semble être le "nouveau" JavaScript.

Est-ce que cela signifie que je peux ignorer JavaScript et apprendre directement jQuery?

D'un autre côté, le livre Ajax non ASP.NET que j'ai emprunté semble s'appliquer uniquement à la programmation Web côté client et semble très différent de ce que j'ai appris d'ASP.NET Ajax. Si je suis un développeur ASP.NET, je suppose que je devrais m'en tenir à ASP.NET Ajax au lieu de Ajax côté client, non? Et PHP? Existe-t-il un "PHP Ajax" similaire à ASP.NET Ajax?

Ce n'est pas que je suis paresseux pour apprendre d'autres outils, mais je veux juste me concentrer sur les bons.

Mr.Y
la source
3
+1 drôle comment votre question résume en quelque sorte une partie du monde de la programmation Web.
gideon

Réponses:

31

C'est un sujet compliqué, mais voici ma tentative de distiller ce que toutes ces choses sont et comment elles se rapportent.

AJAX: Il s'agit d'un concept qui consiste à extraire des données de manière asynchrone dans une application Web sans recharger la page entière. Il permet des interfaces utilisateur dynamiques telles que Google Mail qui agissent comme des applications de bureau mais s'exécutent dans un navigateur.

ASP.NET AJAX: il s'agit d'une bibliothèque créée par Microsoft qui tente de rendre le concept AJAX accessible aux développeurs qui ont un arrière-plan ASP.NET. Il fournit des méthodes similaires aux méthodes .NET Framework telles que String.Format et autres. Il a un certain chevauchement avec JQuery mais ils peuvent tous deux être utilisés en harmonie car ils ont des forces et des faiblesses différentes. Il est important de se rappeler qu'il s'agit d'une bibliothèque côté client et n'a pas réellement de dépendance sur ASP.NET. Vous pouvez utiliser ASP.NET AJAX avec n'importe quelle technologie côté serveur.

jQuery: Il s'agit d'une bibliothèque JavaScript qui fournit un cadre pour rendre les applications AJAX faciles à écrire. Il fournit un modèle de sélection puissant utilisant une syntaxe de type CSS pour interagir avec le DOM du navigateur. Il résume également de nombreuses différences entre les différents navigateurs et versions. Il est donc presque toujours préférable de coder contre jQuery, par opposition aux API DOM ou AJAX spécifiques au navigateur. Il existe une écologie riche de plugins jQuery disponibles qui peuvent ajouter toutes sortes de comportements puissants à vos applications Web, sans beaucoup de travail de votre part.

JavaScript: il s'agit d'un langage interprété implémenté par tous les principaux navigateurs qui permet un comportement dynamique côté client sur les sites Web. Le langage lui-même est assez solide, mais les différentes API fournies par les différents navigateurs compliquent l'écriture efficace de JavaScript "brut". C'est pourquoi il y a toutes ces bibliothèques en plus.

Maintenant, en ce qui concerne la question de ce que vous devez apprendre en tant que développeur ASP.NET. Je recommanderais de vous familiariser avec les fonctionnalités d'ASP.NET AJAX et de jQuery. Microsoft approuve les deux, et les deux sont inclus avec VS 2010. Ils ont des forces et des faiblesses différentes et si vous comprenez quels sont ceux-ci, vous serez plus efficace avec leur utilisation.

Vous n'avez pas besoin d'utiliser AJAX pour créer des sites Web ASP.NET, mais vos sites Web seront plus puissants et plus conviviaux si vous le faites. Et si vous comprenez quand AJAX est efficace et quand ce n'est pas le cas, vous serez un meilleur développeur web.

Oh, et restez loin de UpdatePanels. C'était la première réponse de MS à AJAX, mais ils sont généralement mauvais et vont à l'encontre de beaucoup de concepts qui rendent AJAX bon. Ils vous donnent un avantage à court terme mais à long terme, ils sont un cauchemar de maintenabilité d'après mon expérience.

RationalGeek
la source
3
La seule chose que j'ajouterais, c'est qu'ASP.NET AJAX cache également certains détails du côté client. La bibliothèque est toujours entièrement côté client, mais elle fournit des moyens pratiques de relier le côté client et le serveur sans avoir à connaître tous les détails. Si vous voulez vraiment une meilleure compréhension de la programmation Web, vous pouvez commencer par utiliser jQuery et appeler vos méthodes ASP.NET pour comprendre comment tout cela fonctionne.
Bryan Rehbein
1
+1 Très beau résumé. Une question mineure jQuery a également été incluse avec VS2008
Conrad Frix
@Conrad Frix très vrai. Mais vraiment, qui utilise ces vieux déchets aujourd'hui? :-) (juste une blague ne me flambe pas)
RationalGeek
J'étais sur le point d'obtenir mon lance-flammes aussi. Curieusement, j'utilise 2003 :(, 2005: | et 2010 :) dans mon travail quotidien, mais pas 2008
Conrad Frix
Votre paragraphe JQuery pourrait au moins mentionner Javascript! à part ça, une super description des techniciens interrogés
ozz
5

Non, il n'y a pas de PHP AJAX.

Si vous devez faire du développement client, apprenez d'abord le javascript pur. Apprenez ensuite jQuery. Si vous commencez avec juste jQuery, vous manquerez des concepts javascript importants et vous ferez essentiellement de la programmation par copier-coller.

JavaScript et jQuery sont les outils universels et standardisés qui peuvent être utilisés presque dans n'importe quel développement HTML. Les programmeurs PHP utilisent js + jq lorsqu'ils font des choses clientes, les programmeurs Ruby utilisent js + jq etc.

Maintenant, pour autant que je sache, ASP.NET AJAX est même un framework JavScript de niveau supérieur qui est adapté pour fonctionner avec ASP.NET, car ASP.NET, comme vous le savez probablement, est lui-même une abstraction assez élevée de HTML. C'est pourquoi ils ont des choses JS spécifiques. Fondamentalement, il est bon de bien jouer avec les composants ASP.NET côté serveur et de les améliorer. De plus, ASP.NET AJAX a commencé à une époque où il n'était pas si clair que jQuery sera de facto standard. Ou, c'était clair, mais pas pour Microsoft ;-) - ils avaient en fait prévu de créer leur propre bibliothèque JS de niveau intermédiaire (comme jQuery l'est).

Honnêtement, je ne suis pas un gars de Microsoft et je m'en tiendrai à JavaScript + jQuery pur aussi longtemps que je le pourrai - si votre employeur / projet ne nécessite pas exactement ASP.NET AJAX. Il vous donnera la connaissance la plus universellement reconnue de la programmation côté client.


la source
4

Voici l'affaire en bref

(1) JQuery ne remplace pas Javascript, c'est une bibliothèque qui simplifie les tâches JavaScript courantes. Tout code JQuery est en fait écrit en JavaScript.

(2) AJAX n'est qu'un code JavaScript qui manipule la page Web côté client et extrait souvent le contenu du serveur sans forcer le rechargement de la page entière. Il n'y a pas plusieurs "Versions" d'AJAX.

(3) Nonobstant la demande n ° 2 ci-dessus. ASP.NET et JQuery possèdent des bibliothèques ou des outils qui simplifient la tâche de création de sites Web pilotés par AJAX. Il existe également un certain nombre d'autres outils qui le font également. C'est tout de même AJAX, juste différentes façons de le générer, ou des bibliothèques l'encapsulant.

(4) Quelle bibliothèque devez-vous apprendre? C'est surtout une chose de préférence. Si vous aimez beaucoup utiliser les contrôles Web et le développement Web par glisser-déposer avec ASP.NET, vous préférerez peut-être simplement utiliser les contrôles ASP.NET pour faire de même. Je suis également développeur ASP.NET, mais je préfère utiliser JQuery car cela me donne souvent un contrôle plus fin, même si cela peut parfois être un peu plus de travail. De plus, si vous apprenez la méthode JQuery, vous pouvez l'utiliser sur n'importe quelle plate-forme, y compris PHP.

JohnFx
la source
3

Il existe de nombreuses façons de faire AJAX, et si vous utilisez ASP.NET, ASP.NET AJAX est l'une de ces façons. Ces dernières années, je me suis personnellement éloigné de le faire de cette façon en faveur de jQuery et de sa mise en œuvre d'AJAX.

Si je suis un développeur ASP.NET, je suppose que je devrais rester avec ASP.NET AJAX au lieu de AJAX côté client, non?

ASP.NET AJAX est toujours ajax côté client. Recherchez les (énormes) bibliothèques JavaScript générées pour vous par ASP.NET AJAX (vous les verrez lors de l'exécution dans ScriptResource.axd ou WebResource.axd.

Est-ce que cela signifie que je peux ignorer javascript et apprendre directement jQUERY?

jQuery est juste une bibliothèque de fonctions JavaScript. Vous aurez toujours besoin de comprendre JavaScript pour utiliser correctement jQuery. jQuery résume certains JavaScript délicats, donc jQuery est, à mon avis, un bon moyen de commencer à utiliser et à apprendre JavaScript (bien que vous feriez mieux de connaître au moins du JavaScript avant de commencer à l'utiliser).

Existe-t-il un "PHP AJAX" similaire à ASP.NET AJAX?

Il existe de nombreuses bibliothèques JavaScript pour résumer AJAX pour vous. jQuery n'est que l'un d'entre eux, mais il est très populaire et très robuste.

Marcie
la source
0

http://ajaxpatterns.org/PHP_Ajax_Frameworks répertorie divers cadres PHP Ajax bien que je ne sache pas à quel point ils sont intégrés comme ASP.Net AJAX. Une partie de la plupart des frameworks AJAX impliquera du code côté client car le J d'AJAX est pour Javascript.

Il y avait d'autres implémentations pour obtenir la fonctionnalité AJAX avant que Microsoft ne mette en ASP.Net AJAX où Anthem.Net est un exemple que j'ai utilisé il y a des années.

JB King
la source
0

JavaScript est un langage interprété côté client qui vous permet de contrôler les composants de la page du navigateur; c'est-à-dire le document HTML et aussi le navigateur lui-même. jQuery est une bibliothèque de fonctions JavaScript multi-navigateurs qui facilite l'interaction avec le DOM.

ASP.NET et PHP sont tous deux des langages de script côté serveur, lorsqu'une page construite ASP.NET est compilée dans une DLL d'assemblage .NET, par le compilateur ASP.NET JIT (Just In Time), une page construite en PHP est interprétée.

Techniquement, ASP.NET n'est pas vraiment un langage, c'est un framework et un temps d'exécution, qui expose des API accessibles via C # ou VB.NET. Ainsi, pour développer des applications ASP.NET, vous devez connaître C # ou VB.NET.

D'après mon expérience, je vous conseillerai de prendre du temps et d'apprendre JavaScript, puis de passer à l'apprentissage de jQuery. Bien sûr, vous pouvez également effectuer un apprentissage croisé, c'est-à-dire à la fois jQuery et JavaScript principal.

AJAX est une technologie de programmation asynchrone côté client, qui peut être utilisée à la fois dans jQuery et ASP.NET AJAX. ASP.NET AJAX est l'implémentation par Microsoft de la technologie AJAX.

Paul C. Metieh II
la source
-5

Les langues côté client sont utilisées pour réduire la charge de requêtes du serveur.

Javascript est un langage de script côté client et Jquery est un framework de javascript et est facultatif. Js, jquery fonctionne dans votre système lui-même et effectue des tâches comme la validation de mot de passe, l'animation dans la page Web, etc., ils n'accèdent pas à la base de données.

La base de données sera MYSQL, ORACLE et existe dans l'hôte Web; ASP, PHP sont des langages de script côté serveur. Vous pouvez utiliser ASP ou PHP pour accéder à la base de données mais SQL est également nécessaire pour travailler sur des sites Web.

pandu
la source
1
ajax et jquery ne sont pas des langues
Raynos
1
La validation du mot de passe ne se fait pas non plus sur le client. C'est juste une fantaisie "votre mot de passe est faux là-bas", mais il peut toujours passer.
Florian Margaine
@Florian Margaine, Vous pouvez valider le mot de passe et soumettre le formulaire en utilisant le droit javascript.
pandu
réponse terrible, mal construite.
ozz
1
Je dois être d'accord, lorsque je suis tombé sur cette question pour l'avoir revue, il m'a fallu des efforts considérables pour au moins améliorer la lisibilité. Ses déjà moins de -3 votes vont donc probablement passer inaperçus (encore pire pour avoir des erreurs conceptuelles avec est à l'auteur de corriger), mais au moins j'espère que c'est plus lisible maintenant et montrer à l'auteur comment il aurait pu faire pour écrire le répondre.
Oeufcoque Penteano