Что такое фреймворк? Какие фреймворки самые популярные?
Фреймворк - база программной платформы, каркас, на котором удобно строить решение конкретной задачи. Слово - производное от английских frame и work, "рамка" и "работа". Это неологизм, который носители языка переводят как "остов" или "структура".
Фреймворк определяет архитектуру сайта, приложения или программного продукта. Логика его использования простая: вы выбираете каркас, отталкиваясь от сферы применения и особенностей конечного решения, а после этого заполняете его конкретными модулями и функциями.
Преимущества использования фреймворков
Фреймворки удобны, потому что они обеспечивают высокую скорость и гибкость разработки. Вам не нужно создавать с нуля движок сайта или приложения. Бывает, что вручную практически писать не нужно - только навешивай готовые модули на каркас, настраивай их и интегрируй.
Если у заказчика изменились бизнес-требования, можно добавлять и удалять модули, расширять функциональность.
Легко вводить в команду разработки новых людей. Если они уже работали с фреймворком на одном или на нескольких проектах, то и с решением новых задач на нем легко справятся.
Код проекта на базе фреймворка чище. Его почти не нужно рефакторить, проще отлаживать, расширять и поддерживать.
Недостатки фреймворков
Не все фреймворки одинаково безопасны. Большая часть имеет открытый исходный код, и в нем регулярно находят уязвимости.
При смене фреймворка придется переучиваться. Работать в рамках одного фреймворка в целом можно, но тогда ваши возможности не слишком широки.
Осваивать новый фреймворк чаще всего сложно. И это занимает время.
Чем фреймворк отличается от библиотеки
Библиотека - это набор функций из одной области. Они не влияют на архитектуру сайта или приложения, не ограничивают решение и могут сочетаться с другими библиотеками.
Фреймворк же - это каркас, который определяет архитектуру. Он диктует, как решение будет вести себя по умолчанию. Совмещать два фреймворка в одном продукте - дело неблагодарное.
Внутри фреймворка могут находиться самые разные библиотеки. Их функции могут быть очень далеки друг от друга: к примеру, одна работает с выводом изображений, другая - с приемом оплаты.
Наконец, при использовании фреймворка он сам вызывает классы и функции пользовательского кода. Пользовательский код может реализовывать конкретное поведение, которое встраивается в абстрактный код фреймворка. Управление он получает после вызова.
Здесь же отметим: "фреймворк" не равно "CMS" (системы управления контентом вроде Wordpress, которые часто используют для создания сайтов).
Популярные фреймворки
Большая часть популярных фреймворков предназначена для создания сайтов и веб-приложений. Разделить их на группы проще всего по языкам, которые используются для разработки под конкретный фреймворк.
HTML/CSS
Bootstrap - фреймворк с адаптивной версткой, который позволяет быстро создавать стильные сайты с отзывчивым интерфейсом. Они легко подстраиваются под различные размеры окон на разных гаджетах. Фреймворк появился в 2011 году, и сегодня для него существует множество готовых стилей, шаблонов и др.
Semantic UI - молодой фреймворк для переносимых интерфейсов. Он активно развивается, и в сети несложно найти большое количество готовых кнопок, изображений, иконок, надписей и других элементов.
PHP
Yii - довольно старый фреймворк, но с хорошими возможностями. У него высокая производительность, есть кэширование и полная обработка ошибок, поддерживается использование jQuery и миграция с других баз данных.
Symfony - мощный и стабильный фреймворк,интересный для крупных проектов. Гибко настраивается, включает широкий набор функций, множество полезных компонентов для настройки форм, безопасности и создания шаблонов.
Laravel - один из самых популярных сегодня php-фреймворков: он прост в освоении и идеален для мелких и средних проектов.
Python
Flask - фреймворк со скромным базовым набором функций, но легко расширяемый. Его удобно использовать для небольших или специфичных проектов, а также осваивать начинающим специалистам.
Django - самый популярный Python-фреймворк, простой и функциональный. На старте хватает знаний Python на базовом уровне. Имеет стандартную структуру, поддерживает наследование шаблонов, работает с собственной CMS Django.
Tornado - фреймворк, который эффективно решает "проблему 10 000 соединений". Успешно справляется со множеством одновременных подключений, прост в освоении и настройке.
0 комментариев