Доклад с PUG#3 https://www.facebook.com/events/1538781333037191/
Поговорим о:
- Микрофреймворках и их отличиях от фреймворков.
- Тенденциях развития микро- и макрофреймворков.
-Областях их применения.
На второе в качестве примера рассмотрим Silex, а на десерт расскажем несколько историй из жизни, одна лучше другой.
3. Фреймворки и микрофреймворки
Фреймворк (англ. framework — каркас, структура) — структура
программной системы; программное обеспечение,
облегчающее разработку и объединение разных компонентов
большого программного проекта.
Микрофреймворк – см. выше, только меньше.
4. Микрофреймворк
Из чего состоит?
• Базовый роутинг
• Основной иструментарий – самое необходимое
• Обработчики запросов и ошибок
Может также содержать базовую модель и базовый контроллер,
если микрофреймворк все-таки следует концепции MVC
5. А зачем?
Простые REST и RPC API
Надстройки над командной строкой
Прототипирование больших систем
Системы maintenance серверов и служб
Мэйлеры
Прокси-серверы и промежуточные компоненты приложений
Сайты-визитки
Самые обычные CRUD-системы
...и многое другое
8. Silex
Автор – Фабьен Потенсье, он же автор Symfony
Легко интегрируется с компонентами Symfony
Предельно простая архитектура
Доступная и понятная документация
Управляется через composer (или через PHAR для особых
ценителей)
Поставляется в двух сборках: fat и slim
Легкий exception handling
11. Плюсы и минусы
Плюсы:
Легкость в освоении и разработке
Расширяемость
KISS и ничего лишнего
Некоторые MF дают существенный прирост производительности
Минусы:
Небогатый инструментарий
Не подходят для крупных энтерпрайз-систем
12. Расширяемость
Большинство микрофреймворков удовлетворяют
современным требованиям к платформам
разработки (поддержка Composer, покрытие тестами
и пр.)
Большинство микрофреймворков развиваются в ногу
со временем
Большая часть компонентов может быть заменена,
добавлена или удалена
Несмотря на обилие фреймворков и их активное использование в разработке часто бывают случаи когда просто необходимо иметь что-то lightweight, но одновременно scalable и со всеми основными возможностями фреймворков.