Aplikacje internetowe – definicja

Pojęcie „aplikacja internetowa” jest pojęciem bardzo ogólnym, różnie rozumianym i formalnie nie do końca zdefiniowanym. Patrząc szeroko i wychodząc od składowych słów „aplikacja” i „internet”, aplikacją internetową nazwalibyśmy każdy program komputerowy, który do swojego działania wymaga połączenia z siecią komputerową – internetem (nie biorąc pod uwagę wieloznaczności słowa „aplikacja” które także może oznaczać w języku polskim np. podanie o pracę składające się z CV i listu motywacyjnego).

Sytuacja komplikuje się, gdy weźmiemy pod uwagę, że program komputerowy lub jego część może pracować na komputerze użytkownika (stanowisku roboczym), serwerze sieciowym, serwerze aplikacyjnym, a w dzisiejszych czasach także telefonie, smartfonie, tablecie, telewizorze Smart TV, konsoli do gier itp, komunikacja może odbywać się z użyciem różnych protokołów internetowych (HTTP(S), FTP, SMTP/POP, IRC, itd). Co jest a co nie jest więc aplikacją internetową?

Z kolei, często aplikację internetową nazywa się aplikacją webową, z angielskiego „web” co oznacza dosłownie „sieć”. Jednakże pojęcie „web” jest dzisiaj już skrótem od „World Wide Web” a więc usługi internetowej pracującej w architekturze klient-serwer dostarczającej informację osadzoną w formacie hipertekstowym (HTML), wykorzystującej do komunikacji protokół HTTP(S). W tym ujęciu „sieć” nie jest już siecią połączonych komputerów, ale siecią stron internetowych połączonych wzajemnie wskazującymi się odnośnikami. Kluczowym narzędziem wówczas staje się przeglądarka internetowa a więc program komputerowy pozwalający pobierać i wizualizować dane hipertekstowe, jednakże nie jest on częścią takiej aplikacji, ale elementem platformy, która jest wymagana do jej działania.

Definicja aplikacji webowej („web application”) w anglojęzycznej Wikipedii brzmi:

„A web application or web app is any software that runs in a web browser. It is created in a browser-supported programming language (such as the combination of JavaScript, HTML and CSS) and relies on a web browser to render the application.”

Trzymając się sztywno powyższej definicji, nie moglibyśmy za aplikację internetową uznać portali, witryn internetowych, portali aukcyjnych i sklepów internetowych ze względu na bardzo ostre kryterium „…that runs in a web browser”, ponieważ w zasadzie wszystkie te rozwiązania wymagają kodu aplikacyjnego pracującego także po stronie serwera („…runs also on a web server”). Inną wątpliwość budzi sformułowanie „relies on a web browser to render the application” – polega na przeglądarce internetowej aby wizualizować aplikację. Brzmieć ono powinno raczej „relies on a web browser to render the UI of the application” – polega na przeglądarce internetowej aby wizualizować interfejs użytkownika danej aplikacji (interfejs nie musi być graficzny, może być czysto tekstowy).

Biorąc pod uwagę zdrowy inżynierski rozsądek, aplikacją internetową należy nazwać każde rozwiązanie aplikacyjne, które w swojej zasadniczej części:

  • do realizacji swojej funkcjonalności w sposób krytyczny wymaga dostępu do sieci internet,
  • interfejs użytkownika dostępny jest przede wszystkim za pomocą przeglądarki internetowej,
  • korzysta w zasadniczej części z języków programowania wspieranych przez przeglądarki (HTML, Javascript, CSS),
  • posiada architekturę klient-serwer,
  • większość komunikacji klient-serwer odbywa się za pomocą protokołu HTTP(S),
  • krytycznym elementem platformy aplikacyjnej jest po stronie serwera tzw. web server realizujący usługi z użyciem protokołu HTTP(S),
  • przechowywanie kodu aplikacji i danych odbywa się na serwerze,
  • dostęp do danych, przetwarzanie danych, realizacja logiki biznesowej w większej części realizowana jest za pomocą kodu aplikacyjnego uruchamianego na serwerze.

Tworzenie aplikacji internetowych