Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Dojo vs. jQuery


Автор: ShurikA 4.2.2009, 02:37
Много копался, читал, думал но так и не решил что же из этих двух лучше.
Ваше мнение?

P.S. Мне нужно много пользоваться Ajax...

Автор: ShurikA 4.2.2009, 05:17
Буду очень благодарен аргументам...

Автор: Gold Dragon 4.2.2009, 09:50
не голосую т.к. нет опыта.. но могу сказать одно по Dojo очень мало примеров и литературы на русском smile

Автор: SamDark 4.2.2009, 14:20
ShurikA, 
Много Ajax — это что именно? Они немного разных весовых категорий.

Автор: ShurikA 4.2.2009, 21:26
Цитата(SamDark @  4.2.2009,  13:20 Найти цитируемый пост)
Много Ajax — это что именно?

Я имею в виду что в моём UI требуется Ajax, и не мало. По этому пользование им должно быть удобное и быстрое.

Автор: krundetz 4.2.2009, 23:10
ShurikA, давно и прочно сижу на jQuery все довольно удобно. до этого пробовал prototype но столкнулся, с глюками как раз в работе ajxa в частности не выполнялся повторный запрос, в jQuery подобных проблем не наблюдал. Dojo пробовал но из за отсутствия тогда нормальной документации(как сейчас с документацией не в курсе) и примеров, прошел мимо.

Автор: SamDark 5.2.2009, 01:17
ShurikA, 
Много AJAX (асинхронных запросов) или много анимации, интерактивности и т.д.?
Если нужны только запросы — можно обойтись и без библиотеки.

Автор: imm 5.2.2009, 06:15
Непонятно, почему ты хочешь обойтись без библиотек.


С библиотекой
+
1. Тестируемый всем миром код
2. Удобная работа с DOM
3. Удобная работа с Ajax
4. Легкая расширяемость и масшабируемость
6. Кроссбраузерность

-
1. Лишние 50-80kb
2. Увиличение нагрузки на клиентскую сторону (в очень навороченных анимацией проектах это заметно)
3. Глюки от разработчиков (куда ж без них, но в самих фреймфорках их мало и они быстро правятся, что конечно не скажешь о плагинах)
4. Время на обучение


