5. Język JavaScript

JavaScript to jeden z najpopularniejszych języków programowania wykorzystywanych w aplikacjach internetowych. Jest to język skryptowy, który może być uruchamiany tak po stronie front-endu (czyli przez przeglądarkę internetową za pomocą wbudowanego w nią interpretera), jak i po stronie back-endu (czyli na serwerze, w środowisku takim jak np. Node.js). JavaScript pozwala na tworzenie dynamicznych, interaktywnych i responsywnych elementów stron internetowych. W praktyce oznacza to, że JavaScript umożliwia użytkownikom wykonywanie różnych akcji na stronie internetowej bez konieczności jej przeładowania. Wśród przykładowych zastosowań można wskazać:

  1. Animacje i efekty wizualne - tworzenie animowanych przejść, karuzel zdjęć, efektów przewijania,
  2. Obsługa formularzy i interakcji z użytkownikiem - walidacja danych, dynamiczne dodawanie pól formularza,
  3. Tworzenie dynamicznych treści - pobieranie danych z serwera bez przeładowania strony (AJAX, Fetch API),
  4. Gry w przeglądarce - silniki do renderowania gier, w tym 3D, np. przy użyciu WebGL.
Język JavaScript charakteryzuje się szerokim ekosystemem narzędzi rozszerzających możliwości języka tudzież znakomicie ułatwiających pracę programisty poprzez zaimplementowanie rozwiązań najczęściej napotykanych problemów. Wśród najpopularniejszych narzędzi obecnie (rok 2024) wskazać należy:
  • Frameworki: Angular, Vue.js,
  • Biblioteki: React, jQuery, D3.js, Three.js.
Optymalny wybór konkretnego rozwiązania zależy zarówno od specyfiki danej aplikacji jak i od preferencji projektanta, gdyż funkcjonalności frameworków częściowo pokrywają się. 

W zasadzie nic nie stoi na przeszkodzie, aby skrajnie proste aplikacje oprogramować z wykorzystaniem tzw. "surowego" JavaScriptu, tj. bez wykorzystania wyżej wymienionych rozszerzeń. Takie podejście warto rozważyć, gdy możliwe jest uzyskanie analogicznych funkcjonalności przy zbliżonym nakładzie pracy programisty, przy jednoczesnej chęci minimalizacji czasu ładowania aplikacji lub rozmiaru przesyłanych poprzez sieć plików. Jednakże współcześnie takie sytuacje zdarzają się raczej dość rzadko - głównie z uwagi na dość duże wymagania w zakresie odpowiednio zaawansowanych zachowań interfejsu aplikacji w różnych sytuacjach oraz powszechną dostępność szerokopasmowego dostępu do sieci Internet.

Istnieje jednak poważny argument stojący za tym, aby w swojej karierze popełnić jakąś aplikację w tzw. "surowym" JS. Mianowicie pozwala to zapoznać się z możliwościami i konstrukcjami oferowanymi przez ten język w oderwaniu od "bonusów", które niosą ze sobą frameworki i biblioteki. Dzięki temu w przyszłości łatwiej będzie opanować nowy framework/bibliotekę z uwagi na jednoznaczne rozróżnianie elementów składni kodu wnoszonych przez rozszerzenia względem naturalnej składni JavaScriptu.