Посоветуйте Ajax движок

Wicked

Новичок
Посоветуйте Ajax движок

Хотелось бы найти такой Ajax движок, который бы имел следующие характеристики (или бы как можно ближе к ним):
1) чтобы он умел использовать как можно больше всяких XMLHttpRequest, ActiveXObject("Microsoft.XMLHTTP"), ActiveXObject("Msxml2.XMLHTTP"), или <script> / <iframe>, если предыдущие недоступны. И выбирал бы оптимальный вариант автоматом.
2) изначально поддерживал бы протокол HTTP, но мог бы быть расширяем:
- например, отправлять запросы через любые сокеты (если JS умеет)
- или просто посылать запрос какому-то JS wrapper'у, который бы этот запрос дальше никуда и не посылал
(например, в сторону работы чисто через сокеты, если бы js позволял, или мог бы подключаться к локальному js-wrapper'у) - могло бы быть полезно для отладки.
3) мог использовать json, xml, ... в качестве формата передачи данных. Вроде посылать Json через XMLHttprequest еще никто не запрещал :)
4) поддержка synchronous (когда js молча ждет ответа) и asynchronous (когда js выполняется дальше, но реагирует на евент, когда ответ получен) запросов. Ествественно

Естественно, к этому делу неплохо бы иметь PHP backend, чтобы распознавать разные виды запросов (парсить тот же JSON, тем более, если он обернут в XML, как в случае отправки через xmlhttprequest).

В основном такое хочется, чтобы не сильно задумываться о способах реализации AJAX-приложений и концентрироваться на более важных сторонах. Взял данные на стороне JS, отправил, получил на стороне пхп в том же виде. Составил ответ в пхп, отдал как респонз, получил на стороне JS в том же виде, и доволен.

Пробовал Jsolait xmlrpc + IXR_Library. Нравится. Но xmlrpc жрет многовато трафика :(

ЗЫ: я допускаю, что я могу требовать невозможного и ненужного :)
 

Линка

Новичок
Wicked
Так в чем проблема? Сесть и написать самому, потому что идеала не найдешь(разве что переделать более менее нармальный движ по себя)
 

vittorio

Новичок
Есть возможность использовать ajax вообще без XMLHttpRequest и, соответст. без гемора с кроссбраузерностью.
читать тут - http://phpinside.ru/?q=node/355

-~{}~ 06.04.06 18:20:

А вот и библиотека - http://dklab.ru/lib/Subsys_JsHttpRequest/
 

Wicked

Новичок
Линка
Идеала не найду, но надеюсь найти наилучший вариант. Который, если и придется дорабатывать, то не сильно. А может мне просто хватит того функционала, который он предоставляет, и попросту откажусь от некоторых требований.

А с нуля изобретать велосипед мне не хочется.

-~{}~ 06.04.06 20:18:

vittorio
1) http://phpinside.ru/?q=node/355 зявленно работает только на ИЕ, ФФ и Опере 8.5. А как быть с остальными браузерами, которые перечислены, например, тут: http://en.wikipedia.org/wiki/Ajax_(programming)

2) как быть с memory leak, которая возможно имеет место?

3) как быть с тем, что длина урла ограничена?
 

vittorio

Новичок
По поводу первого - заявлено, что ТЕСТИРОВАЛОСЬ с этими браузерами.
По поводу прочего - неясно. Какое значение имеет длина урла?
Почему ты думаешь, что появится утечка? Почему ты думаешь, что она не появится при использовании активикс и пр.?

-~{}~ 06.04.06 20:33:

Но если найдешь библиотеку, действительно отвечающую твоим требованиям - расскажи.
 

Wicked

Новичок
Какое значение имеет длина урла?

она ограничена более жестко, чем пост.

Почему ты думаешь, что появится утечка?

неограниченное создание элементов script в dom именно к этому и ведет.
 

Wicked

Новичок
ZiBoX, xajax - это имхо зло в целом. И не удовлетворяет моим запросам в частности.

1) это требование я уже пересмотрел. Но тем не менее, если уж они делали его как php class, то уж могли бы внедрить и iframe, и flash socket provider, ... а не ограничиваться только xmlhttprequestоподобными объектами. А если уж они ограничились, то вдвойне непонятно, зачем php-сторона для всего этого дела. Оценка 3.

2) оценка 4, благодаря дебагу

3) 4-

4) synchronous запросы вроде как не предусмотрены - 3

Кроме того, я не согласен с xajax по многим другим вопросам. Так что в целом оценка ему 3+. Оставляю его другим гуру аякса.
 

Wicked

Новичок
vittorio
это уже гораздо лучше :)

