jquery vs mootools vs prototype – porównanie – cz 2
- Mateusz Żeromski | 2009-07-08 | javascript jquery
Rok temu (6 lipca 2008) podjąłem się zadania porównania frameworków javascript: jquery, mootools, prototype. W ciągu takiego okresu czasu bardzo dużo mogło się zmienić więc piszę aktualizację wpisu :) Wtedy jednoznacznie stwierdziłem wyższość js nad innymi bibliotekami, biorąc pod uwagę kilka mierzalnych czynników. Dziś wykonam te same operację, porównując rok 2008 do 2009. No to jedziemy :)
Poprzedni artykuł
http://blog.zeromski.com.pl/2008/07/jquery-vs-mootools-vs-prototype-porownanie/
Test szybkości :)
Ponownie użyłem testu http://mootools.net/slickspeed/. Wyniki mówią za siebie, pierwszy segment tworzą biblioteki MooTools, Jquery, Dojo – z przybliżonym wynikiem 300, następnie jest YUI ~800, oraz Prototype ~1300. Wykonałem kilka testów, wyniki były podobne. Wniosek jest jeden – YUI i Prototype odpadają – tak jak przed rokiem. Teraz rozpatrujemy wyższość mootools, juery, dojo. W tamtym roku na tym etapie pominąłem Dojo, tym razem tak nie zrobię, zapoznałem się trochę z tą biblioteką i uważam, że jest ciekawa, również ze względu na to iż w ciągu ostatnich 12 miesięcy otrzymało wsparcie od zenda – w postaci zintegrowania z ZendFramework oraz narzędzia ZendStudio.
Możliwości, pluginy
Chyba nikt nie będzie kwestionował, że liderem jest jQuery, idziemy dalej :)
Objętość kodu
Pomijam ten wskaźnik jako, ponieważ teraz uważam, że nie ma znaczenia 5 kb transferu.
Dokumentacja i społeczność :)
Test opiera się na wpisaniu w googla frazy “NAZWA javascript”. Wpisując samą nazwę możemy otrzymać niepewne wyniki z powodu wieloznaczności słowa prototype. W tabelce są liczby znalezionych stron.
| 2008 | 2009 | |
| “jquery javascript” | 204 | 904 |
| “prototype javascript” | 214 | 849 |
| “mootools javascript” | 40,6 | 65 |
| “dojo javascript” | - | 64 |
Jak widać jquery wyprzedziło prototype, a dojo jest mniej więcej tak samo popularny jak mootools
Google trends

