Выбор правильного инструмента или технологии для данной проблемы является одним из наиболее важных аспектов программирования. Правильный инструмент - ключ к успеху проекта. Именно здесь большинство программистов терпят неудачу, потому что они обычно имеют дело со многими инструментами. Это относится к последнему вопросу: «Должны ли вы создавать свое приложение с помощью библиотеки или фреймворка?» Это одна из самых дискуссионных тем для обсуждения в сообществе программистов и часто источник путаницы. Небольшая команда с небольшим количеством разработчиков, в основном начинающих, может быть лучше работать со структурой, тогда как библиотеки являются строительными блоками, которые можно использовать где угодно и которые обеспечивают большую гибкость и контроль.
Ключевым отличием библиотеки от фреймворка является «инверсия контроля» (IoC). Можно сказать, что фреймворк - это коллекция библиотек, но сама идея как-то отличается.
Библиотека - это набор многократно используемых функций, используемых компьютерными программами, то есть ресурсы, которые вы можете использовать повторно, которые могут включать классы, подпрограммы, предварительно скомпилированный код, шаблоны сообщений и т. Д. В основном языки программирования имеют свои собственные стандартные библиотеки, но программисты также могут создавать свои собственные пользовательские библиотеки. Это просто кусок кода, написанный другими разработчиками, который можно использовать где угодно. Библиотеки могут быть легко включены в существующие проекты, чтобы добавить функциональность, к которой вы можете получить доступ через API. Вам нужно немного знаний, чтобы начать.
Framework - это кусок кода, который определяет, как проект должен быть структурирован и запущен. Он просто определяет архитектуру вашего проекта, например, определяет параметры проекта приложения, чтобы вы могли сосредоточиться на специфике проекта, делая упор на повторное использование дизайна, а не на повторное использование кода. В отличие от библиотек, элемент управления инвертируется в случае фреймворков, а код никогда не вызывает фреймворк, а фреймворк вызывает вас. В отличие от библиотек, фреймворки делают упор на структуру и стандарты..
В программировании библиотека представляет собой набор многократно используемых функций, то есть ресурсов, которые вы можете использовать повторно, используемых компьютерными программами. Ресурсы, иногда называемые модулями, обычно хранятся в объектном формате. Большинство языков программирования имеют свои стандартные библиотеки, но программисты также могут создавать свои собственные пользовательские библиотеки. Проще говоря, библиотека - это набор функций, которые вы можете вызывать, а фреймворк - это фрагмент кода, который определяет архитектуру вашего проекта. В некотором смысле, рамки и языки программирования переплетаются, что вместе помогает в компьютерных программах.
«Инверсия контроля» - это ключевое отличие, которое отделяет фреймворк от библиотеки. Библиотека - это набор функций и процедур, используемых другими программами, и вы полностью контролируете его, когда вызываете метод из библиотеки. Тем не менее, контроль инвертируется в случае рамки. Он определяет структуру вашего проекта, и код никогда не вызывает фреймворк, а вызывает вас. Проще говоря, вы можете просто думать о библиотеке как о функции приложения, а каркас - как о каркасе приложения, в котором приложение определяет свои собственные функции..
Библиотеки - это набор функций, которые можно использовать где угодно, то есть это просто кусок кода, написанный другими разработчиками, который можно использовать повторно. Они легко интегрируются в существующие проекты для добавления функциональности, доступ к которой можно получить с помощью API. Они в основном используются для часто используемых модулей, потому что вам не нужно явно связывать их с каждой программой, которая их использует. Они важны в процессе связывания программ и связывания. С другой стороны, фреймворки предоставляют стандартный способ создания и развертывания приложений и могут в основном использоваться при запуске нового проекта, а не интегрироваться в существующие..
Чтобы лучше понять разницу между библиотекой и фреймворком, давайте взглянем на jQuery и AngularJS. jQuery - это кроссплатформенная библиотека JavaScript, которая упрощает манипулирование DOM наряду с множеством других сложных вещей, таких как манипулирование CSS, методы событий HTML, вызовы AJAX и т. д. Цель jQuery - упростить использование JavaScript на вашем веб-сайте. AngularJS, с другой стороны, является структурной структурой, основанной на архитектуре MVC, используемой для создания динамических веб-приложений. Он полностью основан на HTML и JavaScript и, в отличие от jQuery, не может быть интегрирован в существующие проекты, потому что, как платформа, он определяет, как ваш код должен быть структурирован и запущен.
Когда возникает путаница относительно того, следует ли использовать библиотеку или инфраструктуру для создания приложения, все сводится к контролю. Библиотеки - это набор функций, которые вы можете вызывать, и каждый вызов выполняет определенную задачу и возвращает вам элемент управления. Они могут быть легко включены в существующие проекты, и для начала вам потребуются небольшие знания. Фреймворки, с другой стороны, определяют общую структуру вашего проекта, и в отличие от библиотек, фреймворки вызывают вас, а код никогда не вызывает фреймворк. Ключевым отличием, конечно, является инверсия контроля. Проще говоря, библиотеки являются более гибкими с большей степенью контроля, в то время как фреймворки обеспечивают структуру и стандарты.