Веб-фреймворк (англ. web framework), фреймворк веб-приложений (англ. web application framework, WAF) или каркас веб-приложений — фреймворк, предназначенный для создания динамических веб-сайтов, сетевых приложений, сервисов или ресурсов. Он упрощает разработку и избавляет от необходимости написания рутинного кода. Многие фреймворки упрощают доступ к базам данных, разработку интерфейса, и также уменьшают дублирование кода[1].

Существуют специализированные типы веб-фреймворков, например, фреймворки для создания систем управления содержимым.

Архитектурные решения

Большая часть фреймворков веб-приложений реализует шаблон проектирования Model-View-Controller (MVC). Однако, также могут использоваться и другие шаблоны, например, Model-View-Presenter (Backbone.js) или Model-View-ViewModel (Knockout.js).

Веб-фреймворки можно также по уровню абстракции условно разделить на 3 типа:

  • Основанные на запросах: фреймворк непосредственно обрабатывает входящие запросы. Сохранение состояния происходит за счёт серверных сессий. Примеры: Django, Ruby on Rails, Struts, Grails.
  • Основанные на компонентах: фреймворк абстрагирует обработку запросов внутри стандартных компонентов и самостоятельно следит за состоянием. Своим поведением данные фреймворки напоминают стандартные программные графические интерфейсы. Примеры: JavaServer Faces, Tapestry, Wicket.
  • Rich Internet Application-фреймворк: служат для разработки полноценных приложений, запускаемых внутри браузера. Пример: Apache Flex[2].

Примечания

Литература

Ссылки

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.