*Главный плюс - это селекция DOM через ccs инструкции и удобный интерфейс для работы с ним же (DOM`ом)
*И самый главный плюс, что все это кроссбаузерное, потому что вешать на виртуальную машину кучу операционок и версий браузеров, для тестирования своего же фреймворка, не самый приятный выход. (хотя это и приходится делать, если пишешь что-то серьезное, но не в таком масштабе)


p.s. Обойтись то без библиотек можно, как и можно писать под win32 на асме, а под nix (web) на чистом C.  Во всем есть свои плюсы, вопрос во времени.

Автор: IDVsbruck 5.2.2009, 06:26
Цитата(imm @  5.2.2009,  06:15 Найти цитируемый пост)
1. Лишние 50-80kb

Откуда? - Базовая пак-версия JQuery менее 20Кбайт. Плагины не считаем, так как к любой либе их можно на мегабайты наложить.

Также использую jQuery относительно недавно и кусаю себя за локти, почему не пользовался ранее - сколько же я мог времени сэкономить ... недели!!!
В опросе не учавствовал, так как использование только одного фреймворка без пробы другого не дает право судить. Слышал много достойного о dojo, но в отзывах перевес явно на жКвери. Возможно, сказывается большое количество информации и документации.

Автор: imm 5.2.2009, 06:43
Цитата(IDVsbruck @  5.2.2009,  06:26 Найти цитируемый пост)
Откуда? - Базовая пак-версия JQuery менее 20Кбайт


Я не беру в расчет paсk, потому что не считаю что стоит ради экономии десятка килобайт нагружать и без того несчастный клиентский браузер, особенно если твой заказчик сидит на дешевом ноуте 2000 года выпуска. А под min, базовая jQuery весит 54kb. А базовая Dojo опять же под min весит 77kb.

Автор: SamDark 5.2.2009, 13:11
imm, 
Я не говорю, что библиотеки — зло. Просто ради исключительно AJAX (асинхронных запросов, а не всяких там плюшек, которые за него часто принимают) можно и не пользоваться ничем.

Автор: ksnk 5.2.2009, 13:29
imm, min обычно берут для отдачи ее через gzip/deflate. Gzip быстр smile



Автор: imm 5.2.2009, 16:32
Простейший ajax запрос, по нажатию на ссылку "Проверить" возвращает ответ от скрипта index.php?action=test в div#todo
Код


<a href="javascript: $('#todo').load('index.php?action=test')">Проверить</a>
<div id="todo"></div>



Или например отправляем форму (без всяких доп плагинов)

Код


<div id="ajaxFormStatus"></div>

<form id="ajaxForm" method="POST" action="index.php">
<input type="hidden" name="action" value="insert" />
<input type="text" name="name" value="TestName" />
<textarea name="info">About me...</textarea> 
<input type="submit" name="tooda" value="Send" />
</form>

<div id="answer"></div>

<script type="text/javascript">

$(function() {
    $("#ajaxForm").bind('submit', function() {
        var f = $(this);

        //Собираем данные из формы
        var o = {};
        $("input, textarea", f).each(function() {
            var t = $(this);
            o[t.attr("name")] = t.val();
        });

        $.ajax({
            url: f.attr("action"),
            type: f.attr("method"),
            data: o,
            success: function(r) {
                $("#ajaxFormStatus").text("success");
                $("#ajaxFormAnswer").html(r);
            },
            error: function() {
                $("#ajaxFormStatus").text("error");
            }
        });

        return false;
    });
});

</script>




И все какой-то парой десятков строк мы сделали сериализацию формы и её отправку и это будет работать под все браузеры. К тому же можно похвастаться стилем "ненавязчивого программирования" (если у пользователя не работает javascript, то форма отправлена будет )))

Приятно хотябы то, что не видишь этих страшных функций интерфейса DOM  smile 
Да и к тому же селекция css инструкциями значительно упрощает жизнь.



Цитата

imm, min обычно берут для отдачи ее через gzip/deflate. Gzip быстр smile

То да  smile 

Автор: monax 6.2.2009, 09:40
Использую jQuery. Уже довольно давно. В последнем проекте при помощи этой библиотеки сделал кучу функционала, который никто не представлял себе без флеша/флекса, а оказалось, что просто нужно знать язык и этот фрейворк. Кстати, знания у меня и по первому и по второму довольно скромные. Сроки тоже были выдержаны очень короткие. Начинающим могу советовать эту библиотеку для начала работы.

Могу сравнивать с prototype и mootols. Prototype был отвергнут (несмотря на то, что на нём был сделан проект) по причине сложности и неудобства. Mootools тоже не прижился - возможностей не хватило (а может знаний). На jQuery делал проекты и доделываю сейчас проект, в котором jQuery используется очень активно, включая плагины.

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

Могу посоветовать начать с jQuery, потому что удобно и просто, а потом, если будет желание, попробовать другие.

Автор: Любитель 10.2.2009, 19:41
Цитата(SamDark @  5.2.2009,  13:11 Найти цитируемый пост)
Просто ради исключительно AJAX (асинхронных запросов, а не всяких там плюшек, которые за него часто принимают)

Ну.. тебе же надо обрабатывать результат запроса - значит 99% придётся работать с DOM, CSS и пр. Фреймфорки в этом очень помогают.

Автор: Nicklasos 6.3.2010, 13:26
Можно за денек другой написать свой небольшой фреймворк.
Например, который будет работать с ajax и dom, ничего сложного нет.

Код

my.ajax({
   'test':'test'
});


my.getElem('#test').test();


Автор: mxt 7.3.2010, 21:53
у каждой библиотеки свои применения,  dojo хорошо подходит для нагруженных приложений, ибо большинство его "добавок" хорошо заточены.


Цитата(ShurikA @  4.2.2009,  02:37 Найти цитируемый пост)
P.S. Мне нужно много пользоваться Ajax...

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

Добавлено через 54 секунды
Цитата(Nicklasos @  6.3.2010,  13:26 Найти цитируемый пост)
Можно за денек другой написать свой небольшой фреймворк.
Например, который будет работать с ajax и dom, ничего сложного нет.

только зачем тратить время на то, что уже написано и "вылизанно" другими?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)