Aplikacja internetowa

Aplikacja internetowa
Polecane artykuły

Aplikacja internetowa, nazywana również aplikacją webową lub sieciową, jest programem, który pracuje na zewnętrznym serwerze WWW. Służy do komunikacji z użytkownikiem za pośrednictwem sieci z wykorzystaniem przeglądarki, będącą aplikacją kliencką. Komunikacja ma charakter interaktywny, w przeciwieństwie do statycznej strony WWW, której zawartość się nie zmienia i ma informacyjny charakter (Chomiak-Orsa I., Siewiera P. 2017, s. 2).

Architektura aplikacji internetowych

Aplikacje webowe opierają się na warstwowej architekturze klient-serwer, która często zawiera również warstwę danych. Architektura ta opisuje schemat komunikacji pomiędzy serwerem zewnętrznym, a komputerem użytkownika. Komunikacja to odbywa się za pomocą protokołu HTTP (ang. Hypertext Transfer Protocol), który generuje stronę w odpowiedzi na żądanie klienta poprzez przesłane parametry i zmienne. Zawartość strony zostaje dopasowywana do działań użytkownika chcącego skorzystać z usługi, bądź zasobu. Kod aplikacji wykonuje się po stronie serwera, klient otrzymuje sam wynik pracy programu, wyświetlany w przeglądarce internetowej. Na zapytanie użytkownika mogą odpowiedzieć bazy danych poprzez wyświetlenie danych, które spełniają kryteria wyboru (Krasicki J. 2010, s. 182).

Komunikacja w obrębie rozszerzonej o warstwę danych architektury klient-serwer odbywa się poprzez:

  • warstwa serwer - języki takie, np. PHP, Perl, Node. js;
  • warstwa klient - języki skryptowe, np. JavaScript, CSS, HTML;
  • warstwa dane - bazy danych, np. SQL, mySQL, MS.

Aplikacje internetowe posiadają wiele zalet. Ze względu na to, że są trzymane na zewnętrznym serwerze i interpretowane przez przeglądarkę są niezależnie sprzętowe. Oznacza to, że aplikacja powinna być dostępna dla wszystkich urządzeń z możliwością instalacji przeglądarki, będącej interfejsem użytkownika. Takie urządzenia to m.in. komputery, urządzenia mobilne, tablety. Brak konieczności instalowania oprogramowania znacznie odciąża sprzęt użytkownika. Dostępność determinuje połączenie z Internetem. Wymienione cechy sprawiają, że aplikacje internetowe są sposobem na szybkie i łatwe dotarcie do informacji, przy jednoczesnym zachowaniu bezpieczeństwa danych.

Tworzenie aplikacji internetowych

Projektowanie i tworzenie aplikacji internetowych to proces, na który składa się wiele etapów. Poszczególne etapy obejmują m.in. zaczynając na sprecyzowaniu docelowych funkcjonalności, ich implementacji, modyfikacji, tworzeniu kodu, testowaniu, a kończąc na wdrożeniu i bieżącym wsparciu technicznym finalnego produktu. Proces tworzenia aplikacji, ze względu na jego złożoność i wiele etapów, można wspierać poprzez korzystanie z wzorców projektowych. Wzorce projektowe są rozwiązaniami problemów projektowych, które często się pojawiają w procesie tworzenia aplikacji internetowej. Służą do usprawnienia tworzenia i modyfikacji kodu źródłowego. Wzorcem projektowym najchętniej wykorzystywanym jest MVC. Skrót MVC (ang. Model-View-Controller) oznacza wzorzec, który odseparowuje składowe niezależne od siebie, dzieląc tym samym aplikację na trzy warstwy: model, widok oraz kontroler. Każda z warstw odpowiada za inny zakres funkcjonalności aplikacji (Todryk G. 2014, s. 3):

  • Model – warstwa odpowiadająca za komunikację z bazą danych. Model przechowuje obiekty danych, które aplikacja wykorzystuje.
  • Widok – warstwa odpowiadająca za prezentację danych pobranych przez kontroler z warstwy modelu. Dostarczone dane są formatowane przy wykorzystaniu szablonów, a następnie generowany jest kod HTML, ostatecznie wysyłany do przeglądarki internetowej.
  • Kontroler – warstwa pośrednicząca pomiędzy modelem danych, a widokami prezentujące pobrane dane. Kontroler odpowiada za przyjęcie zdarzeń i danych od użytkowników, przetworzenie je poprzez zastosowanie modeli oraz przekierowanie do widoków. Warstwa ta odpowiedzialna jest za przebieg wykonania całej aplikacji.

Projektując aplikację korzysta się z platform programistycznych (framework), które są szkieletem programu tworzącego aplikacje. Szkielet ten obejmuje strukturę aplikacji, którą wypełnia się kodem dającym pożądany rezultat przy wykorzystaniu bibliotek dostarczanych przez platformę programistyczną. Do popularnych framework’ów zalicza się np. Zend Framework, Symfony, CakePHP, a wybór optymalnego framework’u determinuje wiele czynników w zależności od stopnia komplikacji projektu i preferowanych rozwiązań.

Bibliografia

Autor: Agata Tabor