В чем разница между фреймворком и библиотекой?

В чем разница между фреймворком и библиотекой?

В этой статье мы поговорим о том что такое фреймворк и что такое библиотека, узнаем в чем между ними разница? Также мы рассмотрим их связь и способы коммуникации в программе.

Фреймворк или библиотека? Эти два совершенно разных инструмента иногда сбивают с толку начинающих Java разработчиков, поэтому начнем с простой схемы.

Видео-версия статьи:

Разница между библиотекой и фреймворком

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

При использовании фреймворка происходит инверсия управления: фреймворк управляет тем, когда следует вызвать тот или иной пользовательский метод. По сути фреймворк определяет архитектуру разрабатываемого приложения, расширяя ее функционалом, описанным программистом. Даже само название «фреймворк — от англ. framework (каркас)» говорит о своем предназначении быть основой, базой, архитектурой приложения. На базовом уровне взаимодействие библиотеки и фреймворка в программе выглядит следующим образом:

Framework or library in java

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

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

Взаимодействие библиотеки и фреймворка

  • В каждом из этих компонентов определен API, с помощью которого программист может интегрировать их в свое приложение.
  • Фреймворк предоставляет интерфейс взаимодействия, а библиотека — функциональные возможности.
  • Типичный процесс разработки обычно начинается с определения каркаса и механизмов взаимодействия, а затем наполняется пользовательскими функции и функциями, определенными в подключаемых через API библиотеках.

Следите за новыми статьями по Java и Android!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *