Фреймворк

Содержание:

Что такое фреймворк

Фреймворк (от англ. framework – каркас, основа) – набор готовых модулей и библиотек, который упрощает создание сайта. За счёт автоматизации процессов фреймворк упрощает и ускоряет рутинные операции по созданию структуры сайта, он связывает отдельные его части между собой и делает сайт единым целым. В зависимости от поставленных задач можно использовать простой и сложный фреймворк.

Сторонние библиотеки из Интернета используются для загрузки и обработки форм, для валидации, работы с базами данных, сохранения информации и других действий, необходимых для создания полноценного сайта. Чтобы задействованные в создании сайта библиотеки можно было копировать и сохранять в папки, перемещать их из проекта в проект, как раз и нужен фреймворк. Он предполагает использование встроенных модулей для логирования, создания форм, работы с базами данных и др. Объединение разных элементов осуществляется за счёт работы с единым интерфейсом программирования приложений API.

Фреймворки и MVC

Фреймворки используют модель проектирования MVC (model view controller). Она представляет собой повторяемый набор компонентов или кодов, направленных на решение проблем проектирования. Модель MVC считается основной и широко используется для программирования приложений.

Для удобства MVC делится на три части

Первая часть – model (организует бизнес процессы).
Вторая часть – controller (подсказывает приложению, что нужно делать с данными).
Третья часть – view (помогает создавать HTML-страницы).

Фреймворки выносят отношения модель-контроллер-вид из кода и размещают их в файлах конфигурации (чаще всего в файлах XML). Недостатком подобного конфигурирования являются часто возникающие ошибки, которые сложно обнаружить с помощью компилятора или IDE. Они проявляются только при выполнении кода.

Примеры фреймворков

Для языка программирования PHP создано множество различных фреймворков, среди которых CakePHP, Codelgniter, Symfony, Zend Framework и др. Для языка программирования Java существует не меньше фреймворков – это Spring Framework, JBoss Seam, Apache Wicket, Apache Struts, Apache Click и др. Есть фреймворки и для языка Ruby, и для всех остальных языков программирования.

Отличие фреймворк от библиотеки

Библиотека используется в продуктах программирования как набор подпрограмм сходной функциональности, она не накладывает на продукт ограничений и не влияет на его архитектуру. Фреймворк определяет поведение программного продукта ещё на этапе разработки. Например, в Content Management Framework библиотекой считается модуль электронной почты. Ещё одно характерное отличие – инверсное управление, при котором пользовательский код реализует конкретное поведение, встраиваемое в абстрактный код.

Главная цель фреймворков – упрощение работы. Вокруг них создаются сообщества, пишутся руководства и книги. Между тем, использование framework – сложная задача: прежде, чем брать их на вооружение, нужно тщательно изучить. Только в этом случае фреймворки можно использовать с максимальной эффективностью. Подробную информацию о фреймворках можно получить на специализированных ресурсах.