Что такое фреймворк. Объясняем простыми словами
Проще говоря, фреймворк — это промежуточный вариант по гибкости и сложности между написанием кода с нуля и использованием CMS. Если написание кода с нуля — это рисование любыми инструментами на чистом листе бумаги, а использование CMS — раскраска, то использование framework — это рисование в блокноте в клеточку. С одной стороны, вы всё ещё можете нарисовать что угодно и как угодно. С другой, уже есть направляющие линии и границы блокнота, так что рисовать проще.
Фреймворки «берут на себя» тысячи нюансов, например работу с файловой системой и базами данных, обработку ошибок, защиту программы.
Пример употребления на «Секрете»
«От тестовых заданий мы решили отказаться, собеседование тоже стараемся сократить, сейчас оно длится полчаса, максимум час. Начинаем с технических вопросов из серии "как это работает" — например, спрашиваем про Java или фреймворки. Можем задать вопрос вроде: "Почему именно JavaScript?" Нам важно выяснить, насколько человек заинтересован».
(Сооснователь студии Finch Дмитрий Щипачев — о том, как искать разработчиков.)
Ошибки в употреблении
Пользователи путают фреймворки и библиотеки, ведь их функции во многом похожи. Если фреймворк — приложение для создания сайтов или приложений, то библиотека — это готовый компонент для решения более мелких задач внутри проекта. Например, есть библиотеки для обработки файлов и вывода картинки на экран.
Нюансы
У использования фреймворков есть ряд плюсов. Во-первых, с точки зрения бизнеса разработка на фреймворке экономически эффективнее и качественнее по результату, нежели написание проекта без использования каких-либо платформ.
Во-вторых, приложения на фреймворках значительно проще сопровождать и дорабатывать. Дело в том, что их стандартизированная структура понятна всем разработчикам на этой платформе.
Фреймворки эффективны в проектах со сложной бизнес-логикой и высокими требованиями к скорости работы, надёжности и безопасности. В простых, типовых проектах лучше использовать другие решения.
Существенный минус фреймворков — открытый код большинства из них. Это значит, что нужно отдельно решать вопросы безопасности проекта.
Фреймворки дают стабильность и удобство разработки, но ограничивают программистов своей архитектурой.
Факт
В IT-отрасли фреймворки часто используют в том числе для формирования индивидуальных метрик.
Например, фреймворк HEART (Happiness — «счастье», Engagement — «вовлечённость», Adoption — «принятие», Retention — «удержание» и Task Success — «успех ключевых задач»), который создали в Google для изучения опыта пользователя.
Или PULSE (Page views — «просмотры страниц», Uptime — «время устойчивой работы», Latency — «задержки», Seven-day active users — «активные пользователи за неделю» и Earnings — «заработок»), который создали для оценки показателей производительности и работы продукта.
Статью проверил:
Иван Ястребков, руководитель проектов «Сберсервис»