Les avantages et les inconvénients de Mme Ajax contre jQuery dans un ASP.NET application MVC?

<!-Maintenant que RC1 est sorti, je dois décider une fois pour toutes s'il faut utiliser les bibliothèques ms Ajax ou juste jQuery pour les requêtes AJAX. L'application est une nouvelle application. Essentiellement, la façon dont je vais décider est de savoir si oui ou non j'en obtiens important profitez des bibliothèques Microsoft que je n'obtiendrais pas de jQuery. J'ai déjà chargé jQuery et je m'inquiète plus que tout des frais généraux supplémentaires liés à la taille des fichiers.

autant que je sache -- le seul avantage vraiment c'est qu'il existe des aides comme Ajax.BeginForm, mais peut-être que ceux-ci fonctionneront avec jQuery à un moment donné de toute façon? Un de mes amis, un employé du gouvernement, m'a également dit aujourd'hui que la bibliothèque de Mme Ajax contenait beaucoup de bogues, ce qui me préoccupe.

avec Microsoft maintenant avoir officiellement se lie d'amitié avec jQuery Je ne serais pas trop inquiet qu'ils fassent quoi que ce soit à l'avenir pour laisser jQuery dans la poussière en améliorant leurs propres bibliothèques.

je ne sais vraiment pas beaucoup sur exactement ce que Mme Ajax fait pour moi. Y at-il certains des avantages et des inconvénients. Ou est-ce juste du bloat à 90% pour supporter 'update panel' ?

<!-Je trouve aussi très intéressant que leASP.NET MVC in Action livre saute au-dessus de la MS Ajax bibliothèques et saute directement dans jQuery :

Dans ce chapitre, le lecteur sera examiner comment la technique ajax est appliqué à ASP.NET MVC in a more de façon transparente qu'avec les formulaires Web. Le lecteur verra comment l'effet de levier d'une de plus en plus populaire, léger bibliothèque javascript appelée jQuery.

(échantillon gratuit chapitre sur AJAX)

apprécierait beaucoup d'entendre de n'importe qui au sujet de leurs expériences de travail avec les deux, particulièrement sur les questions supplémentaires suivantes :

  • est - il facile de convertir du code entre les deux bibliothèques-en supposant des exigences ajax relativement simples ?
  • débogage notamment mieux ou plus vite dans la bibliothèque
  • tout le monde sait comment ASP.NET 4.0 progresse et des plans annoncés pour la bibliothèque AJAX qui pourraient être avantageux pour MVC?
  • que pourrait faire MS AJAX pour une application MVC au-delà de l'envoi de requêtes et du collage de la réponse dans un DIV?
  • comment faire l'équivalent de Ajax.BeginForm(...) et utiliser jQuery ?
  • quel était votre marché tueur d'une façon ou d'une autre?
  • ce que sont la plupart des gens utilisez?
17
demandé sur Simon_Weaver 2009-01-31 14:35:53

5 réponses

personnellement, je m'en tiendrais à JQuery. Mme AJAX est assez poids lourd en termes de taille et vous pouvez faire tellement avec JQuery. Quant à savoir s'il est facile de convertir du code, Eh bien cela dépend de combien de choses DE MS AJAX vous utilisez. Je ne pense pas qu'il y a vraiment beaucoup de différence appréciable dans le débogage de l'un à l'autre. Vous aurez une plus grande communauté D'utilisateurs de JQuery à partir de laquelle puiser des ressources.

17
répondu BobbyShaftoe 2009-01-31 12:09:06

Vous pouvez (et je n') utilisent à la fois selon le besoin. Quand je veux qu'un formulaire particulier ne soit pas JavaScript-friendly et que je génère du contenu sur le serveur, J'utiliserai MS AJAX via L'AjaxHelper. Il construit tout ce dont j'ai besoin du côté du client pour gérer le navigateur non-JavaScript activé. J'ai seulement besoin de détecter AJAX / non-AJAX dans le contrôleur et de retourner une vue partielle ou complète selon. Si je dois utiliser AJAX comme partie d'un plugin (dire autocomplete), alors j'utiliserai jQuery. Le point est que je utiliser l'outil le mieux adapté (plus facile à mettre en œuvre) pour moi. Accordé, la plupart de mes applications s'exécutent sur un intranet, donc je suis beaucoup moins préoccupés par la taille des téléchargements.

10
répondu tvanfosson 2009-01-31 13:20:44

j'ai aussi trouvé l' jQuery annonce à propos de MS incorporant la bibliothèque

Apparemment :

en outre Microsoft sera le développement de contrôles supplémentaires, ou widgets, à courir sur le dessus de jQuery qui sera facilement déployable dans votre Applications. net. jQuery aides être également inclus dans le côté serveur partie du développement. net (en outre les aides existantes) fournir des fonctions complémentaires à existant ASP.NET capacités AJAX.

donc je pense qu'il est tout à fait probable qu'ils vont finir par avoir des helpers jQuery qui reflètent exactement les helpers AJAX pour les trucs DE MS.

je suppose que la solution que je vais prendre est D'utiliser Html.Commencez le formulaire, puis interceptez le bouton Soumettre pour utiliser jQuery. Je ne suis pas particulièrement inquiet pour les gens sans javascript perdre la fonctionnalité, mais ce n'est pas beaucoup plus difficile à faire donc je peux aussi bien.

5
répondu Simon_Weaver 2009-01-31 20:13:52

JQuery est beaucoup plus facile à coder que Ajax allot des problèmes avec overhead peut être corrigé en ajoutant plus de mémoire plutôt que par stream lining code. Ajax n'a tout simplement pas de sens pour moi bien que je suis juste un débutant à elle. Après avoir traité avec la syntaxe Ajax trop critique, jQuery est comme un souffle de freash air.

1
répondu Anonymous 2011-06-24 02:22:20

Eh bien, il y a une chose que j'ai trouvé avec le cadre de MS Ajax qui ne peut pas être fait élégamment avec jQuery. Les commandes utilisateur build MS Ajax sont très orientées objet. Cela ne peut pas être fait facilement avec jQuery. Par exemple, supposons que vous construisez un contrôle d'Utilisateur "adresse", qui aura l'adresse1, l'adresse2, la ville, l'état, le zipcode et le pays. Vous pouvez construire ce contrôle avec jQuery et Ajax mais L'avantage qui est fourni par la bibliothèque Ajax est qu'il compartimentalise le contrôle d'adresse. Vous peut définir une fonction "reset()" sur ce contrôle qui réinitialiserait le contenu du contrôle d'adresse. Disons que vous voulez "reset()" pour définir address1, address2, la ville pour vider la chaîne mais L'État à "AL" et le pays à USA. Vous définissez le code pour le contrôle Ajax dans (.JS) et cette fonction sera associée à votre contrôle d'adresse. Même n'est pas possible avec jQuery. N'importe quelle fonction que vous définissez aura une portée globale et il n'y a pas de moyen facile de lier ce contrôle D'adresse de fonction. Vous pouvez très bien appelez la fonction "reset" sur le contrôle de la boîte de texte sur le formulaire!!!

donc si vous voulez créer un pur contrôle utilisateur orienté objet, je suppose que le meilleur choix est d'utiliser le framework ms Ajax.

0
répondu CSC 2012-02-17 19:28:52