JavaScript jako Język
lipiec 12, 2007

Bardzo możliwe iż niebawem do taglinu mojego bloga trzeba będzie dodać kolejny język – Javascript. Do niedawna kojarzony on był przez programistów ze śmiesznymi skryptami wykonywanymi po stronie przeglądarki i raczej nikt nie brał go poważnie. Najczęściej programowanie sprowadzało się do prostych operacji na dacie, modyfikacji wyglądu strony przez zmianę stylu lub komunikacji z użytkownikiem za pośrednictwem dwóch funkcji – confirm() oraz alert(). Ostatnie kilka miesięcy to ogromna popularyzacja tej technologii dzięki AJAXowi, który to przy okazji bańki web 2.0 pojawia się obecnie prawie w każdej nowo powstałej aplikacji webowej. Jednak przez cały ten czas język ten pozostawał w jednym, jasno określonym miejscu – w przeglądarce.
Niedawno Steve Yegge przeportował znany wszystkim framework Ruby on Rails do JavaScriptu. Wykonywanie JavaScriptu po stronie serwera możliwe jest dzięki Rhino, otwartej implementacji JavaScriptu w Javie. Do operacji po stronie serwera, jak również do komunikacji z bazą wykorzystywane są biblioteki dostępne w Javie – zaleta programowania w języku uruchamianym na JVM’ie podobnie jak w JRuby czy Groovy.
Innym przykładem zastosowania JavaScriptu poza przeglądarką może być iPhone. Poza ekranem dotykowym oraz masą wodotrysków od standardowego telefonu komórkowego odróżnia go również to iż nie jest on wyposażony w JVM. Inżynierowie, a może nie tylko oni, w Applu stwierdzili iż jest ona nie potrzebna i aplikacje można pisać miedzy innymi przy wykorzystaniu JavaScriptu.
Jeśli się nad tym dłużej zastanowimy to perspektywa pisania aplikacji na wiele platform, interpretowanych zarówno po stronie klienta jak i serwera jest ciekawą opcją na przyszłością. Czy tą technologią będzie JavaScript? Możliwe, ale niekoniecznie, zależy to od wielu czynników – jednym z nich są biblioteki a tych obecnie jest na lekarstwo jeśli popatrzymy na tą technologie od strony serwera. Pewne jest jednak jedno, nie można już lekceważyć JavaScriptu- jak to miało miejsce jeszcze kilka lat temu, osobiście od dzisiaj postrzegam go jako język a nie dodatek do przeglądarki.
Update: Kilka dni po tym jak napisałem ten post Ola Bin na swoim blogu napisał dość podobny wpis, rozpatrując JavaScript bardziej od strony semantycznej. Zgadzam się z większością postawionych tam argumentów jak również z tym iż bardzo możliwe iż nie będziemy już mieli do czynienia z dominacją jednego języka taką jaka to miała miejsce jeszcze kilka lat temu, ponieważ sposób prowadzenia projektów i podejścia do technologi się zmienił. Przykład? Choćby ilość języków uruchamianych przez JVM.