Что такое framework и библиотека в программировании

что такое framework, что такое библиотека, разница между framework и библиотека

Навигация:

Введение

Статья написана программистами для самых обычных людей. Возможно, некоторые вещи будут упущены для четких разграничений терминов и лучшего усвоения материала.

Начнем с простого…

Что такое Библиотека

Библиотека — это набор функций или даже всего одна функция, которая помогает программисту решить поставленную задачу за короткое время и может быть легко интегрирована в любую программу.

Давайте учиться на примерах….

Допустим, у нас стоит цель написать функцию, которая будет получать данные с другого сайта и что-то с ними делать. Наша цель написать отказоустойчивую функцию, которая в случае сбоев на сервере (при долгом ожидании) не развалит наше приложение.

Реализация примерно подобного функционала с помощью классических методов языка программирования JavaScript обойдется нам в 30-40 строк кода:

пример кода без библиотек

А если мы воспользуемся готовой библиотекой, которая уже соответствует нашим требованиям (да и многим другим), наш код будет выглядеть как-то так:

пример библиотеки

Как видите, наш код сократился в 3 раза (потому что мы подключили чужой код через import, который выполняет нашу задачу). В работе программиста очень часто приходится набирать какой-то текст или код в огромном количестве, поэтому использовать 3-4 библиотеки в одном проекте, чтобы освободить время и заняться другими задачами, это нормально.

Использование библиотек это не признак лени. Просто при разработке приложения перед программистом стоит масса задач: сделать интерфейс, разработать серверную часть, разработать модули для взаимодействия интерфейса и сервера и.т.д. Поэтому сокращать написание кода можно и нужно библиотеками, иначе разработка будет идти не 1 месяц, а 2, и интернет-магазин будет стоит не 100.000 рублей, а 300.000 рублей.

Что такое Framework

Framework — это инструмент для быстрой разработки, предлагающий готовую архитектуру, и внутри которого могут быть объединены несколько библиотек.

Архитектура — довольно непонятный термин в данном контексте, да? В нашем случае в этом слове кроется примерно такой смысл: набор готовой логики и алгоритмов. Программисту нужно писать только бизнес-логику. А бизнес-логика — это какие-то конкретные участки программы присущие конкретному бизнесу/программе.

Давайте учиться на примерах….

Есть задача разработать реактивный сайт (если не знаете что это, читайте по ссылке нашу статью), который будет легко масштабироваться и обслуживаться.

Естественно, программировать в “реактивном” стиле очень и очень сложно. Многие программисты за всю жизнь не смогут реализовать самостоятельно сложную и масштабируемую архитектуру с помощью реактивной парадигмы программирования (ссылка на википедию). Поэтому есть смысл использовать готовый framework, вместо того чтобы голову сложить во время обучения данной премудрости.

Поэтому, программист берёт готовую логику (архитектуру) и на ее основе разрабатывает приложение. Программист пишет только бизнес-логику: калькуляцию каких-то данных, запросы на сервер и т.д.

Бизнес логика — это такой код, который присущ конкретному бизнесу (для которого создается сайт). Т.е этот код невозможно перенести из проекта в проект.

Чем отличаются друг от друга Framework и Библиотека

Давайте подведем итог.

Библиотека — это набор кода, который решает какую-либо задачу. Библиотеки можно переносить из проекта в проект (как плагины), и они будут отлично работать в других проектах. Когда мы запускаем наш код, он вызывает библиотеки. Т.е библиотека это некое дополнение к нашему коду.

Framework — это некий инструмент, для быстрой разработки чего либо, который в себе содержит (а может и не содержать) набор библиотек и какую-то логику с алгоритмами. Фреймворк принуждает разработчика работать в определенном стиле, подчиняясь конкретной логике. Когда мы запускаем программу написанную на каком-либо фреймворке, мы, в первую очередь, запускаем сам фреймворк, который вызывает наш код (бизнес-логику). Т.е наш код это некое дополнение к фреймворку.

Рассказать друзьям: