LINUX.ORG.RU

Web 2.0. Prototype + script.aculo.us vs MooTools vs JQuery?


0

0

Какой JS фреймворк выбрать для работы с Web 2.0 (Ajax + визуальные эффекты + расширенные объекты)?

Начал изучать prototype, однако не нравится что он весит много и документации почти нет. Думаю единственное её преимущество - интеграция с RoR?

Другие библиотеки смотрятся неплохо, имеют хорошую документацию и весят меньше.

Что же выбрать?

anonymous

чем легче... dojo не бери, его ие5.5 не переваривает полностью

Pi ★★★★★
()

прототайп+скриптакулос

документация по прототайпу есть. например вот http://www.sergiopereira.com/articles/prototype.js.html

преимущество прототайпа в том, что очень много расширений сделано на его основе, соответсвенно интеграция в существующее приложение происходит легко и непринужденно.

Кстати, емнип недавно где-то пролетали тесты сравнения производительности прототайпа и jQuery, jQuery слил.

Насчет dojo предыдущий оратор таки прав.

PartyZan ★★★
()

мне прототайп нравиться. Только у меня почему то скрипт отказался через день в опере работать(я ничего не менял). Ну да ладно, это проблема оперы, поскольку в ТЗ её нет. Будет время-разберусь. А насчет размера-он один раз грузиться, не критично+удобный доступ к элементам

Motiv_studenta ★★
()
Ответ на: комментарий от Motiv_studenta

прототайп коварен тем, что он слишком "объектен": везде, где он вложен, резко обламывается конструкция типа for (i in someKindOfArray){bah}... он начинает итерировать не по элементам массива, а по полям объекта массива... Может эт тока я с такой фигнёй столкнулся, но оно мне не понравилось

Pi ★★★★★
()
Ответ на: комментарий от Pi

>прототайп коварен тем, что он слишком "объектен": везде, где он вложен, резко обламывается конструкция типа for (i in someKindOfArray){bah}... он начинает итерировать не по элементам массива, а по полям объекта массива... Может эт тока я с такой фигнёй столкнулся, но оно мне не понравилось

Для массивов там есть $A(someKindOfArray).each(function(i){ bah })

Никогда не рисковал по массивам проходить используя for .. in. Всегда использовал только для получения всех полей объекта...

Хотя насчет того что он засоряет стандартные объекты - это действительно не очень приятно, когда в DOM Inspector видно кучу методов у полей форм, которые, видимо, им prototype пишет

anonymous
()
Ответ на: комментарий от Pi

Хех, дык for( var i in object) это стандартная фича JS - прототайп тут не причем, если нужны елементы массива, то используй for(var i=0; i<...)

PartyZan ★★★
()
Ответ на: комментарий от PartyZan

var foo = [];
foo['bar1'] = 'Гы, ';
foo['bar2'] = 'сына, ';
foo['bar3'] = 'ЛОЛ!';

var str = '';
for (i in foo){
  str += foo[i] ;
}

alert (str);

Чего поалертится? А после подключения прототайпа получишь...

Pi ★★★★★
()
Ответ на: комментарий от PartyZan

>массива, то используй for(var i=0; i<...)

я к тому, что массивы не всегда бывают индексированы целочисленно ;)

Pi ★★★★★
()
Ответ на: комментарий от Pi

получишь собсно значения хэша + некоторое количество прототайповских расширений :)

Но собственно тупое суммирование элементов хэша да еще и при использовании прототайпа - моветон ;)

PartyZan ★★★
()

доджа тормозная аж страшно. пользуй прототипу - она всех рвет.

barbuza
()
Ответ на: комментарий от Pi

>я к тому, что массивы не всегда бывают индексированы целочисленно ;)

А что мешает пользоваться методом each для массивов?

Разве что привычка от других языков. А я, как рубист, привык пользоваться .each

Вообще prototype делает js очень похожим на ruby - за это я его люблю, а еще полюбил js )

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.