Новые слова появляются каждый день, и сейчас умение ими пользоваться — настоящий must know. Слово «фреймворк» уже вышло за пределы исключительно IT-сферы, теперь умение работать с этим термином нужно и HR-специалистам, и предпринимателям, и тем, кто хочет связать свою деятельность с созданием цифровых решений. Рассказываем, что же это такое.

Что такое фреймворк?

Фреймворк (framework) — это цифровой инструмент, который представляет собой заготовку модели, которая облегчает разработку конечного программного продукта. Он работает как каркас, создавая архитектуру будущего приложения или сайта, а внутри фреймов (рамок) могут находиться библиотеки — близкие по функционалу подпрограммы.

«Я бы выделил два основных преимущества: стандартность архитектуры программного продукта и безопасность. Стандартность накладывает определенные ограничения, но при этом положительно влияет на продукт в целом: повышается читаемость кода, его повторное использование, скорость разработки, а также снижается уровень вхождения для разработчиков. Это выгодно для продуктов небольших и средних масштабов. Следствием стандартности является безопасность продукта, т. к. вопросы защиты приложения решаются системно в рамках внутреннего устройства фреймворка. Делай как предписывают авторы фреймворка, и количество взломов продукта будет значительно снижено (хотя это и не является панацеей, можно всегда успеть выстрелить себе в ногу даже с использованием фреймворка)», — рассказывает Александр Хмелевский, ведущий разработчик компании BestDoctor и наставник Python-факультета Яндекс.Практикума.

Именно благодаря возможности влиять на архитектуру конечного продукта фреймворк облегчает работу IT-команды: программисты могут сконцентрироваться на написании кода для уникальных функций продукта, вместо того чтобы тратить время, создавая с нуля вообще все.

«В данный момент наиболее типичным способом использования фреймворков для меня является построение минимально доступного продукта (MVP, minimum viable product) при проверке гипотез. Что позволяет владельцу продукта сэкономить время и деньги вне зависимости от сферы самого программного продукта. Это достигается за счет доступности разработчиков (если фреймворк популярен и достаточно зрел для боевого использования), а также общедоступности пакетов расширения самого фреймворка. Это базовый каркас, который можно будет дополнить и расширить при росте продукта.

Использование фреймоворков считаю оправданным практически в любом программном продукте. Для себя же я выделяю один сценарий, когда фреймворк может начать приносить боль, — это высоконагруженные системы. Для таких программных систем фреймворки могут стать бутылочным горлышком и принести проблемы как с производительностью, так и с надежностью системы в целом. Но до этого еще нужно будет дорасти, и использование фреймворков на пути роста к высоким нагрузкам считаю оправданным», — комментирует Александр Хмелевский.

Иллюстрация: Visual Generation / Depositphotos.com