Лучшие технологии для веб-разработки AJAX - PullRequest
4 голосов
/ 04 июня 2009

У меня есть некоторый опыт разработки AJAX, в основном на .NET и MooTools. Тем не менее, я хочу узнать больше и посмотреть, что другие думают о различных других доступных опциях. Я ищу больше советов по поводу интерфейса. Скорее всего, я буду писать код в .NET, используя службы c # и WCF.

Пожалуйста, не стесняйтесь предоставлять мне как можно больше информации. Также буду признателен за любые ссылки на ресурсы.

Список опций (не стесняйтесь добавлять)

  • Напишите мой собственный Javascript

  • Используйте фреймворк, такой как MooTools, JQuery и т. Д. Какой из них лучше?

  • Используйте Google Web Toolkit. Связываю ли я себя с ограничениями GWT? Или нет ограничений?

  • ASP.NET AJAX

  • WPF (Будет ли это работать в браузерах без IE?)

  • Вспышка (будет сложно выучить сценарий действия)

Спасибо Jaspreet

Ответы [ 13 ]

9 голосов
/ 04 июня 2009

Написание собственного Javascript часто означает переосмысление колеса, когда дело доходит до попыток достижения кросс-браузерной совместимости. Фреймворки, такие как jQuery и MooTools, позаботятся о большей части этой тяжелой работы для вас.

Лично я бы предложил выбрать фреймворк Javascript или использовать GWT, но на самом деле это просто вопрос личных предпочтений, очень похожий на выбор языка программирования. Выберите тот, который лучше всего подходит для ваших целей, или который вам наиболее знаком.

7 голосов
/ 04 июня 2009

Я бы пошел с JQuery.

jQuery будет поставляться в комплекте со следующей версией Visual Studio. Google использует jQuery. У jQuery самая большая пользовательская база среди всех фреймворков. И если говорить о том, что не нужно изобретать колесо: у jQuery также есть самый большой плагин-репозиторий из всех фреймворков. находится в постоянном развитии.

.. А если вы поклонник книг; в настоящее время есть 3-4 книги об этом.

О да! Посетите веб-сайт Дугласа Крокфорда , где вы найдете отличные советы и хитрости ванильного JavaScript.

Только мои два цента:)

6 голосов
/ 04 июня 2009

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

5 голосов
/ 04 июня 2009

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

Я разработал с использованием инструментария Dojo и нашел его очень хорошо округленным. Однако, если вы не делаете пользовательскую сборку в вашей библиотеке, это замедляет все. У него более крутая кривая обучения, чем у других фреймворков, но, похоже, он находится довольно близко к сердцу JavaScript.

Но это не реклама додзё. Сейчас я работаю над веб-приложением Ajax, и моя цель - попытаться избежать использования фреймворка. Зачем? Несколько причин.

Самая большая причина - полный контроль над кодом. Не то чтобы я не доверял инструментарию, мне просто нравится мой собственный код. У меня нет кода, который я не использую, и все мои абстракции сделаны специально для моих целей. Иногда я на самом деле заново изобретаю колесо *, но оно всегда немного отличается, потому что оно построено специально.

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

В том-то и дело, что если вы сделаете какой-нибудь нетривиальный javascript, у вас будет фреймворк (или беспорядок). В действительности это может быть не самый быстрый способ написания веб-приложений, но это не так сложно, если немного потренироваться. Вы можете быть удивлены тем, какие творческие вещи вы можете придумать, чего раньше не было.


* Изобретать колесо - ужасная аналогия, которую мы все используем. Мы постоянно изобретаем колеса. Сначала из камня, затем из более легкого дерева, шин и т. Д. У моего грузовика нет таких же колес, как у моего седана.

5 голосов
/ 04 июня 2009

Я бы порекомендовал jQuery. Он более расширяемый и легкий, чем большинство других библиотек JavaScript, которые я видел (и вы можете использовать его в Google-кеше с помощью API AJAX).

Для веб-приложений AJAX, основанных на Flash, Flex является лучшим решением.

3 голосов
/ 04 июня 2009

Вы должны проверить ExtJS .

