Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem
WebHelp.pl Warsztat Artykuły Wstęp do jQuery

Warsztat / Artykuły i tutoriale

Wstęp do jQuery

Rafał Kukawski 28 listopada 2010 komentarze ()

jQuery jest jedną z kilku bibliotek JavaScriptowych, których rozwój cały świat obserwuje z dużym zainteresowaniem. A jest co obserwować, ponieważ biblioteka ta ma przed sobą jasno postawiony cel: udostępnić intuicyjne API, które ma ułatwić pracę z DOM – najgorszym, według Douglasa Crockforda, zaprojektowanym API do operacji na dokumentach.

Co jest takiego szczególnego w jQuery?

Jak każdy produkt, jQuery ma swoje zalety i wady. W przypadku jQuery znacząco przeważają zalety, zaś wytykane wady z czasem stają się nieaktualne. Poniżej przedstawiam najważniejsze zalety biblioteki.

jQuery

Kompatybilność z przeglądarkami

Główną zaletą biblioteki jest jej przeznaczenie. Dzięki jQuery zarówno wyszukiwanie elementów, ich tworzenie jak i modyfikacja stają się banalnie proste. Przede wszystkim dlatego, że programista korzystający z jQuery jest postawiony przed API, które izoluje go od różnic i błędów w obsłudze DOM w poszczególnych przeglądarkach. Programista może się skupić na celu a nie na problemach, które występują gdy korzysta się z DOM bezpośrednio. Komu przyszło pisać rozbudowaną aplikację sieciową z użyciem JavaScriptu i DOM, wie jak wygląda praca kaprysami przeglądarek.

Projekt jQuery jest jednym z nielicznych projektów, w którym programiści wykonali sporo badań nad problemami w przeglądarkach. O dobrze wykonanej pracy może świadczyć obiekt jQuery.support, który przechowuje kilka ważnych informacji na temat przeglądarki, tego co obsługuje i z czym ma problem. Co więcej, wewnętrznie jQuery korzysta właśnie z tych właściwości zamiast pracować na podstawie wykrytej nazwy przeglądarki, choć i dla osób, które są w jakiś sposób zmuszone do identyfikacji przeglądarki, mają do dyspozycji obiekt jQuery.browser, oznaczony notką, żeby unikać korzystania z niego.

Strona domowa projektu informuje o kompatybilności z następującymi przeglądarkami: IE 6.0+, FF 2+, Safari 3.0+, Opera 9.0+, Chrome.

Przeglądarki

Otwartość

jQuery jest projektem o otwartym źródle. Każdy może obserwować rozwój biblioteki oraz brać w nim aktywny udział. Można stworzyć też klona projektu i rozwijać własną gałąź, która będzie odpowiadała prywatnym wymaganiom. Kod źródłowy jQuery znajdziemy na GitHubie, zaś narzędzie do zgłaszania błędów na stronie bugs.jquery.com.

Licencja

jQuery jest rozprowadzany na dwóch licencjach - MIT i GNU General Public License v2. Można dobrać sobie licencję najbardziej pasującą do własnego projektu.

Najczęściej stosowną będzie jednak MIT, która narzuca na produkt najmniej ograniczeń. Licencja GNU wymaga bowiem, by projekty polegające na innym projekcie licencjonowanym GPLem, także były rozprowadzane na tej samej licencji.

Dobra dokumentacja

Programiści skupieni wokół projektu postawili też na solidną dokumentację swojej biblioteki. Na docs.jquery.com znajdziemy materiały, które pomogą nam wystartować z jQuery, zaś całą dokumentację API znajdziemy pod adresem api.jquery.com, gdzie każda funkcja jest porządnie opisana i oznaczona wersją jQuery, do której została dołączona. Oprócz suchej dokumentacji znajdziemy przykładowe kody wraz podglądem na ich działanie. Nie zabrakło też komentarzy innych programistów, którzy przekazują często przydatne wskazówki.

