Сложность и объем фреймворка определяются решаемыми задачами. Например, низкоуровневый фреймворк на С, который инкапсулирует работу с сокетами, файлами и потоками, может состоять из 3–4 файлов по 5–10 Кб. Веб-фреймворк на PHP, который решает различные задачи — от доступа к базе данных до автоматической генерации AJAX интерфейсов, может состоять из двух тысяч файлов общим размером до 20–30 Мб.
От фреймворка зависит программный интерфейс (API), а также архитектура построенного с его помощью будущего приложения. Поэтому разработчик должен не только знать библиотеки, но и понимать основные паттерны проектирования.
Многие из решений, помимо самих библиотек, включают дополнительные утилиты для создания каркаса исходного кода, выполнения комплексного и функционального тестирования, миграций данных.
Примеры фреймворков
Наиболее известны фреймворки, которые генерируют каркас приложения и определяют его логику:
- Zend framework для PHP,
- Ruby on Rails для Ruby,
- Django для Python,
- ASP.Net для языков .Net,
- Spring для Java и др.
Эти фреймворки популярны благодаря тому, что имеют практически все необходимое для работы, а значит, использование дополнительных библиотек для реализации отдельных компонентов приложения не потребуется. Например, разработчику, используя RoR, напрямую работать с SQL не придется.
Для декстопных программ существуют фреймворки, построенные на той же основе или реализующие аналогичный функционал, к примеру, .Net от Microsoft.
Все термины SEO-Википедии