Interested Article - Веб-приложение
- 2020-03-09
- 1
Веб-приложение — клиент-серверное приложение, в котором клиент взаимодействует с веб-сервером при помощи браузера . Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети . Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются межплатформенными службами.
Веб-приложения стали широко использоваться в конце 1990-х — начале 2000-х годов.
Технические особенности
Существенное преимущество построения веб-приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться независимо от операционной системы данного клиента. Вместо того, чтобы писать различные версии для Microsoft Windows , Mac OS X , GNU/Linux и других операционных систем, приложение создаётся один раз для произвольно выбранной платформы и на ней разворачивается. Однако различная реализация, CSS , DOM и других спецификаций в браузерах может вызвать проблемы при разработке веб-приложений и последующей поддержке. Кроме того, возможность пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе приложения.
Другой (менее универсальный) подход заключается в использовании Adobe Flash , Silverlight или Java-апплетов для полной или частичной реализации пользовательского интерфейса. Поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов ), Flash- или Java-приложения могут выполняться с легкостью. Так как они предоставляют программисту больший контроль над интерфейсом, они способны обходить многие несовместимости в конфигурациях браузеров, хотя несовместимость между Java- или Flash-реализациями на стороне клиента может приводить к различным осложнениям.
На 2015 год технологию Adobe Flash не поддерживают Chrome, Safari, и другие популярные браузеры .
В связи с архитектурным сходством с традиционными клиент-серверными приложениями, в некотором роде «толстыми» клиентами , существуют споры относительно корректности отнесения подобных систем к веб-приложениям; альтернативный термин « полнофункциональное приложение интернета » ( англ. Rich Internet Applications ).
Архитектура веб-приложений
Веб-приложение состоит из клиентской и серверной частей, тем самым реализуя технологию «клиент-сервер» .
Клиентская часть реализует пользовательский интерфейс , формирует запросы к серверу и обрабатывает ответы от него.
Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP .
Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии : множество её участников могут принимать участие в создании сетевой энциклопедии , используя для этого браузеры своих операционных систем (будь то Microsoft Windows , GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.
В настоящее время набирает популярность новый подход к разработке веб-приложений, называемый Ajax . При использовании Ajax страницы веб-приложения не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными.
Также в последнее время набирает большую популярность технология WebSocket , которая не требует постоянных запросов от клиента к серверу, а создает двунаправленное соединение, при котором сервер может отправлять данные клиенту без запроса от последнего. Таким образом появляется возможность динамически управлять контентом в режиме реального времени.
Для создания веб-приложений на стороне сервера используются разнообразные технологии и любые языки программирования :
Название | Лицензия | Веб-сервер |
---|---|---|
ASP | проприетарная | специализированный |
ASP.NET | проприетарная | специализированный |
C / C++ | свободная | практически любой |
Java | свободная | множество, в том числе свободных |
Perl | свободная | практически любой |
PHP | свободная | практически любой |
Python | свободная | практически любой |
Ruby | свободная | практически любой |
Nodejs | MIT License | собственный |
ASP.NET vNext | Apache 2 | практически любой |
Go | свободная | практически любой |
На стороне клиента используется:
- Для реализации GUI
- Для формирования запросов, создания интерактивного и независимого от браузера интерфейса:
См. также
Примечания
- Собственно, ASP.NET vNext и создана для того, чтобы позволить исполнять .NET приложения на любых платформах, а не только на IIS .
Источники
- . «Хакер». Дата обращения: 22 октября 2015. 4 октября 2015 года.
- Волков А. С., Волкова К. А. (рус.) // Аллея Науки : статья в журнале — обзорная статья. — ИП Шелистов Денис Александрович (Издательский центр «Quantum»), 2019. — С. 958—961 .
Литература
- Марко Беллиньясо. = ASP.NET 2.0 Website Programming: Problem — Design — Solution. — М. : , 2007. — С. 640. — ISBN 0-7645-8464-2 .
- Олищук Андрей Владимирович. . — М. : , 2006. — С. . — ISBN 5-8459-0944-9 .
Ссылки
- — Обсуждение замены традиционных приложений Windows на веб-приложения
- документирование работы веб-приложений.
- — Статья, где утверждается, что будущее за серверными, а не за клиентскими приложениями
- от 12 марта 2018 на Wayback Machine in the Open Directory Project
- 2020-03-09
- 1