Большинство библиотек, которые я видел, имеют пригодное для использования ядро, но в них нет библиотеки виджетов / элементов управления, которые будут сливаться друг с другом. Конечно, вы можете получить огромное количество элементов управления для jQuery, но у вас есть время, чтобы выяснить, какие из них имеют предполагаемую функциональность, и настроить их внешний вид в соответствии с остальными элементами управления? ExtJS дает вам именно это. Ядро это ядро. Это работает, и это прекрасно работает. Но широкий выбор совместимых и многофункциональных элементов управления - это основной драйвер, который сделает вашу жизнь проще.

Я использовал ExtJS с сервисами Asp.Net и WCF, и в целом это был действительно хороший опыт. Вам понадобится некоторое время, чтобы познакомиться с компонентной моделью ExtJS, чтобы расширить ее еще больше (как и в случае с другими библиотеками), но когда вы это сделаете, вы полюбите ее еще больше.

Еще одна вещь: поскольку MS поставляет jQuery с MVC, это не значит, что он лучший. Это только означает, что он один из лучших (и намного лучше, чем собственный Ajax от Microsoft), но с самой непринужденной лицензией с открытым исходным кодом.

Редактировать : Теперь, когда Silverlight 3 уже выпущен, стало очевидно, что он немного встряхнется с автономной поддержкой и богатой поддержкой графики. А также автономный рабочий стол, как веб-приложения. Определенно, что-то, чтобы рассмотреть ...

3 голосов
/ 04 июня 2009

Как и другие респонденты, я предпочитаю использовать фреймворки, но мой любимый - dojo - чистая и хорошо продуманная архитектура, хорошие книги (мое любимое существо Мэтью Рассела ) и особенно впечатляющий подход к использованию расширений браузера (таких как Google Gears или Microsoft Silverlight), если пользователь установил их, при этом изящно отступая (например, к серверному хранилищу с интерфейсом Ajax), если нет подходящих расширений браузера (или достаточно продвинутых браузеров, с Поддержка HTML5).

Dojo - , в настоящее время он немного менее популярен, чем jquery (например, [jquery ajax] имеет 8,4 миллиона просмотров в Поиске Google, против 4,3 миллиона для [dojo ajax]), но это все еще достаточно популярно, чтобы обеспечить это не пройдет в ближайшее время; -).

2 голосов
/ 08 июня 2009

GWT сделала значительные скачки за последние 7 месяцев. Многочисленным библиотекам GWT-виджетов было уделено много внимания, и работа Google над библиотекой была впечатляющей. Переход на GWT ограничивает вас:

  1. Использование виджетов GWT
  2. Возможно, станет разработчиком виджетов GWT

Преимущества включают в себя:

  1. Кодирование на Java
  2. Отладка в Java
  3. Пропуск частей JavaScript, которые заставляют вас выдернуть волосы

GWT - это шаг за AJAX. Он скрывает HTML / JavaScript, так что вам не нужно иметь с ним дело, но также предоставляет доступ на тот случай, если вы захотите с ним справиться.

В целом, вы будете тратить меньше времени на то, чтобы заставить работать мелкие вещи, и больше времени, добавляя потрясающее в свое приложение.

2 голосов
/ 05 июня 2009

Обратите внимание, что WPF не имеет ничего общего с ajax.

AJAX = Асинхронный JavaScript и XML

WPF = технология отображения только для окон. Единственный вариант для использования в браузере - это создание Xbap. Более подходящим аналогом для Интернета является Silverlight (скажем, как Flash, но от Microsoft), так что, возможно, вам следует рассмотреть и это ... это похоже на использование флэш, но с известными технологиями MS.


По поводу вашего вопроса о том, какой фреймворк использовать в случае ajax: я предпочитаю jQuery. Его короткий синтаксис и цепочка позволяют вам быстро достичь своих целей интуитивно понятным способом.

Кроме того, насколько мне известно, GWT - это Java-фреймворк, который также отображает данные на клиенте. Таким образом, у вас будет ограничение Java как внутреннего языка ...

1 голос
/ 14 июля 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...