Веб-приложение
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Веб -приложение (или веб-приложение ) — это прикладное программное обеспечение , доступ к которому осуществляется с помощью веб-браузера . Веб-приложения доставляются через Всемирную паутину пользователям с активным сетевым подключением. [1]
Одностраничный и прогрессивный — это два подхода к тому, чтобы веб-сайт больше походил на нативное приложение.
История
В более ранних моделях вычислений, таких как клиент-сервер, нагрузка по обработке приложения распределялась между кодом на сервере и кодом, установленным на каждом клиенте локально. Другими словами, приложение имело собственную предварительно скомпилированную клиентскую программу, которая служила его пользовательским интерфейсом каждого пользователя и должна была быть установлена отдельно на персональный компьютер . Обновление серверного кода приложения обычно также требует обновления клиентского кода, установленного на каждой пользовательской рабочей станции, что увеличивает стоимость поддержки и снижает производительность . Кроме того, как клиентские, так и серверные компоненты приложения обычно были тесно привязаны к конкретной компьютерной архитектуре и операционной системе , и их перенос на другие часто был непомерно дорогим для всех приложений, кроме самых крупных (в настоящее время [ когда? ] нативные приложения для мобильных устройств также страдают от некоторых или всех вышеперечисленных проблем). [ сомнительно – обсудить ]
В 1995 году Netscape представила клиентский язык сценариев под названием JavaScript , позволяющий программистам добавлять некоторые динамические элементы в пользовательский интерфейс, работающий на стороне клиента. Таким образом, вместо отправки данных на сервер для создания всей веб-страницы встроенные сценарии загруженной страницы могут выполнять различные задачи, такие как проверка ввода или отображение/скрытие частей страницы. [2]
В 1999 году концепция «веб-приложения» была введена в языке Java в спецификации сервлетов версии 2.2. [2.1?]. [3] [ нужен неосновной источник ] В то время и JavaScript, и XML уже были разработаны, но Ajax еще не был изобретен, а объект XMLHttpRequest только недавно был представлен в Internet Explorer 5 как объект ActiveX . [ нужна ссылка ]
Такие приложения, как Gmail, начали делать свою клиентскую часть все более интерактивной с начала 2000-х годов. Сценарий веб-страницы может связываться с сервером для хранения/извлечения данных без загрузки всей веб-страницы. В 2005 году эта практика стала известна как Ajax. [4]
« Прогрессивные веб-приложения » — термин, придуманный дизайнером Фрэнсис Берриман и инженером Google Chrome Алексом Расселом в 2015 году. [5] относится к приложениям, использующим новые функции, поддерживаемые современными браузерами, которые изначально запускаются на вкладке веб-браузера, но позже могут работать полностью автономно и запускаться без ввода URL-адреса приложения в браузере.
Структура
Традиционные компьютерные приложения обычно являются одноуровневыми и размещаются исключительно на клиентском компьютере. Напротив, веб-приложения по своей сути облегчают многоуровневую архитектуру. [6] Хотя возможны многие варианты, наиболее распространенной структурой является трехуровневое приложение. [6] В наиболее распространенной форме эти три уровня называются представлением , приложением и хранилищем . Веб-браузер — это первый уровень (презентация), движок, использующий некоторые технологии динамического веб-контента (например, ASP , CGI , ColdFusion , Dart , JSP/Java , Node.js , PHP , Python или Ruby on Rails ) — средний уровень. (логика приложения), а база данных — третий уровень (хранилище). [6] Веб-браузер отправляет запросы на средний уровень, который обслуживает их, отправляя запросы и обновления в базу данных, а также генерирует пользовательский интерфейс.
Для более сложных приложений трехуровневое решение может оказаться неэффективным, и может быть полезно использовать многоуровневый подход, при котором наибольшее преимущество заключается в разбиении бизнес-логики, которая находится на уровне приложения, на более детальную. модель. [6] Еще одним преимуществом может быть добавление уровня интеграции, который отделяет уровень данных от остальных уровней, предоставляя простой в использовании интерфейс для доступа к данным. [6] Например, доступ к данным клиента можно получить, вызвав функцию list_clients() вместо выполнения SQL- запроса непосредственно к таблице клиента в базе данных. Это позволяет заменить базовую базу данных без каких-либо изменений на других уровнях. [6]
Некоторые рассматривают веб-приложение как двухуровневую архитектуру. Это может быть «умный» клиент, который выполняет всю работу и запрашивает «тупой» сервер, или «тупой» клиент, который полагается на «умный» сервер. [6] Клиент будет обрабатывать уровень представления, сервер будет иметь базу данных (уровень хранения), а бизнес-логика (уровень приложения) будет находиться на одном из них или на обоих. [6] Хотя это увеличивает масштабируемость приложений и разделяет отображение и базу данных, это по-прежнему не позволяет обеспечить настоящую специализацию уровней, поэтому большинство приложений перерастут эту модель. [6]
Безопасность
Этот раздел нуждается в дополнительных цитатах для проверки . ( февраль 2018 г. ) |
Нарушения безопасности в такого рода приложениях являются серьезной проблемой, поскольку они могут затрагивать как корпоративную информацию, так и данные частных клиентов. Защита этих ресурсов является важной частью любого веб-приложения, и здесь Вот некоторые ключевые области деятельности, которые необходимо включить в процесс разработки. [7] Сюда входят процессы аутентификации, авторизации, обработки активов, ввода, регистрации и аудита. Встраивание безопасности в приложения с самого начала может быть более эффективным и менее разрушительным в долгосрочной перспективе.
Разработка
Написание веб-приложений упрощается при использовании фреймворков веб-приложений . Эти платформы облегчают быструю разработку приложений , позволяя команде разработчиков сосредоточиться на тех частях приложения, которые уникальны для их целей, без необходимости решать общие проблемы разработки, такие как управление пользователями. [8] Многие из используемых фреймворков представляют собой программное обеспечение с открытым исходным кодом .
Кроме того, существует потенциал для разработки приложений на операционных системах Интернета , хотя в настоящее время существует не так много жизнеспособных платформ, соответствующих этой модели. [ нужна ссылка ]
См. также
- D3.js
- Программное обеспечение как услуга (SaaS)
- Платформа мобильной разработки
- Веб 2.0
- Веб-инжиниринг
- Веб-ГИС
- Веб-сервисы
- Веб-науки
- Веб-виджеты
Ссылки
- ^ «Что такое веб-приложение?» . stackpath.com . Путь стека. Архивировано из оригинала 15 августа 2022 г. Проверено 15 августа 2022 г.
Веб-приложение — это компьютерная программа, которая использует веб-браузеры и веб-технологии для выполнения задач через Интернет.
- ^ Лиам Тунг (15 июня 2020 г.). «Создатель JavaScript Эйх: Мой взгляд на лучший в мире язык программирования за 20 лет» . ЗДНет . Архивировано из оригинала 26 сентября 2023 г. Проверено 18 октября 2021 г.
- ^ Дэвидсон, Джеймс Дункан; Трус, Дэнни (17 декабря 1999 г.). Спецификация сервлетов Java («Спецификация») Версия: 2.2 Окончательный выпуск . Сан Микросистемс . стр. 43–46. Архивировано из оригинала 7 января 2010 г. Проверено 27 июля 2008 г.
- ^ Джей Хоффманн (04 марта 2019 г.). «Что вообще означает AJAX?» . Архивировано из оригинала 18 октября 2021 г. Проверено 18 октября 2021 г.
- ^ Рассел, Алекс. «Прогрессивные веб-приложения: выход из вкладок без потери души» . Архивировано из оригинала 24 марта 2021 года . Проверено 15 июня 2015 г.
- ^ Jump up to: Перейти обратно: а б с д и ж г час я Петерсен, Джереми (4 сентября 2008 г.). «Преимущества использования многоуровневого подхода для веб-приложений» . Архивировано из оригинала 1 декабря 2017 года . Проверено 24 ноября 2017 г.
- ^ «Основные советы по безопасной разработке приложений» . Dell.com. Архивировано из оригинала 22 мая 2012 г. Проверено 22 июня 2012 г.
- ^ Несколько (вики). «Среда веб-приложения» . Докфорж . Архивировано из оригинала 20 июня 2020 г. Проверено 6 марта 2010 г.
Внешние ссылки
- HTML5 Черновой вариант рекомендаций , изменения в HTML и связанных API для упрощения разработки веб-приложений.
- Рабочая группа по веб-приложениям Консорциума World Wide Web (W3C)
- PWA на Web.dev от разработчиков Google .