Что такое фреймворк? Какие фреймворки самые популярные?

Какие фреймворки бывают? В чем преимущества использования фреймворков? В чем разница фреймворков от библиотек?
Фото Что такое фреймворк? Какие фреймворки самые популярные?
Depositphotos
Facebook
ВКонтакте
share_fav

Фреймворк - база программной платформы, каркас, на котором удобно строить решение конкретной задачи. Слово - производное от английских 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 соединений". Успешно справляется со множеством одновременных подключений, прост в освоении и настройке.

#фреймворк
#кодинг
#програмирование