Jeśli dokumentacja okaże się z jakiś powodów niewystarczająca, pomoc zapewni aktywna społeczność skupiona na oficjalnym forum i kanale IRC.

Testy

Drugim aspektem, obok dokumentacji, który zostaje często zaniedbany w wielu projektach, jest testowanie kodu. Tutaj jQuery rówież się wyróżnia, ponieważ większość modułów posiada testy jednostkowe sprawdzające poprawność ich działania. Głównym narzędziem do testowania jQuery jest specjalnie przygotowany do tego framework o nazwie Qunit, z którego każdy może korzystać w prywatnych projektach.

Rozszerzalność

W jQuery przewidziano możliwość rozszerzania funkcji biblioteki. Każdy programista może dopisać własne funkcje do API. Wiele stron oferuje do pobrania pluginy napisane przez społeczność. Sporą ilość można znaleźć w oficjalnym repozytorium. Jeśli komuś zabraknie jakiejś możliwości w jQuery, zanim zabierze się za implementację, powinien zajrzeć do zbioru pluginów. Jest duże prawdopodobieństwo, że ktoś już dane funkcje zaprogramował.

Najbardziej znanym zbiorem wtyczek jest na pewno jQuery UI, za pomocą którego stworzymy elementy interfejsu użytkownika dla własnych aplikacji. W zbiorze jQuery UI znajdziemy widżety akordeona, różnego typu przycisków, kalendarza, okien dialogowych, paska postępu, autouzupełniania/podpowiedzi do pól tekstowych i wiele więcej.

Kilka słów o wadach

Bibliotece jQuery zarzuca się przede wszystkim to, że jest to biblioteka, czyli zbiór wielu funkcji, z których na końcu użytkownik skorzysta z niewielkiego podzbioru. Każdej bibliotece zarzuca się też duży rozmiar i powolne działanie.

Do pierwszego argumentu ciężko się odnieść, bo to już programista powinien sam stwierdzić, czy jQuery będzie mu na tyle przydatne w projekcie, że warto będzie tę bibliotekę dołączyć, czy jednak będzie stanowiła zbędny balast.

Odnosząc się do szybkości działania, jQuery z każdą wersją jest optymalizowany pod różnymi względami. Oczywiście kiedyś możliwości usprawniania się skończą, ale jak na razie programiści pokazali, że da się co nieco jeszcze wycisnąć. Z każdą nową wersją w changelogu znajdują się informacje o wprowadzonych mniejszych czy większych optymalizacjach.

Argument o dużym rozmiarze jest nietrafiony w stosunku do jQuery, ponieważ upakowana wersja jQuery 1.4.4 waży zaledwie 24KB. Ponadto, można bibliotekę hotlinkować prosto z serwera jQuery, Google lub Microsoftu. Zyskują na tym zarówno właściciele stron korzystających z jQuery oraz sami użytkownicy. Ci pierwsi skorzystają, bo nie muszą trzymać pliku biblioteki na swoim serwerze, co minimalnie pomoże zaoszczędzić na transferze, zaś ci drudzy będą korzystać z dobrodziejstw cache'a swojej przeglądarki, gdy trafią na N-tą stronę, która linkuje do jQuery umieszczonej na współdzielonym serwerze.

Podsumowanie

Tak właśnie wygląda jQuery w moich oczach. Jest to solidnie napisana biblioteka o sporych możliwościach. Zaś artykuł ten proszę potraktować jako zapowiedź serii notek na temat poszczególnych modułów frameworka.

Masz pytania lub wątpliwości? Odwiedź nasze forum dyskusyjne.

Rafał Kukawski

Programista, webmaster. Szczególnie upodobał sobie JavaScript i technologie klienckie, choć strona serwera i bazy danych nie stanowią tajemnicy. Tworzy też aplikacje na urządzenia mobilne. kukawski.pl.


Komentarze


HTML CSS JavaScript PHP bazy danych MySQL Flash grafika framework hosting domeny pozycjonowanie wordpress Facebook