stringtranslate.com

веб приложение

Снимок экрана Horde , программного обеспечения для групповой работы и веб-приложения с открытым исходным кодом, сделанный в 2007 году.

Веб -приложение (или веб-приложение ) — это прикладное программное обеспечение , доступ к которому осуществляется с помощью веб-браузера . Веб-приложения доставляются через Всемирную паутину пользователям с активным сетевым подключением. [1]

История

В более ранних моделях вычислений, таких как клиент-сервер, нагрузка по обработке приложения распределялась между кодом на сервере и кодом, установленным на каждом клиенте локально. Другими словами, приложение имело собственную предварительно скомпилированную клиентскую программу, которая служила его пользовательским интерфейсом и должна была быть установлена ​​отдельно на персональный компьютер каждого пользователя . Обновление серверного кода приложения обычно также требует обновления клиентского кода, установленного на каждой пользовательской рабочей станции, что увеличивает стоимость поддержки и снижает производительность . Кроме того, как клиентские, так и серверные компоненты приложения обычно были тесно привязаны к конкретной компьютерной архитектуре и операционной системе , и их перенос на другие часто был непомерно дорогим для всех приложений, кроме самых крупных (В настоящее время [ когда? ] нативные приложения для мобильных устройств устройствам также мешают некоторые или все вышеперечисленные проблемы). [ сомнительно ]

В 1995 году Netscape представила язык сценариев на стороне клиента под названием JavaScript , позволяющий программистам добавлять некоторые динамические элементы в пользовательский интерфейс, работающий на стороне клиента. Таким образом, вместо отправки данных на сервер для создания всей веб-страницы встроенные сценарии загруженной страницы могут выполнять различные задачи, такие как проверка ввода или отображение/скрытие частей страницы. [2]

В 1999 году концепция «веб-приложения» была введена в языке Java в спецификации сервлетов версии 2.2. [2.1?]. [3] [ нужен неосновной источник ] В то время и JavaScript, и XML уже были разработаны, но Ajax еще не был придуман, а объект XMLHttpRequest только недавно был представлен в Internet Explorer 5 как объект ActiveX . [ нужна цитата ]

Такие приложения, как Gmail, начали делать свою клиентскую часть все более интерактивной с начала 2000-х годов. Сценарий веб-страницы может связываться с сервером для хранения/извлечения данных без загрузки всей веб-страницы. Эта практика стала известна как Ajax в 2005 году. [4]

« Прогрессивные веб-приложения », термин, придуманный дизайнером Фрэнсис Берриман и инженером Google Chrome Алексом Расселом в 2015 году, [5] относится к приложениям, использующим преимущества новых функций, поддерживаемых современными браузерами, которые первоначально запускаются на вкладке веб-браузера, но позже могут запускаться. полностью автономен и может быть запущен без ввода URL-адреса приложения в браузере.

Состав

Традиционные приложения для ПК обычно являются одноуровневыми и размещаются исключительно на клиентском компьютере. Напротив, веб-приложения по своей сути облегчают многоуровневую архитектуру. [6] Хотя возможны многие варианты, наиболее распространенной структурой является трехуровневое приложение. [6] В наиболее распространенной форме эти три уровня называются представлением , приложением и хранилищем . Веб-браузер — это первый уровень (презентация), движок, использующий некоторые технологии динамического веб-контента (например, ASP , CGI , ColdFusion , Dart , JSP/Java , Node.js , PHP , Python или Ruby on Rails ) — средний уровень. (логика приложения), а база данных — третий уровень (хранилище). [6] Веб-браузер отправляет запросы на средний уровень, который обслуживает их, отправляя запросы и обновляя базу данных, а также генерирует пользовательский интерфейс.

Для более сложных приложений трехуровневое решение может оказаться неэффективным, и может быть полезно использовать n-уровневый подход, при котором наибольшее преимущество заключается в разбиении бизнес-логики, которая находится на уровне приложения, на более детальную. модель. [6] Еще одним преимуществом может быть добавление уровня интеграции, который отделяет уровень данных от остальных уровней, предоставляя простой в использовании интерфейс для доступа к данным. [6] Например, доступ к данным клиента можно получить, вызвав функцию «list_clients()» вместо выполнения SQL- запроса непосредственно к таблице клиентов в базе данных. Это позволяет заменить базовую базу данных без каких-либо изменений на других уровнях. [6]

Некоторые рассматривают веб-приложение как двухуровневую архитектуру. Это может быть «умный» клиент, который выполняет всю работу и запрашивает «тупой» сервер, или «тупой» клиент, который полагается на «умный» сервер. [6] Клиент будет обрабатывать уровень представления, сервер будет иметь базу данных (уровень хранения), а бизнес-логика (уровень приложения) будет находиться на одном из них или на обоих. [6] Хотя это увеличивает масштабируемость приложений и разделяет отображение и базу данных, это все равно не позволяет обеспечить настоящую специализацию слоев, поэтому большинство приложений перерастут эту модель. [6]

Безопасность

Нарушения безопасности в такого рода приложениях являются серьезной проблемой, поскольку они могут затрагивать как корпоративную информацию, так и данные частных клиентов. Защита этих активов — важная часть любого веб-приложения, и есть несколько ключевых областей работы, которые необходимо включить в процесс разработки. [7] Сюда входят процессы аутентификации, авторизации, обработки активов, ввода, регистрации и аудита. Встраивание безопасности в приложения с самого начала может быть более эффективным и менее разрушительным в долгосрочной перспективе.

Разработка

Написание веб-приложений упрощается с использованием фреймворков веб-приложений . Эти платформы облегчают быструю разработку приложений , позволяя команде разработчиков сосредоточиться на тех частях приложения, которые уникальны для их целей, без необходимости решать общие проблемы разработки, такие как управление пользователями. [8] Многие из используемых фреймворков представляют собой программное обеспечение с открытым исходным кодом .

Кроме того, существует потенциал для разработки приложений на операционных системах Интернета , хотя в настоящее время существует не так много жизнеспособных платформ, соответствующих этой модели. [ нужна цитата ]

Смотрите также

Рекомендации

  1. ^ «Что такое веб-приложение?». stackpath.com . Путь стека . Проверено 15 августа 2022 г. Веб-приложение — это компьютерная программа, которая использует веб-браузеры и веб-технологии для выполнения задач через Интернет.
  2. ^ Лиам Тунг (15 июня 2020 г.). «Создатель JavaScript Эйх: Мой взгляд на лучший в мире язык программирования за 20 лет». ЗДНет .
  3. ^ Дэвидсон, Джеймс Дункан; Трус, Дэнни (17 декабря 1999 г.). Спецификация сервлетов Java («Спецификация») Версия: 2.2 Финальный выпуск. Сан Микросистемс . стр. 43–46 . Проверено 27 июля 2008 г.
  4. ^ Джей Хоффманн (04 марта 2019 г.). «Что вообще означает AJAX?» . Проверено 18 октября 2021 г.
  5. ^ Рассел, Алекс. «Прогрессивные веб-приложения: выход из вкладок без потери души» . Проверено 15 июня 2015 г.
  6. ^ abcdefghi Петерсен, Джереми (4 сентября 2008 г.). «Преимущества использования многоуровневого подхода для веб-приложений».
  7. ^ «Главные советы по безопасной разработке приложений» . Dell.com. Архивировано из оригинала 22 мая 2012 г. Проверено 22 июня 2012 г.
  8. ^ Несколько (вики). «Среда веб-приложения». Докфорж . Архивировано из оригинала 20 июня 2020 г. Проверено 06 марта 2010 г.

Внешние ссылки