Podręcznik
1. Czym są zaawansowane aplikacje internetowe, czyli wstęp lekko historyczny
1.5. Współczesne aplikacje internetowe
Co ważne, współczesny język JavaScript wyposażony jest w szereg
rozszerzeń, które umożliwiają m.in. wydajne (tj. z użyciem akceleracji
sprzętowej) wyświetlanie grafiki 3D (WebGL API), manipulowanie dźwiękiem (Web Audio API), manipulowanie elementami strumieni wideo i dźwięku (WebCodecs API), wsparcie dla urządzeń wirtualnej rzeczywistości (WebXR Device API), geolokację (Geolocation API),
dwukierunkową swobodną komunikację z serwerem (WebSockets API). Lista ta oczywiście nie jest zamknięta - zestawienie różnych interfejsów programowania aplikacji dostępnych w przeglądarkach internetowych znajdziesz tutaj: MDN - Web APIs.
Ciekawą
technologią jest także WebAssembly, która w swych założeniach pozwalać ma na znaczące
przyspieszenie programów uruchamianych po stronie klienta dzięki rezygnacji z
interpretowanego kodu JavaScript na rzecz wydajnego kodu zapisanego w formacie
binarnym. Na sieci znajdziesz wiele artykułów dotyczących WebAssembly, ale odczuwasz zaintrygowanie tematem, możesz zacząć lekturę od artykułu na portalu MDN - WebAssembly Concepts.
To wszystko razem sprawia, że twórcy serwisów udostępnianych przez serwery HTTP coraz częściej odchodzą od konwencji udostępniania treści w formie >>stron<< (bardziej lub mniej statycznych) na rzecz interaktywnych >>aplikacji<< internetowych. Pod pojęciem aplikacji internetowych będziemy więc rozumieli takie usługi udostępniane dla przeglądarek internetowych, których funkcjonowanie opiera się nie tylko na prezentacji treści, ale także zapewniają interaktywność z użytkownikiem. Przykładowo, aplikacją nazwiemy działającą w przeglądarce wyszukiwarkę połączeń komunikacji miejskiej, narzędzie do zarządzania blogiem (tzw. system CMS (ang. Content Management System), czy grę komputerową. Jako aplikację potraktować można także stronę internetową, która np. ma osadzone elementy interaktywne.