Microsoft Ajax Control Toolkit против jQuery - PullRequest
8 голосов
/ 25 августа 2009

В настоящее время мы разрабатываем несколько пользовательских серверных элементов управления asp.net. Теперь мы хотели бы добавить поддержку Ajax для некоторых из них. Теперь в принципе было бы два варианта

  • Microsoft Ajax & Microsoft Ajax Control Toolkit
  • JQuery

Я уже работал с Control Toolkit, писал полный Extender, и он был довольно интуитивно понятен, как только вы поймете историю. Но мне также нравится простота jQuery.

Так что я хотел бы услышать от некоторых из вас, на что вы хотели бы пойти (преимущества / недостатки каждого из них), учитывая также, что мы в основном имеем дело с технологиями Microsoft. Вы бы пошли больше за инструментарий или JQuery, ... или оба?

// Изменить:
Я только что провел несколько тестов, и должен признать, что на данный момент я нахожу набор инструментов лучше благодаря интеграции. Моя цель в основном использовать его на серверных элементах управления, поэтому с инструментарием у меня есть соответствующие классы на стороне сервера, где я могу сделать что-то вроде

CalendarExtender toolkitCalendarExtender = new CalendarExtender();
toolkitCalendarExtender.TargetControlID....
...

this.Controls.Add(toolkitCalendarExtender);

Это действительно хорошо, потому что таким образом мне не нужно иметь дело с рендерингом предопределенного JavaScript, который я каким-то образом создаю в виде строки внутри своего пользовательского серверного элемента управления. С jQuery мне бы пришлось это сделать (за исключением инструментария, о котором говорил Николас , но поддержка там слишком слаба для его использования в профессиональной среде)

Большое спасибо.

Ответы [ 11 ]

5 голосов
/ 25 августа 2009

Хотя это может быть не главное, я попробую. JQuery не имеет UpdatePanel - это хорошо. Ваши навыки jQuery легко перенесутся в другой стек, например ASP.NET MVC, Django или Rails. Я давно видел документы Ajax от MS, но документация jQuery для меня огромный фактор - это отлично.

Я слышал о некоторых разработчиках, использующих обе библиотеки, это тоже может быть чем-то, на что можно обратить внимание.

4 голосов
/ 25 августа 2009
  1. У вас гораздо больше документации для jQuery, чем для Microsoft ajax.
  2. База пользователей jQuery намного больше
  3. У вас есть много плагинов для jQuery
  4. бонус: у jQuery есть классное имя: -)
3 голосов
/ 25 января 2012

Причины использования JQuery API через AjaxControlToolkit:

  1. Нет проблем с "DLL Hell", когда другой разработчик подхватывает проект
  2. Возможность расширения на другие технологии на стороне сервера
  3. Гораздо лучшая документация ( ACT против JQuery )
  4. Не нужно беспокоиться о том, какую версию .NET Framework сервер и разработчик используют для использования конкретной версии
  5. Весь исходный код хранится в одном файле .JS, поэтому нет никаких сомнений относительно того, куда и куда нужно перейти для развертывания
  6. Не требует JIT-компиляции дополнительных библиотек кода на сервере
  7. Больше возможностей Granular, чтобы вы могли СДЕЛАТЬ большее разнообразие интерфейсов
    1. То есть, хотя вы можете создать элемент управления на аккордеоне с помощью любой из фреймворков, вы можете намного проще расширить JQuery, скажем, открыть сразу 2 панели или выполнить другое действие где-нибудь еще на странице, когда один открывает или удаляет один из разделов на основе действий на стороне клиента (то есть, если вы не можете найти элемент управления, где кто-то уже это сделал!)
    2. Вы также точно знаете, как работает код вашего сайта, и в его поведении не задействована "магия черного ящика"
  8. Не требует от постбэков выполнять столько же действий
  9. Хорошо работает с формами или MVC
  10. Библиотека пользовательских элементов управления НАМНОГО более обширна и поддерживается, чем библиотека ACT
3 голосов
/ 25 августа 2009

Для меня я бы использовал AjaxControlToolkit, только когда плагин jQuery не существует. Более того, с помощью jQuery control Toolkit вы можете использовать jQuery с серверными элементами управления. Посмотрите на это на codeplex

3 голосов
/ 25 августа 2009

Я иногда использую оба. Иногда MS AJAX Toolkit очень удобен для определенных вещей, а иногда это просто беспорядок. jQuery отлично подходит для многих вещей, но иногда может быть ограничен.

Однако я бы допустил ошибку на стороне jQuery, поскольку независимо от того, на какую платформу вы переходите, jQuery всегда будет применим, поскольку он полностью основан на клиенте, тогда как навыки MS AJAX Toolkit не помогут вам, если вы решите попробуйте другую серверную платформу.

2 голосов
/ 14 ноября 2012

Если вы используете WebForms (серверные элементы управления), вы должны использовать экстендеры для организации вашего скрипта и обеспечения его присутствия на стороне сервера. Учитывая, что полный набор инструментов уже существует (Ajax Toolkit), это лучший выбор, но если вы действительно хотите использовать JQuery, напишите свои собственные расширители, которые вызывают JQuery. Однако, если вы используете MVC, то просто используйте голый JQuery; он включен в эти приложения по умолчанию, и нет никаких серверных элементов управления, которым бы требовались серверные расширители для соответствия.

2 голосов
/ 25 августа 2009

Первый и самый важный момент, на мой взгляд, это пользовательская база для этих двух.

Я думаю, что jQuery имеет большую группу пользователей по сравнению с Microsoft Ajax. Так что поддержка jQuery будет намного больше.

1 голос
/ 16 марта 2011

JQuery позволяет вашему приложению быть свободным от выпусков ASP.NET. Мы использовали инструментарий MS AJAX, и нам пришлось задуматься о его версиях и посмотреть, совместим ли он с ASP.NET 2.0 и т. Д. Мы начали использовать элементы управления JQuery и обнаружили, что наше приложение работает намного быстрее, и наши элементы управления могут развиваться независимо от версий .NET. Мы могли бы даже выбросить .NET в пользу PHP, так как большинство наших вещей основано на WebService. Таким образом, для презентации у вас могут быть простые HTML-страницы с JQuery, а большинство других вещей может быть реализовано как WebServices.

1 голос
/ 04 октября 2010

Я никогда не был в восторге от набора инструментов ajax. Это казалось неуклюжим и раздутым.

Когда я наткнулся на jQuery, я никогда не оглядывался назад ...

0 голосов
/ 05 октября 2010

Разве веб-элементы управления не должны в определенной степени абстрагировать реализацию клиента? И если так, разве не возможно, что MS когда-нибудь внедрит инструментарий Ajax, используя jquery?

Jquery ловкий, и мне нравится играть с ним, но есть также кое-что очень долговечное в веб-элементах управления, в котором их реализация может обновляться автоматически вместе с клиентскими технологиями.

...