Веб-фреймворк (англ. 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].
Примечания
Литература
- 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.
Ссылки
|
---|
Основные фреймворки | |
---|
Специальные браузеры | |
---|