Niestety nie mogłem porównać z prototype ponieważ osiąga on dziwny skok, można zobaczyć klikając tu.
Powyższy wykres: kliknij tu.
Jak widać – wygrywa jQuery :) Bardzo ciekawą wartością jest “News reference volumne”, gdzie widać iż o dojo pisano zanim powstało – oznacza to iż pojęcie dojo w tym rankingu nie oznacza tylko frameworka js.
Podsumowanie
Tak samo jak przed rokiem i teraz wygrywa jQuery :).
Tagi: framework, javascript, jquery, mootools, prototype
1 Marcin 2009-07-08 12:38:57
Cześć,
No to super porównanie zrobiłeś.
“Możliwości, pluginy
Chyba nikt nie będzie kwestionował, że liderem jest jQuery, idziemy dalej :)”
Metodologia jest super.
Szkoda że nie zostały poruszone inne kwestie. Np estetyka kodu, w jquery do spraw “ajaxowych” jest $.ajax() a w mootools new Request().
2 Mateusz Żeromski 2009-07-08 13:18:31
@Marcin – dzięki :)
Estetyka kodu – wcześniej o tym nie myślałem, ale muszę powiedzieć że strach poruszać ten temat – to tak jak rozprawka o najlepszym edytorze – wszystko zależy od przyzwyczajeń.
Czy mógłbyś podać jeszcze inne kwestie, które można by porównać?
3 Marcin 2009-07-08 14:04:56
Poruszyć a ocenić to zupełnie co innego, ja napisałem o poruszeniu tematu. Warto było przedstawić jak się robi kilka podstawowych rzeczy w przedstawionych wyżej frameworkach.
Skoro mowa o pluginach, to warto też powiedzieć o tzw. noConflict mode. Ocenianie dokumentacji na podstawie wyszukiwarki jest co najmniej dziwne. Takie FreeBSD ma o wiele lepszą dokumentacje niż ubuntu. Biorąc pod uwagę Twój test, ubuntu wypada znacznie lepiej.
Nie wspomniałeś o innych rzeczach. Taki mootools posiada coś takiego jak builider, który pozwala wyselekcjonować tylko potrzebne rzeczy. Spytasz po co to ? A no niektórzy nie lubią sobie zaśmiecać przestrzeni nazw.
Pamiętaj o takim czymś, gdy będziesz pisał cz 3.
4 Jacek Karczmarczyk 2009-07-08 15:06:54
W jQuery tez nie ma zasmiecania nazw, bodajze John Resig dawal kiedys przyklad ile zmiennych wprowadzaja rozne frameworki, niestety nie moge tego znalezc
5 Mateusz Żeromski 2009-07-08 15:39:05
@Marcin – gdyby chcieć tak testować czysto akademicko to pewnie najlepiej by wypadło Dojo, ja podchodzę do tego praktycznie i dlatego dla mnie ważniejsze od dokumentacji są dobre materiały w internecie. Jeżeli z powodu dobrej dokumentacji miałbym używać freebsd a nie ubuntu – to by mnie cholera wzięła. Co prawda od jakiegoś czasu już nie muszę korzystać z poradników jQuery ale z doświadczenia wiem, że to ma znaczenie.
Także również akademicko – freebsd jest lepsze, ale użytkowo – ubuntu. Mam nadzieję, że rozumiesz o co mi chodzi. I Ty masz rację i ja – tylko na innych płaszczyznach :) Tak wiem, dobra dokumentacja potrafi zastąpić wiele for tematycznych itp itd. Tak jak jest to w przypadku np DjangoBook.
Jeżeli zaś chodzi o przestrzeń nazw: czy dla Ciebie jest to istotny czynnik w wyborze narzędzia? czy mógłbyś podać praktyczny przykład znaczenia zarezerwowania jakiejś nazwy?
Postaram się wymyślić jakąś operację javascript, do której wygodniej jest użyć bibliotek js, i wykonam to w jquery,mootools, prototype, dojo, yui. Będzie to pewnie ładowanie ajaxem jakiejś listy i operowanie na każdym elemencie po załadowaniu. Zobaczymy jaki będzie efekt, tzn jaka będzie objętość kodu, czas wykonywania, itp. Ostatnio zacząłem więcej pisać na blogu więc zrobię to w weekend i w poniedziałek opublikuję.
6 eRIZ 2009-07-10 00:41:11
W jQuery też się da; może automatu do tego nie zrobili, ale po przejrzeniu niezminimalizowanych źródeł dojdziesz, co do czego. [;
7 Anonim 2009-07-15 15:29:14
Pisanie w temacie “porównanie” a potem stwierdzenie że “jquery jest najlepsze, bo tak!” to chyba jakaś pomyłka – to nie jest porównanie, tylko “prywatna niczym konkretnym nie poparta opinia”
Pozdrawiam!
8 Marcin 2009-07-23 08:30:34
“W jQuery też się da; może automatu do tego nie zrobili, ale po przejrzeniu niezminimalizowanych źródeł dojdziesz, co do czego. [;"
Czyli nie da się ;]
9 deno 2009-07-27 15:48:03
Woah, zostań przy komentarzach na Youtube, daruj sobie bloga. Przepraszam jeśli brzmi to bardzo personalnie, ale ten artykuł wręcz zdaje się krzyczeć “Czytelnicy, nie szanuję ich!”.
Oto moje podsumowanie owych frameworków w duchu “i bo tak” powyższego, uhm…, artykułu:
Mootools pozwala na przyjemne pisanie OO kodu w JS. Koniec tematu.
10 Mateusz Żeromski 2009-07-27 17:04:33
@deno – no cóż, i Ty masz prawo do swojego zdania :)
11 slovic 2010-07-19 22:25:10
niestety muszę przyznać, iż deno ma racje. Artykuł nie pokazuje nic konstruktywnego. Temat potraktowany dość nierzetelnie. Pozdrawiam i życzę aby kolejne wpisy były jednak lepsze.