Skrypty na jawie

Wiele osób zajmujących się zawodowo programowaniem i uczeniem programowania przyznało, że niewiele języków zyskało tak natychmiastową aprobatę jak Java. Java jest obecnie w modzie, pisze się o niej dużo, powstają nowe środowiska do projektowania apletów, pisane są książki, Java wchodzi do programów studiów informatycznych... Oczywiście, Java, jako język programowania, nie służy w swych założeniach do wzbogacania wyglądu internetowych stron WWW, lecz sięga dużo dalej. Ma być przyszłościowym językiem pisania aplikacji uruchamianych wprost z sieci komputerowej.

Wiele osób zajmujących się zawodowo programowaniem i uczeniem programowania przyznało, że niewiele języków zyskało tak natychmiastową aprobatę jak Java. Java jest obecnie w modzie, pisze się o niej dużo, powstają nowe środowiska do projektowania apletów, pisane są książki, Java wchodzi do programów studiów informatycznych... Oczywiście, Java, jako język programowania, nie służy w swych założeniach do wzbogacania wyglądu internetowych stron WWW, lecz sięga dużo dalej. Ma być przyszłościowym językiem pisania aplikacji uruchamianych wprost z sieci komputerowej.

Specyficznym językiem programowania, zaprojektowanym specjalnie do "towarzyszenia" dokumentom HTML, jest natomiast JavaScript. Jest to język interpretowany, w czym podobny jest do wielu odmian BASIC-u, nawet dla komputerów IBM PC (np. GWBASIC czy QBasic w MS-DOS-ie). Przeglądarka WWW po wczytaniu tekstowej formy programu napisanego w JavaScripcie interpretuje kolejne polecenia i wykonuje odpowiednie czynności. Taki sposób pracy posiada zarówno wady jak i zalety. Wadą jest powolność działania, zaletą - niezależność od platformy sprzętowej. W swoim założeniu program w języku JavaScript powinien być wykonywany identycznie na PeCecie, Mac-u, Sun-ie... Niestety, jak to w praktyce bywa różnice występują nawet pomiędzy dwoma przeglądarkami WWW dla tej samej platformy.

Kiedy działa program?

Interesujący jest sposób w jaki uruchamiane są programy w JavaScripcie. Przecież dokumenty HTML, w których rzeczone programy się znajdują, są w sposób bierny wczytywane przez przeglądarkę i ich zawartość zostaje wyświetlona na ekranie monitora. Nie każdy wie, że na podstawie treści dokumentu HTML generowane są obiekty (JavaScript to język obiektowy!), które posiadają swoje metody i zdarzenia. To właśnie zdarzenia pozwalają uruchomić programy JavaScriptowe.

Pierwszym zdarzeniem jest już samo załadowanie dokumentu do przeglądarki. Od razu ostrzeżenie dla nieufnych - samo odczytanie dokumentu z serwera pozwala w ukryty sposób wysłać do autora strony WWW pocztę elektroniczną! Tym samym zdradzamy swój adres e-mailowy, co w zastosowaniach komercyjnych może mieć niebagatelne znaczenie... Program w JavaScripcie z łatwością stwierdza z jaką przeglądarką ma do czynienia i potrafi wczytać odpowiedni dokument dla Netscape'a lub Explorera (zależnie od wersji programu). Również odczytanie dokumentu HTML jest często wykorzystywane do liczenia ile osób odwiedziło naszą stronę WWW.

Ponadto, każdy odnośnik w dokumencie i każdy przycisk może uruchamiać odpowiedni program. Nie jest konieczne kliknięcie myszką - wystarczy, że kursor znajdzie się nad obiektem i już coś zaczyna działać! Ostatnia czynność - czyli opuszczenie strony WWW też jest zdarzeniem, które podlega oprogramowaniu w JavaScripcie. Możliwości, jak widać, są zatem naprawdę ogromne.

A jak to działa?

Z poziomu JavaScriptu programista posiada dostęp do praktycznie wszystkich istotnych informacji dokumentu HTML. Mało tego - bez problemu można generować nowe dokumenty i wyświetlać je w okienkach przeglądarki WWW. Na przykładowych stronach wykorzystujących ten język programowania znajdujemy także procedury tworzące dokumenty VRML, a nawet grafikę bitmapową. Oczywiście, z powodów jasnych dla osób zajmujących się bezpieczeństwem sieci, JavaScript nie może wykonać żadnych operacji na lokalnych dyskach komputera podłączonego do internetu.

Programowanie w JavaScripcie polega zazwyczaj na wstawieniu w dokument HTML odwołań do konkretnych procedur, które umieszczane są segmencie nagłówku - pomiędzy znacznikami i . Jest to więc język nie tylko obiektowy ale i strukturalny. Jednym z typowych zastosowań jest prosty kalkulator, korzystający z formularzy i tabelek definiowanych w standardzie języka HTML. Oczywiście, przykłady można mnożyć, a nic nie zastąpi nauki jak tylko własna praktyka.

Jak to robić?

Jak dotychczas nie ma specjalizowanego środowiska do projektowania aplikacji w JavaScripcie. Co prawda, w nowym FrontPage'u (MS FrontPage 97) znajduje się "Script Wizard" ułatwiający dostęp do wszystkich obiektów i pozwalający w prosty sposób oprogramować np. zmianę koloru tła, wyświetlenie okienek z komunikatami itp., lecz nie jest to jeszcze programistyczne IDE (Integrated Development Environment). Pozostaje więc tradycyjny notatnik lub inny, wygodny edytor tekstowy.Czy JavaScript jest bezpieczny?

Przynajmniej ma być! W swoim założeniu, aplikacje napisane w JavaScripcie nie mogą nic zrobić na dyskach lokalnych komputera. Jedyne, co może się przytrafić, to zawieszenie programu przeglądarki WWW ze wszelkimi możliwymi konsekwencjami aż do zresetowania komputera włącznie. Oczywiście, nikt z producentów oprogramowania nie daje gwarancji, że jego przeglądarka nie wykona jakiejś niespodziewanej czynności, lecz w trakcie wielotygodniowych eksperymentów z programami w JavaScripcie nie natrafiłem na żadne niepokojące objawy. Jednym ze znanych w świecie hm... naryszeń prywatności za pomocą aplikacji w JavaScripcie, jest ukryte wysyłanie poczty elektronicznej bez wiedzy użytkownika. Ale to chyba można przeboleć.

Przyszłość skryptów na jawie

JavaScript ma niewiele wspólnego, z szybko robiącą furorę, Javą. Coraz więcej pojawia się tzw. apletów w Javie, które nie tylko urozmaicają statyczne zazwyczaj strony WWW, lecz także wykonują rozmaite czynności w sieci (przeszukują archiwa, uruchamiają inne programy itd.). Java ewoluuje w kierunku oprogramowania dla sieci internet, także takiego, które można będzie np. wynajmować na godziny poprzez sieć. JavaScript pozostaje najściślej związany z dokumentami HTML i z tego miejsca nie zostanie usunięty przez Javę. Microsoft proponuje swoja wersje interpretowanego języka skryptowego - VB script, lecz jeszcze trochę czasu musi upłynąć (i sporo wysiłku marketingowego musi być włożone) aby przekonać i programistów i użytkowników do skryptów w Visual Basicu. JavaScript trzyma się mocno!


Zobacz również