Od lat żadna technologia nie zagroziła JavaScriptowi, językowi uznawanemu za zabawkę dla dzieci. Czy uda się mu zachować popularność i zapewnić źródło utrzymania kolejnym programistom?
Starsi stażem czytelnicy z pewnością pamiętają animowane zegarki i kolorowe poświaty latające za kursorem. Do tego wykorzystywany był JavaScript pod koniec lat ’90.
Język ten przez lata służył do wątpliwej jakości upiększania strony. Tak było aż do roku 2005, w którym Jesse James Garrett wymyślił termin AJAX (Asynchronous JavaScript and XML – asynchroniczny JavaScript i XML). Nie była to żadna nowa technologia, ale jedynie umiejętne zestawienie już istniejących.
Chwytliwe hasło, wsparte marketingiem, pozwoliło rozkwitnąć JavaScriptowi. Stał się nieodzownym składnikiem aplikacji internetowych (w czym pomaga moda na przetwarzanie w chmurach), a programiści przestali traktować go jak język dla dzieci, nieporównywalny do C++ czy Javy.
Popularność rodzi popularność
JavaScript nie mógłby tego dokonać gdyby nie jego rozwój techniczny. Mimo że JS był projektowany jako język skryptowy, to obecnie przeglądarki kompilują skrypty, chociaż na różne sposoby. W Firefoksie i Safari podczas pierwszego uruchomienia skrypt jest przekształcany do tzw. bajtkodu. Dopiero on jest wykonywany. Silnik V8 z {link_wew 6430}Chrome{/link_wew} kompiluje skrypty i przekształca je do kodu maszynowego, tak samo jak byłby to program C++. Kompilacja skryptów przynosi kilkukrotny wzrost wydajności.
Nawet nawy silnik Chakra z Internet Explorera 9 nie osiąga takiej wydajności jak V8. Nie byłoby w tym nic dziwnego, gdyby nie fakt, że Chakra przydziela oddzielny rdzeń procesora do wykonywania skryptów. Potrafi również wykorzystać do tego procesor graficzny.
Przerzucić obliczenia na internautę
Microsoft wykorzystał do tego jedną z głównych cech JavaScriptu: kod wykonywany jest po stronie użytkownika, a nie serwera. W pozostałych językach (np. PHP, Python) zadania są wykonywane na serwerze, a internauta otrzymuje gotową odpowiedź. Przy podejściu Microsoftu szybkość działania będzie w dużej mierze zależeć od szybkości komputera użytkownika. Nie należy więc się dziwić, jeśli za dwa lata na stronie zobaczymy wymagania sprzętowe, znane do tej port z gier…
Skąd ta walka o szybkość? Coraz bardziej rozbudowane strony – powstałe przecież dlatego, że JS na to pozwala – wymagają szybszego i stabilniejszego działania. Dzięki temu programiści mogą projektować jeszcze większe aplikacje, a popularność JavaScriptu sama się napędza.
Nie tylko przeglądarki
Język ten już dawno wyszedł poza przeglądarki. Stosowany jest m.in. w dokumentach PDF, widgetach umieszczonych na pulpitach Windowsa i Mac OS X, środowisku Adobe AIR i frameworku systemu webOS, a nawet do renderowania elementów interfejsu programów z pakietu Adobe CS5.
Jednak JavaScript to cały czas język blisko związany z HTML-em. W specyfikacji HTML5 pojawiają się API (interfejsy programowania aplikacji) JS. Pozwalają na znacznie więcej niż obecnie spotykane skrypty – zapytania do baz danych, obsługę pamięci podręcznej (cache’u) czy interakcję z systemem operacyjnym poprzez obsługę metody przeciągnij i upuść. Przydatna będzie również obsługa elementu Canvas, który pozawala na tworzenie grafiki za pomocą skryptów… Takie przykłady można mnożyć.
Biorąc pod uwagę długą historię JavaScriptu i jego ciągły, dynamiczny rozwój oraz wyjście języka poza strony internetowe i doskonałe perspektywy na przyszłość związane z HTML-em 5, odpowiedź na pytanie postawione w tytule może być tylko jedna…