JavaScript jest jednym z wielkiej trójki web hostingu: Oprócz HTML (struktura strony) i CSS (prezentacja), obiektowy język programowania oferuje dynamizację treści. Ale JavaScript ma zastosowanie nie tylko w kontekście projektowania stron. Aplikacje po stronie serwera mogą być również sterowane za pomocą JavaScript.
Pochodzenie JavaScriptu
Pomimo nazwy, JavaScript ma niewiele wspólnego z Javą. Pierwotnie język skryptowy miał się nazywać LiveScript i został opracowany przez firmę Netscape do współpracy Netscape Navigator z apletami Java (aplikacjami klienckimi Java). Jako właściwie własnościowe oprogramowanie, JavaScript stanowił czynnik konkurencyjny dla firm takich jak Microsoft Kochanie. Odpowiadały one na rozwój JavaScript za pomocą własnych rozwiązań, takich jak język skryptowy JScript. Z czasem jednak JavaScript stał się podstawowym językiem skryptowym po stronie klienta i (poza tym php) dynamizacja po stronie serwera.
Dynamika po stronie klienta
Prawdopodobnie najczęściej wykorzystywaną funkcją JavaScriptu jest możliwość dynamiki po stronie klienta. Klientem jest przeglądarka internetowa. Dynamika po stronie klienta oznacza, że zawartość wyświetlana w kliencie jest manipulowana. HTML jest statycznym opisem struktury obecności w sieci, tzw. Document Object Model (DOM). Podczas gdy CSS (Cascading Style Sheets) jest używany do oddzielnego projektowania tego "szkieletu", JavaScript oferuje możliwość przenoszenia, usuwania lub dodawania elementów HTML.
Ta manipulacja DOM (skryptowanie DOM) może być używana na wiele sposobów. Za pośrednictwem tzw. Event Handlerów, funkcje są najpierw związane z określonymi zdarzeniami. Mogą to być kliknięcia dokonane przez użytkownika, punkty w czasie lub załadowanie strony. Za pomocą identyfikatorów przypisanych do elementów w HTML, można następnie wywołać zmiany oparte na zdarzeniach. Może to obejmować wszystko, od programowania prostych, dynamicznych form lub filtrów tabelarycznych do osadzania odtwarzaczy wideo lub złożonej, dynamicznej grafiki.
JQuery: Bardziej nieskomplikowany JavaScript
JavaScript jest przykładem języków programowania obiektowego. W związku z tym, próg wejścia dla niedoświadczonych projektantów stron internetowych jest stosunkowo wysoki. Bez ograniczania funkcjonalności JavaScript (w znacznym stopniu), biblioteka JavaScript JQuery oferuje uproszczoną składnię, która pozwala na szybkie i łatwe tworzenie najczęściej spotykanych przypadków użycia. Podczas gdy JavaScript oferuje podobną złożoność i zmienność jak Java czy Python poprzez definiowanie prototypów (zamiast klas), instancji (konkretnych obiektów) i metod (funkcji związanych z obiektami), JQuery ogranicza słownictwo i struktury. Polecenia mają strukturę zagnieżdżoną, dzięki czemu można je dość szybko zrozumieć. Dlatego też, jeśli nie masz do czynienia ze skomplikowanymi, nietypowymi aplikacjami, najprawdopodobniej istnieje proste rozwiązanie w JQuery.
Dynamika po stronie serwera: AJAX i Node.js
Poza manipulacją DOM-em, JavaScript jest również używany do komunikacji z serwerami, np. do zapytań do bazy danych. Od 2009 roku istnieje node.js, szkielet do dynamizacji po stronie serwera za pomocą JavaScript. Było to możliwe już przed 2009 r., ale node.js pozwala na łatwiejszą integrację. Jest to zaleta dla programistów JavaScript, ponieważ wtedy nie muszą już używać innych języków jak php. Dodatkowo, węzeł.js umożliwia również paralelizację procesów. Jest to zaleta, ponieważ zbyt wiele z tych tak zwanych wątków może prowadzić do zastoju. W przypadku node.js, żądania przebiegają przez jeden wątek, co może znacznie zwiększyć wydajność.
Node.js jest przykładem na możliwości AJAX-a. Akronim ten oznacza procedurę o nazwie Asynchroniczny JavaScript i XML. Zasada ta pozwala na pobieranie treści z serwerów bez konieczności ponownego ładowania całej strony. Dla wielu stron internetowych, takich jak YouTube, całkowite przeładowanie po prośbie o wideo lub załadowanie komentarzy byłoby dużą wadą. AJAX jest również rozwiązaniem problemu akumulacji zgłoszeń dzięki asynchronicznemu przetwarzaniu, jak wyjaśniono powyżej dla Node.js.
Integracja JavaScript
Podstawowa integracja JavaScript w ofercie internetowej działa dokładnie tak samo jak połączenie z plikami CSS. Więc są na to dwie możliwości: Z jednej strony, JavaScript może być używany w głowie lub w korpusie dokumentu HTML.