Веб-приложение — клиент-серверное приложение, в котором клиент взаимодействует с веб-сервером при помощи браузера. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются межплатформенными службами.
Веб-приложения стали широко использоваться в конце 1990-х — начале 2000-х годов.
Технические особенности
Существенное преимущество построения веб-приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться независимо от операционной системы данного клиента. Вместо того, чтобы писать различные версии для Microsoft Windows, Mac OS X, и других операционных систем, приложение создаётся один раз для произвольно выбранной платформы и на ней разворачивается. Однако различная реализация, CSS, DOM и других спецификаций в браузерах может вызвать проблемы при разработке веб-приложений и последующей поддержке. Кроме того, возможность пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе приложения.
Другой (менее универсальный) подход заключается в использовании Adobe Flash, (Silverlight) или (Java-апплетов) для полной или частичной реализации пользовательского интерфейса. Поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов), Flash- или Java-приложения могут выполняться с легкостью. Так как они предоставляют программисту больший контроль над интерфейсом, они способны обходить многие несовместимости в конфигурациях браузеров, хотя несовместимость между Java- или Flash-реализациями на стороне клиента может приводить к различным осложнениям.
На 2015 год технологию Adobe Flash не поддерживают Chrome, Safari, и другие популярные браузеры.
В связи с архитектурным сходством с традиционными клиент-серверными приложениями, в некотором роде («толстыми» клиентами), существуют споры относительно корректности отнесения подобных систем к веб-приложениям; альтернативный термин «(полнофункциональное приложение интернета)» (англ. Rich Internet Applications).
Архитектура веб-приложений
Веб-приложение состоит из клиентской и серверной частей, тем самым реализуя технологию «клиент-сервер».
Клиентская часть реализует (пользовательский интерфейс), формирует запросы к серверу и обрабатывает ответы от него.
Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP.
Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.
В настоящее время набирает популярность новый подход к разработке веб-приложений, называемый (Ajax). При использовании (Ajax) страницы веб-приложения не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными.
Также в последнее время набирает большую популярность технология (WebSocket), которая не требует постоянных запросов от клиента к серверу, а создает двунаправленное соединение, при котором сервер может отправлять данные клиенту без запроса от последнего. Таким образом появляется возможность динамически управлять контентом в режиме реального времени.
Для создания веб-приложений на стороне сервера используются разнообразные технологии и любые языки программирования:
Название | Лицензия | Веб-сервер |
---|---|---|
(ASP) | проприетарная | специализированный |
ASP.NET | проприетарная | специализированный |
C/ | свободная | практически любой |
Java | свободная | множество, в том числе свободных |
(Perl) | свободная | практически любой |
PHP | свободная | практически любой |
Python | свободная | практически любой |
(Ruby) | свободная | практически любой |
(Nodejs) | (MIT License) | собственный |
ASP.NET vNext | Apache 2 | практически любой |
Go | свободная | практически любой |
На стороне клиента используется:
- Для реализации GUI
- Для формирования запросов, создания интерактивного и независимого от браузера интерфейса:
- (ActiveX)
- Adobe Flash, (Adobe Flex)
- Java
- JavaScript
- (Silverlight)
См. также
- SaaS
- (Прогрессивное веб-приложение)
Примечания
- Собственно, ASP.NET vNext и создана для того, чтобы позволить исполнять .NET приложения на любых платформах, а не только на (IIS).
Источники
- Chrome ставит Flash на паузу с первого сентября . «Хакер». Дата обращения: 22 октября 2015. 4 октября 2015 года.
- Волков А. С., Волкова К. А. Обзор архитектурных компонентов современного веб-приложения (рус.) // Аллея Науки : статья в журнале — обзорная статья. — ИП Шелистов Денис Александрович (Издательский центр «Quantum»), 2019. — С. 958—961.
Литература
- Марко Беллиньясо. Разработка Web-приложений в среде ASP.NET 2.0: задача — проект — решение = ASP.NET 2.0 Website Programming: Problem — Design — Solution. — М.: , 2007. — С. 640. — .
- Олищук Андрей Владимирович. Разработка Web-приложений на PHP 5. Профессиональная работа. — М.: , 2006. — С. 352. — .
Ссылки
- How Microsoft lost the API war — Обсуждение замены традиционных приложений Windows на веб-приложения
- Web Applications 1.0 документирование работы веб-приложений.
- The Other Road Ahead — Статья, где утверждается, что будущее за серверными, а не за клиентскими приложениями
- Web Applications от 12 марта 2018 на Wayback Machine in the Open Directory Project
В статье есть список , но не хватает . |
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер