Веб-приложение

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

Веб-приложение — клиент-серверное приложение, в котором клиент взаимодействует с веб-сервером при помощи браузера. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются межплатформенными службами.

Веб-приложения стали широко использоваться в конце 1990-х — начале 2000-х годов.

Технические особенности

Существенное преимущество построения веб-приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться независимо от операционной системы данного клиента. Вместо того, чтобы писать различные версии для Microsoft Windows, Mac OS X, GNU/Linux и других операционных систем, приложение создаётся один раз для произвольно выбранной платформы и на ней разворачивается. Однако различная реализация, CSS, DOM и других спецификаций в браузерах может вызвать проблемы при разработке веб-приложений и последующей поддержке. Кроме того, возможность пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе приложения.

Другой (менее универсальный) подход заключается в использовании Adobe Flash, Silverlight или Java-апплетов для полной или частичной реализации пользовательского интерфейса. Поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов), Flash- или Java-приложения могут выполняться с легкостью. Так как они предоставляют программисту больший контроль над интерфейсом, они способны обходить многие несовместимости в конфигурациях браузеров, хотя несовместимость между Java- или Flash-реализациями на стороне клиента может приводить к различным осложнениям.

На 2015 год технологию Adobe Flash не поддерживают Chrome, Safari, и другие популярные браузеры.[1]

В связи с архитектурным сходством с традиционными клиент-серверными приложениями, в некотором роде «толстыми» клиентами, существуют споры относительно корректности отнесения подобных систем к веб-приложениям; альтернативный термин «полнофункциональное приложение интернета» (англ. Rich Internet Applications).

Архитектура веб-приложений

Используются подходы к архитектурному проектированию веб-приложений[2]. Веб-приложение состоит из клиентской и серверной частей, тем самым реализуя технологию «клиент-сервер».

Клиентская часть реализует пользовательский интерфейс[3], формирует запросы к серверу и обрабатывает ответы от него.

Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP.

Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.

В настоящее время набирает популярность новый подход к разработке веб-приложений, называемый Ajax. При использовании Ajax страницы веб-приложения не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными.

Также в последнее время набирает большую популярность технология WebSocket, которая не требует постоянных запросов от клиента к серверу, а создает двунаправленное соединение, при котором сервер может отправлять данные клиенту без запроса от последнего. Таким образом появляется возможность динамически управлять контентом в режиме реального времени.

Для создания веб-приложений на стороне сервера используются разнообразные технологии и любые языки программирования:

Название Лицензия Веб-сервер
ASP проприетарная специализированный
ASP.NET проприетарная специализированный
C/C++ свободная практически любой
Java[4] свободная множество, в том числе свободных
Perl свободная практически любой
PHP свободная практически любой
Python свободная практически любой
Ruby свободная практически любой
Nodejs MIT License собственный
ASP.NET vNext Apache 2 практически любой[Прим. 1]

На стороне клиента используется:

См. также

Примечания

  1. Собственно, ASP.NET vNext и создана для того, чтобы позволить исполнять .NET приложения на любых платформах, а не только на IIS.

Источники

  1. Chrome ставит Flash на паузу с первого сентября. «Хакер». Дата обращения: 22 октября 2015. Архивировано 4 октября 2015 года.
  2. Богданенко Д. А. Подходы к архитектурному проектированию веб–приложений (рус.) // Молодой ученый : статья в журнале — научная статья. — 2018. — № 9 (195). — С. 24—29. — ISSN 2072-0297.
  3. БЕКИРОВА Э. А., ХАЛИЛОВА З. Э. ОСНОВНЫЕ ЭТАПЫ СОЗДАНИЯ WEB-ПРИЛОЖЕНИЙ (рус.) // ИНФОРМАЦИОННО-КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ В ЭКОНОМИКЕ, ОБРАЗОВАНИИ И СОЦИАЛЬНОЙ СФЕРЕ : статья в журнале — научная статья. — Государственное бюджетное образовательное учреждение высшего образования Республики Крым «Крымский инженерно-педагогический университет имени Февзи Якубова» (Симферополь), 2019. — С. 84—91. — ISSN 2658-5944.
  4. ВОЛКОВ А. С., ВОЛКОВА К. А. ОБЗОР АРХИТЕКТУРНЫХ КОМПОНЕНТОВ СОВРЕМЕННОГО ВЕБ-ПРИЛОЖЕНИЯ (рус.) // АЛЛЕЯ НАУКИ : статья в журнале — обзорная статья. — ИП Шелистов Денис Александрович (Издательский центр «Quantum»), 2019. — С. 958—961.

Литература

Ссылки