1.React — React. Разработка сложных клиентских приложений #8 _ H. React. Разработка сложных клиентских приложений Уровень 3, c 27 сентября по 28 ноября 2021
Скачать 448.22 Kb.
|
React. Разработка сложных клиентских приложений Уровень 3, c 27 сентября по 28 ноября 2021 Любой разработчик рано или поздно сталкивается с двумя новыми для себя терминами: библиотека и фреймворк. Термины разные, но нередко их смысл смешивают. Особенно, если речь идёт в контексте фронтенда. Попробуем разобраться в сходствах и различиях. Фреймворк Слово «фреймворк» дословно переводится как «каркас» или «основа». Если сказать ещё проще: фреймворк — это фундамент, на основе которого можно построить любое приложение. Фреймворку неважно, «что» вы будете с его помощью разрабатывать, важно «как». Для этого фреймворк вводит правила игры — ограничения. Попробуем провести параллель с реальным миром. Представьте, что вы задались целью собрать собственный автомобиль. Звучит немного безумно, но не это главное. У этой задачи есть несколько способов решения. Вы можете взять готовый проект автомобиля и на основе него собрать собственный вариант. Вы без труда сможете что-то исправить и сделать по-своему, но основа останется без изменений. Например, вы сможете расширить салон, сократив расстояние между сидениями, но добавить третье пассажирское сидение не получится — проект накладывает ограничения. Как вы уже могли догадаться: готовый проект, по которому можно собрать автомобиль — это и есть фреймворк. Вам предоставляется основа, набор договорённостей и ограничений. С приложениями аналогичная ситуация. Приложение можно разработать любое, но выпрыгнуть за ограничения фреймворка будет сложно или невозможно вовсе. Немного разобрались. А что подразумевается под готовой основой? Всё зависит от фреймворка, но как правило это фундамент вашего приложения: начальная архитектура, набор инструментов и правила разработки — соглашения. Архитектура может включать в себя файловую структуру проекта, встроенный набор инструментов для решения различных задач, набор внутренних абстракций, CLI инструменты для автоматизации задач, и так далее. Главная / 2. React / 2.1. Фреймворки и библиотеки 5 минут Меню курса Таким образом, выбирая фреймворк, разработчик может не думать о многих организационных моментах, а сразу приступить к разработке приложения. Однако лишь этим возможности и преимущества фреймворков не ограничиваются. Фреймворки также упрощают вход на присоединение к проекту новых разработчиков. Если этим разработчикам доводилось работать с фреймворком, который используется в проекте, то им потребуется намного меньше времени, чтобы включиться в проект. Ведь правила разработки, диктуемые фреймворком им известны. Следовательно известна и структура приложения. С одной стороны стартовый набор инструментов — это замечательно. Если они подходят и позволяют решать задачи, что ещё нужно? С другой стороны, за счёт ограничений, разработчик не всегда имеет возможность заменить один компонент на другой. Для разработки фронтенда существует множество фреймворков. Из наиболее популярных выделяются Angular, Vue и Ember. Все они предоставляют набор встроенных инструментов, абстракций и так далее. Их можно использовать сразу из коробки, не тратя время на поиск нужного пакета и настройку взаимосвязей. Библиотека Если фреймворк представляет собой готовый каркас для разработки приложения, то библиотека — это просто отдельный инструмент для решения какой-то задачи или нескольких задач. Библиотека не вводит каких-то ограничений к архитектуре или к другим, применяемым в проекте инструментам. Она сама по себе. За примерами далеко ходить не нужно. Некогда популярная библиотека jQuery — это не что иное, как сборник функций, упрощающих взаимодействие с DOM. Или другой пример — lodash — библиотека с обширным набором утилитарных функций на все случаи жизни. Перечисленные выше библиотеки, а также любые другие, не вводят никаких требований к архитектуре или типу проекта. Неважно, как устроен ваш проект, ничего не мешает подключить библиотеку и воспользоваться её функциональностью. Библиотеку можно рассматривать как дополнительный модуль с полезными функциями. Повторимся, библиотека — это инструмент. Вполне логично, что в одном проекте может использоваться несколько разных инструментов — библиотек. Это абсолютно нормальная ситуация, а вот фреймворк в проекте может быть только один. Резюме Фреймворки и библиотеки — абсолютно разные вещи. И первые и вторые применяются для разработки приложений, но всё же есть отличия. Фреймворки дают основу проекта с готовым набором инструментов, начальную архитектуру, ограничения и так далее. Одним словом устанавливают правила игры, точней разработки. Библиотеки наоборот, просто решают задачи. Они не предъявляют требования к фреймворкам или к архитектуре. Не накладывают дополнительных ограничений на проект. Просто делают свою работу, позволяя встраиваться в практически любое окружение или проект. |