2009-08-25 4 views
7

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

  • Microsoft Ajax & Microsoft Ajax Control Toolkit
  • JQuery

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

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

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

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

this.Controls.Add(toolkitCalendarExtender); 

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

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

+0

Что вы нацеливаете? Пользовательская база управления? – Perpetualcoder

ответ

5

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

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

+1

Ну, а UpdatePanel - это то, что я бы предпочел избежать. Это может привести к серьезным проблемам с производительностью. Использование обеих возможностей также может быть опцией, да .. – Juri

+2

Панель обновления - блестящая игрушка для разработчиков новичка. Как только вы идете ajax, вы никогда не вернетесь. –

2

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

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

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

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

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

3

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

+0

спасибо за подсказку. Еще не слышал о jQuery Toolkit. Thx – Juri

+0

+1 первый раз услышать об этом управлении сервером jquery, спасибо :) –

0

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

1

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

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

0

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

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

1

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

3

Причина JQuery API более AjaxControlToolkit:

  1. нет проблем с "DLL Hell", когда другой разработчик подхватывает проект
  2. Расширяемого другие серверных технологии
  3. Намного лучше документации (ACT против JQuery)
  4. Не нужно беспокоиться о том, какая версия платформы .NET использует сервер и разработчик для использования определенной версии
  5. Весь источник поддерживается в одном.JS файл, поэтому нет никаких сомнений относительно того, что нужно идти туда, где для развертывания
  6. Не требует JIT компиляции дополнительных библиотек кода на сервере
  7. Более Гранулированный функциональность, так что вы можете сделать большее разнообразие интерфейсов
    1. То есть, хотя вы можете сделать аккордеонный контроль с помощью любой фреймворки, вы можете гораздо проще расширить JQuery, чтобы сказать, открыть сразу две панели или выполнить другое действие, выполняемое где-то еще на странице при открытии, или удалить один из разделов на основе действия на стороне клиента (то есть, если вы не можете найти элемент управления, где кто-то уже это сделал!)
    2. Вы также точно знаете, де за ваш сайт работает, и нет «черного ящика магии» участвует в поведении вашего сайта
  8. Не требует разместить спины выполнять столько действий
  9. хорошо работает с либо форм или MVC
  10. Пользовательские библиотеки управления гораздо более обширен и поддерживается, то, что из ACT
2

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

Смежные вопросы