Веб-фреймворк

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Веб-фреймворк (англ. 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].

Примечания

[править | править код]
  1. Multiple (wiki). Web application framework (англ.). Docforge. Дата обращения: 19 января 2010. Архивировано из оригинала 16 октября 2018 года.
  2. What is Flex (англ.). Дата обращения: 17 января 2015. Архивировано 16 января 2015 года.

Литература

[править | править код]
  • Samisa Abeysinghe. Ch 3. Dealing with Complexity → Frameworks to simplify complexity // PHP Team Development. — Packt[англ.], 2009. — P. 58-68. — 183 p. — ISBN 978-1-847195-06-7.
  • Денис Баженов. Каркасы, каркасы, каркасы… // PHP Inside. — phpclub.ru, 2005. — № 11. — С. 5-10.
  • Йен Маурер. Среды Web-разработки на языке Python, Часть 1: Разработка для Web с помощью Django и Python = Python Web frameworks, Part 1: Develop for the Web with Django and Python. — IBM developerWorks., Часть 2. Разработка для Web с помощью TurboGears и Python = Part 2: Web development with TurboGears and Python. — IBM developerWorks.
  • Julia Plekhanova. Evaluating web development frameworks: Django, Ruby on Rails and CakePHP (англ.) // The IBIT Report. — Temple University, Сентябрь 2009.
  • Martin Björemo, Predrag Trninić. Evaluation of web application frameworks with regards to rapid development (англ.). — Июнь 2010.