В этой статье мы рассмотрим понятия библиотеки и фреймворка в программировании, а также рассмотрим их примеры.
1. Framework
Фреймворк — заготовки, шаблоны для программной платформы, определяющие архитектуру программной системы; программное обеспечение, облегчающее разработку и объединение разных модулей программного проекта.
Это такая структура, включающая в себя библиотеки кода, различное программное обеспечение, которые облегчают жизнь разработчика и способствуют объединению разных составляющих большого программного проекта. Фреймворк содержит базовые программные модули. Все специфичные компоненты реализуются разработчиком на их основе.
Фреймворк, будучи «каркасом» для создания и сопровождения программного проекта, облегчает задачу разработчика.
Используя фреймворки не нужно писать с нуля десятки, а то и сотни тысяч строк, тем самым достигается большая производительность.
Плюсы фреймворков
- Разработка на фреймворке позволяет добиться простоты сопровождаемости проекта.
- Проекты легко масштабируются и модернизируются.
- Решения на фреймворках работают гораздо быстрее.
- Решения на фреймворках превосходят самописные системы по безопасности.
Минусы фреймворков
- Многие функции реализовываются индивидуально, т.к. фреймворки содержат только базовые компоненты бизнес-логики.
- Требуется понимание бизнес-процессов.
Примеры фреймворков:
Bootstrap — создание сайтов с адаптивной вёрсткой. Можно рисовать красивые кнопки, верстать текст во много колонок, включать-выключать блоки в зависимости от ширины экрана, делать выпадающие меню и многое другое.
Vue.js — обеспечивает единообразие компонентов и модульный подход к разработке. Можно создавать собственные строительные блоки для страницы, делать шаблоны.
Angular.JS — JavaScript фреймворк от Google для динамических веб-приложений, похож на Vue.
django — фреймворк для Python, нацеленный на скорость: готовые компоненты для баз данных, рисования страниц, админок, окон входа на сайт, шаблонов и множества других вещей.
2. Библиотеки
Библиотека в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО). Можно сказать и так: это набор классов, компонентов или модулей для разных задач.
Библиотеки представляют собой уже написанные кем-то переносимые наборы проверенного кода. Это готовые решения, которые программисты могут присоединять к своим программам, вставлять их в свой код по специальным алгоритмам, причем в разных проектах.
Библиотеки для программирования бывают встроенными и дополнительными. У каждого языка есть свои библиотеки.
Примеры библиотек:
TensorFlow для Python, которая погружает вас в мир искусственно го интеллекта.
WebKit — популярнейшая библиотека для работы с веб-страницами.
Scribe Java — про стая библиотека для авторизации пользователей.