Microsoft Ajax Control Toolkit против jQuery

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

  • Microsoft Ajax и Microsoft Ajax Control Toolkit
  • jQuery

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

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

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

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

this.Controls.Add(toolkitCalendarExtender);

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

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


person Juri    schedule 25.08.2009    source источник
comment
На что вы нацеливаетесь? Пользовательская база контроля?   -  person Perpetualcoder    schedule 25.08.2009


Ответы (11)


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

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

person Andy Gaskell    schedule 25.08.2009
comment
Что ж ... UpdatePanel - это то, чего я бы предпочел избегать. Это может привести к серьезным проблемам с производительностью. Да, можно использовать оба варианта. - person Juri; 25.08.2009
comment
Панель обновлений - отличная игрушка для начинающих разработчиков. Как только вы перейдете на ajax, вы больше никогда не вернетесь. - person The Muffin Man; 11.12.2010

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

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

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

person Jason    schedule 25.08.2009

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

person Nicolas Penin    schedule 25.08.2009
comment
Спасибо за совет. Еще не слышал о jQuery Toolkit. Спасибо - person Juri; 25.08.2009
comment
+1 впервые слышу об этом сервере управления jquery, спасибо :) - person Amr Elgarhy; 11.09.2009

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

  1. Нет проблем с "DLL Hell", когда другой разработчик забирает проект
  2. Возможность расширения до других серверных технологий
  3. Намного лучшая документация (ACT по сравнению с JQuery)
  4. Не нужно беспокоиться о том, какую версию .NET framework сервер и разработчик используют для использования конкретной версии.
  5. Все исходные коды хранятся в одном файле .JS, поэтому нет никаких сомнений в том, что куда нужно направить для развертывания.
  6. Не требует JIT-компиляции дополнительных библиотек кода на сервере
  7. More Granular functionality so you can MAKE a larger variety of interfaces
    1. That is to say, while you can make an accordion control with either framework, you can much more easily extend the JQuery one to say, have 2 panes open at once, or have another action performed somewhere else on the page when one opens, or remove one of the sections based on client side action (that is, if you can't find a control where someone has already done it!)
    2. Вы также точно знаете, как работает код, лежащий в основе вашего сайта, и нет никакой "магии черного ящика", связанной с поведением вашего сайта.
  8. Не требует обратных сообщений для выполнения как можно большего количества действий
  9. Хорошо работает с формами или MVC
  10. Библиотека пользовательских элементов управления НАМНОГО обширнее и поддерживается, чем ACT.
person Jrud    schedule 25.01.2012

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

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

person rahul    schedule 25.08.2009

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

person Keith    schedule 14.11.2012

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

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

person steveareeno    schedule 04.10.2010

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

person Azhar Khan    schedule 16.03.2011

Если вы в основном кодируете в MS Shops с помощью Visual Studio, тогда вам следует использовать набор инструментов, вам все равно нужно знать некоторый javascript, чтобы делать некоторые вещи, но в этой ситуации набор инструментов позволяет действительно быстро разработать и некоторый код, поддерживающий определенную контролирует. Тем не менее, никогда не помешает изучить оба, инструментарий действительно прямолинейный, поэтому кривая обучения небольшая и в некоторой степени, которая в основном зависит от ваших знаний javascript, как и jquery. Большинство приложений, которые я вижу сейчас, используют оба, и они работают довольно хорошо, и как только вы узнаете достаточно о каждом из них, вы сможете решить, что и где использовать ... в основном оба создают более крупный набор инструментов, и большой набор инструментов всегда отличная вещь для имеют.

person Tom    schedule 15.05.2010

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

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

person BlackjacketMack    schedule 05.10.2010