Для нашего следующего проекта я хотел бы получить немного AJAX для улучшения пользовательского интерфейса. Руководство и совет? - PullRequest
2 голосов
/ 13 ноября 2008

Наша команда имеет опыт в веб-разработке (tomcat / Oracle), но не с AJAX в наших существующих проектах. Для нас это новая технология, поэтому я хочу представить ее аккуратно и правильно.

На что мне следует обращать внимание с точки зрения основ, наилучшей практики или распространенных ошибок?

Ответы [ 6 ]

4 голосов
/ 13 ноября 2008

читать это:

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

3 голосов
/ 13 ноября 2008

Моя первая рекомендация - изучить различные доступные фреймворки и посмотреть, что ваша команда предпочитает с точки зрения стиля кодирования. Большинство фреймворков имеют одинаковые базовые функции, поэтому многие из них сводятся к предпочтениям. Я предпочитаю jQuery , так что это моя первая рекомендация, но я работал с YUI , MooTools , Prototype и EXT JS , прежде чем принять мое решение.

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

Head First Ajax - хорошая книга IMO для начала работы с основными понятиями работы с Ajax. Вероятно, для вашей команды было бы неплохо начать знакомство с тем, что происходит за кулисами, в какой бы среде вы ни выбрали.

1 голос
/ 13 ноября 2008

Не используйте его там, где он вам не нужен.

Длительные операции, которые должны отправить клиенту некоторые обновления статуса? Используйте AJAX.

Разметка для основных элементов пользовательского интерфейса (меню, т. Д.)? Используйте старый добрый HTML.

В основном используйте AJAX только для передачи данных. Если вы попытаетесь сделать причудливые вещи, такие как динамическое добавление элементов пользовательского интерфейса на стороне клиента с помощью AJAX, вас ждет мир, когда вы получаете клиента, который хочет использовать ie5 (они существуют), или браузер не на ПК.

1 голос
/ 13 ноября 2008

Когда мы начали использовать ajax, мы столкнулись с одной проблемой: как часто его использовать .

У нас не было точного требования относительно того, где мы должны использовать ajax, а нет, и изначально мы ошиблись в сторону его слишком частого использования. Это сильно повлияло на сложность приложения.

Если вы рассматриваете свою межстраничную структуру как конечный автомат, ajax вводит вложенные конечные автоматы в каждое состояние страницы. В тот момент, когда ваша машина подсостояний оканчивается множеством различных состояний (я бы сказал, что-то более 2), вам следует серьезно задуматься об использовании традиционного подхода.

Лучшая отправная точка состоит в том, чтобы попытаться смешать полную загрузку страниц и ajax, и быть консервативным, пока вы не будете уверены, что вы действительно в этом преуспели.

0 голосов
/ 20 ноября 2008

Если вы работаете в .Net или Mono, я бы рекомендовал вам использовать Ra-Ajax , который полностью абстрагирует JavaScript. Хотя я работаю на Ра-Аякса (изобретателя), поэтому я предвзятый ...

0 голосов
/ 13 ноября 2008

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

во-вторых, посмотрите на библиотеки, как отмечено в других ответах (мне нравится AJAXPRO за его простоту, но он был прекращен)

если вы обнаружите, что все элементы вашей страницы связаны друг с другом и не могут изменяться независимо, тогда действительно нет необходимости в ajax

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

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