Подтвердить что ты не робот

Плюсы и минусы MS Ajax против jQuery в приложении ASP.NET MVC?

Теперь, когда RC1 отсутствует, мне нужно решить раз и навсегда ли использовать библиотеки MS Ajax или просто jQuery для запросов AJAX. Приложение представляет собой новое приложение. По сути, я решаю, действительно ли я получаю любую значимую выгоду от библиотек Microsoft, которые я не получал бы из jQuery. У меня уже есть загрузка jQuery, и я беспокоюсь о дополнительных накладных расходах файла больше чем что-либо.

Насколько мне известно, единственное преимущество в том, что есть помощники, такие как Ajax.BeginForm, но, возможно, они будут работать с jQuery в какой-то момент? Мне также сообщил сегодня один сотрудник из моего государственного служащего о том, что в библиотеке MS Ajax есть много ошибок, которые меня беспокоят.

С Microsoft теперь официально подружился с jQuery Я бы не стал слишком беспокоиться о том, что они что-то делают в будущем, чтобы оставить jQuery в пыли, их собственные библиотеки.

Я действительно не очень разбираюсь в том, что именно на самом деле делает MS Ajax для меня. Есть ли определенные плюсы и минусы. Или это просто 90% раздувание для поддержки "панели обновления"?

Мне также очень интересно, что ASP.NET MVC in Action просто проскакивает через библиотеки MS Ajax и переходит прямо в jQuery:

В этой главе читатель будет изучите, как используется метод ajax применяется к ASP.NET MVC в более без использования веб-форм. читатель увидит, как использовать все более популярный, легкий javascript-библиотека под названием jQuery.

(из бесплатный образец в главе о AJAX)

Было бы очень полезно услышать от кого-либо о своем опыте работу с обоими, в частности, по следующим дополнительным вопросам:

  • Легко ли преобразовать код между двумя библиотеками - при условии относительно простых требований ajax?
  • отлаживается заметно лучше или быстрее в любой библиотеке
  • Кто-нибудь знает, как продвигается ASP.NET 4.0, и какие-либо объявленные планы для библиотеки AJAX, которые могут быть полезны для MVC?
  • Что в двух словах может MS AJAX делать для приложения MVC за отправкой запросов и вставлять ответ в DIV?
  • Как сделать эквивалент Ajax.BeginForm(...) и использовать jQuery?
  • Какова была ваша сделка убийца так или иначе?
  • что большинство людей там используют?
4b9b3361

Ответ 1

Лично я буду придерживаться JQuery. MS AJAX довольно тяжеловес по размеру, и вы можете так много сделать с помощью JQuery. Насколько легко конвертировать код, так это зависит от того, какую часть материала MS AJAX вы используете. Я не думаю, что есть действительно заметная разница в отладке от одного к другому. У вас будет более широкое сообщество пользователей JQuery, из которых можно извлечь ресурсы.

Ответ 2

Вы можете (и я) использовать оба в зависимости от необходимости. Когда я хочу, чтобы конкретная форма была дружественной к javascript, и я создаю контент на сервере, я буду использовать MS AJAX через AjaxHelper. Он создает все, что мне нужно, на стороне клиента, чтобы обрабатывать браузер, не поддерживающий javascript. Мне нужно только обнаружить AJAX/не-AJAX в контроллере и вернуть частичный или полный вид в зависимости. Если мне нужно использовать AJAX как часть плагина (скажем autocomplete), я буду использовать jQuery. Дело в том, что я использую инструмент, который лучше всего подходит (проще всего реализовать) для меня. Конечно, большинство моих приложений работают в интрасети, поэтому меня гораздо меньше беспокоит размер загрузок.

Ответ 3

Я также нашел объявление jQuery о MS, включающем библиотеку

По-видимому:

Дополнительно Microsoft будет разработка дополнительных элементов управления или виджеты, чтобы запускать поверх jQuery, чтобы будет легко развертываться в вашем .NET. Помощники jQuery будут также должны быть включены в серверную часть части разработки .NET(в дополнение к существующим помощникам) предоставление дополнительных функций для существующие возможности ASP.NET AJAX.

Итак, я думаю, что вполне вероятно, что у них будут помощники jQuery, которые точно отражают помощники AJAX для материала MS.

Я предполагаю, что решение, которое я возьму, это использовать Html.BeginForm, а затем перехватить кнопку submit, чтобы использовать jQuery. Я не особо беспокоюсь о людях, у которых нет функциональности javascript, но это не так уж сложно сделать, поэтому я также могу.

Ответ 4

JQuery намного проще кодировать, чем выделить Ajax из-за проблем с накладными расходами, можно исправить, добавив больше памяти, а не код подкласса. Ajax просто не имеет для меня никакого смысла, хотя я просто начинающий. После обработки чрезмерно критического синтаксиса Ajax, jQuery похож на дыхание freash воздуха.

Ответ 5

Ну, есть одна вещь, которую я нашел с каркасом MS Ajax, который нельзя сделать элегантно с помощью jQuery. Элементы управления пользователями MS Ajax очень объектно ориентированы. Это невозможно сделать с помощью jQuery. Например, предположим, что вы создаете пользовательский элемент управления "адрес", который будет иметь адрес1, адрес2, город, штат, почтовый индекс и страну. Вы можете создать этот элемент управления с помощью jQuery и Ajax, но преимущество, предоставляемое библиотекой Ajax, заключается в том, что он будет разделять управление адресами. Вы можете определить функцию "reset()" на этом элементе управления, которая будет reset содержимое управления адресами. Предположим, что вы хотите, чтобы "reset()" задавал адрес address1, address2, City to Empty, но указывал на "AL" и Country to USA. Вы определяете код для управления Ajax в файле (.js), и эта функция будет связана с вашим контролем адреса. В jQuery это невозможно. Любая функция, которую вы определяете, будет глобальной по объему, и нет простого способа связать эту функцию. Вы можете очень хорошо называть функцию "reset" в элементе управления текстовыми полями в форме!!!

Итак, если вы хотите создать чистые объектно-ориентированные пользовательские элементы управления, тогда я предполагаю, что лучший выбор заключается в использовании инфраструктуры MS Ajax.