Jump to content

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

Страница полузащищена
(Перенаправлено с веб-приложения )

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

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

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

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

Разработка

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

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

См. также

Ссылки

  1. ^ «Что такое веб-приложение?» . stackpath.com . Путь стека. Архивировано из оригинала 15 августа 2022 г. Проверено 15 августа 2022 г. Веб-приложение — это компьютерная программа, которая использует веб-браузеры и веб-технологии для выполнения задач через Интернет.
  2. ^ Лиам Тунг (15 июня 2020 г.). «Создатель JavaScript Эйх: Мой взгляд на лучший в мире язык программирования за 20 лет» . ЗДНет . Архивировано из оригинала 26 сентября 2023 г. Проверено 18 октября 2021 г.
  3. ^ Дэвидсон, Джеймс Дункан; Трус, Дэнни (17 декабря 1999 г.). Спецификация сервлетов Java («Спецификация») Версия: 2.2 Окончательный выпуск . Сан Микросистемс . стр. 43–46. Архивировано из оригинала 7 января 2010 г. Проверено 27 июля 2008 г.
  4. ^ Джей Хоффманн (04 марта 2019 г.). «Что вообще означает AJAX?» . Архивировано из оригинала 18 октября 2021 г. Проверено 18 октября 2021 г.
  5. ^ Рассел, Алекс. «Прогрессивные веб-приложения: выход из вкладок без потери души» . Архивировано из оригинала 24 марта 2021 года . Проверено 15 июня 2015 г.
  6. ^ Перейти обратно: а б с д и ж г час я Петерсен, Джереми (4 сентября 2008 г.). «Преимущества использования многоуровневого подхода для веб-приложений» . Архивировано из оригинала 1 декабря 2017 года . Проверено 24 ноября 2017 г.
  7. ^ «Основные советы по безопасной разработке приложений» . Dell.com. Архивировано из оригинала 22 мая 2012 г. Проверено 22 июня 2012 г.
  8. ^ Несколько (вики). «Среда веб-приложения» . Докфорж . Архивировано из оригинала 20 июня 2020 г. Проверено 6 марта 2010 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9ab1418085770666a03c518b1ea4a21f__1722385680
URL1:https://arc.ask3.ru/arc/aa/9a/1f/9ab1418085770666a03c518b1ea4a21f.html
Заголовок, (Title) документа по адресу, URL1:
Web application - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)