Фреймворки
Фреймворки (frameworks)
Фреймворк (англицизм, неологизм от framework — остов, каркас, рама, структура) — программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.
Употребляется также слово «каркас», а некоторые авторы используют его в качестве основного, в том числе не базируясь вообще на англоязычном аналоге. Можно также говорить о каркасном подходе как о подходе к построению программ, где любая конфигурация программы строится из двух частей:
- Постоянная часть — каркас, не меняющийся от конфигурации к конфигурации и несущий в себе места, в которых размещается вторая, переменная часть;
- Сменные модули (или точки расширения).
Отличие фреймворка от библиотеки
Фреймворк отличается от понятия библиотеки тем, что библиотека может быть использована в программном продукте просто как набор подпрограмм близкой функциональности, не влияя на архитектуру программного продукта и не накладывая на неё никаких ограничений. В то время как фреймворк диктует правила построения архитектуры приложения, задавая на начальном этапе разработки поведение по умолчанию — «каркас», который нужно будет расширять и изменять согласно указанным требованиям. Пример программного фреймворка — C.M.F. (Content Management Framework), а пример библиотеки — модуль электронной почты.
Также, в отличие от библиотеки, которая объединяет в себе набор близкой функциональности, — «фреймворк» может содержать в себе большое число разных по тематике библиотек.
Ключевым отличием «фреймворка» от библиотеки является инверсия управления: пользовательский код вызывает функции библиотеки (или классы) и получает обратно управление после вызова. Во «фреймворке» пользовательский код может реализовывать конкретное поведение, встраиваемое в более общий — «абстрактный» код фреймворка. При этом «фреймворк» вызывает функции (классы) пользовательского кода.
- «Видеообзор: Какой фреймворк лучше выбрать»
- Фреймворки:
- Информация о материале
- Родительская категория: Laravel
- Категория: Пакеты Laravel
- Информация о материале
- Родительская категория: Полное руководство по Yii 2.0
- Категория: Первое знакомство
- Информация о материале
- Родительская категория: Полное руководство по Yii 2.0
- Категория: Структура приложения
- Информация о материале
- Родительская категория: Основные понятия (Core Concepts)
- Категория: Плагины в Filament (Plugins)
- Информация о материале
- Родительская категория: Основные понятия (Core Concepts)
- Категория: Плагины в Filament (Plugins)
- Информация о материале
- Родительская категория: Полное руководство по Yii 2.0
- Категория: Первое знакомство
- Информация о материале
- Родительская категория: Конструктор форм (Form Builder)
- Категория: Поля конструктора форм Filament
- Информация о материале
- Родительская категория: Конструктор форм (Form Builder)
- Категория: Поля конструктора форм Filament