1) использует только xmlhttprequestоподобные объекты, поэтому реализует работу с ajax на наиболее нижнем уровне. Соответственно, врапперы на стороне сервера ему уже не нужны. Он потенциально может работать с SOAP/XML-RPC. Но он уступает в этом смысле тому же Jsolait, например, отсутствием flash socket provider'а. 4.

2) есть дебаг. 4.

3) например, не умеет посылать json-serialized request'ы... но это нужно только реализовывать... 5-

4) 5

Кроме того, prototype хороша именно как библиотека, что и доказывает своим присутствием в Scriptaculous'е, в поставке Ruby и много еще где. Моя оценка 5-.
 

Invizz

Новичок
Автор оригинала: Wicked
vittorio
это уже гораздо лучше :)

1) использует только xmlhttprequestоподобные объекты, поэтому реализует работу с ajax на наиболее нижнем уровне. Соответственно, врапперы на стороне сервера ему уже не нужны. Он потенциально может работать с SOAP/XML-RPC. Но он уступает в этом смысле тому же Jsolait, например, отсутствием flash socket provider'а. 4.

2) есть дебаг. 4.

3) например, не умеет посылать json-serialized request'ы... но это нужно только реализовывать... 5-

4) 5

Кроме того, prototype хороша именно как библиотека, что и доказывает своим присутствием в Scriptaculous'е, в поставке Ruby и много еще где. Моя оценка 5-.
http://www.mad4milk.net/entry/moo.ajax - суперлайтверсия основанная на prototype.light.js

так же http://twilightuniverse.com/projects/sack/tw-sack.js
 

Wicked

Новичок
Invizz
moo.ajax: примерно то, же что и ajax в prototype.

Sack еще не смотрел.
 

PHP C/\OH

Новичок
Главное 2 две веши
1 - решена с отпровкой руской кодировки
2 - чтобы работал если даже у пользователя нет поддержки

к примеру всем извесный прототим неработает Ajax в Opara 8
а у других нужно решать проблему с кодировкой, ну ладно вы отключите escep(), но ajax на разных браузарах отпровляет в различнй кодировки ваши русские символи в осносном это UTF-8

-~{}~ 26.04.06 01:31:

так что лудши посмотрити пару простых.... примеров и напиши пару функций для ваших щелей.
 

Wicked

Новичок
PHP C/OH
"Иногда лучше жевать, чем говорить" (с) реклама.
Не пиши, пожалуйста, в эту ветку.
 

Invizz

Новичок
Wicked
ну да, тот же прототип тока сбоку, но довольно удобный и легкий.
 

Wicked

Новичок
Invizz
ну в moo удобность предоставляют другие части библиотеки, к аяксу не относящиеся.
 

skynet80

rundesigner.com
Автор оригинала: Wicked
ZiBoX, xajax - это имхо зло в целом. И не удовлетворяет моим запросам в частности.

1) это требование я уже пересмотрел. Но тем не менее, если уж они делали его как php class, то уж могли бы внедрить и iframe, и flash socket provider, ... а не ограничиваться только xmlhttprequestоподобными объектами. А если уж они ограничились, то вдвойне непонятно, зачем php-сторона для всего этого дела. Оценка 3.

2) оценка 4, благодаря дебагу

3) 4-

4) synchronous запросы вроде как не предусмотрены - 3

Кроме того, я не согласен с xajax по многим другим вопросам. Так что в целом оценка ему 3+. Оставляю его другим гуру аякса.
Может быть имхо, но хаякс очень удобная библиотека легко расширяемая и людей знакомых с пхп легко научить ей пользоваться.
Большой плюс что можно задавать префиксы у функций.
Кстати в проектах у ребят в этот класс засунуть все из прототайпа.
Не знаю чем тебе не понравилось.

Так для рассмотрения хочу добавить AJAXTOOLS. сайт не понмю но в гугле быстром ожно найти эту бибилиотеку.

Еще один интересный ресурс хочу добавить.
http://alexle.net/downloads/edit-in-place/
 

oleg_ole

Новичок
Автор оригинала: ZiBoX
Я пользуюсь xajax.
xajaxproject.org
Скачал xajax библиотеку, вроде разобрался как работате. Только никак не пойму, как при помощи xajax обновлять поле только при обновлении данных?
Каа сделать, чтобы поле обновлялось только когда какой-нибудь пользователь добавил запись (или изменил старую)?
Я сделал пока следующим образом

function update_torg(){
xajax_update_torg(xajax.getFormValues("torg_inf"),pr_stop);

setTimeout("update_torg()",5000);
}

Правильный ли такой подход при использовании AJAX? И как сделать так, чтобы при обновлении курсор не принимал вид думующего?))
 
Сверху