React - это библиотека или фреймворк?

Разработчики потратили много времени на разговоры о том, что такое React. Но они не упомянули, почему эта тема так важна для всех, кто создает приложения React.

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

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

Почему React - это библиотека, а не фреймворк?

React был создан для создания полноценных веб-приложений. В результате его часто сравнивают с другими инструментами, которые разработчики используют для создания приложений, такими как Angular, Vue и Svelte.

React написан на JavaScript и используется для улучшения приложений JavaScript. Мы называем React именно библиотекой.

Но что делает React библиотекой, а не фреймворком?

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

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

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

Короче говоря, все, что вам нужно для создания законченного приложения, включается в ваш проект Angular при его создании. Но это не относится к React.

React принципиально "невнимателен"

В то время как появились популярные инструменты, такие как Create React App, которые позволяют создавать полный проект React с помощью одной команды, React часто называют «неопытным».

Что значит отсутствие мнений в React?

Библиотеки React и React DOM предоставляют нам средства для создания пользовательского интерфейса с синтаксисом JSX, а также, среди прочего, мощные инструменты управления состоянием с помощью хуков.

Однако сам React не включает многие библиотеки, специфичные для React, которые вам понадобятся для большинства проектов. Для сравнения, Angular и Vue включают в себя гораздо больше инструментов, включенных в основной пакет.

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

Поскольку React - это библиотека, вы должны сами выбирать инструменты

Это означает, что для создания полных приложений React вам нужно будет выбрать эти пакеты и инструменты самостоятельно.

Вот несколько примеров решений:

Для библиотеки форм я должен решить, хочу ли я использовать пакет React Hook Form или Formik. Это обе библиотеки форм для React, которые добавляют в наши формы важные функции, такие как проверка.

Для тестирования моего приложения React я могу использовать либо библиотеку тестирования React, либо Jest, либо их комбинацию.

Для выполнения сетевых запросов мне может потребоваться выбрать между Fetch API и Axios. Мне также может потребоваться решить, хочу ли я добавить дополнительную библиотеку, чтобы упростить управление состоянием моего сервера, например React Query или SWR.

Выбранные вами инструменты зависят от вашего приложения и знания о них

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

Если вы создаете приложение без множества форм, вам может вообще не понадобиться библиотека форм. Если вы более уверены в Fetch API, вы можете использовать его вместо Axios.

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

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

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

Вам нужно идти в ногу с появляющимися библиотеками

Если бы мы говорили о том, какую библиотеку форм выбрать два года назад, я бы, вероятно, включил Redux Form. Что касается библиотеки выборки данных, я не мог бы упомянуть React Query или SWR, потому что они не создавались (или не пользовались большой популярностью) до прошлого года или около того.

Поскольку приложения React часто зависят от сторонних библиотек, появляются новые библиотеки, которые улучшают старые. Отдельные разработчики и команды переходят на разные инструменты для выполнения работы, и экосистема меняется в целом.

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

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

Хотите, чтобы React был фреймворком?

Стоит отметить, что существуют фреймворки, основанные на React.

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

Некоторые из наиболее популярных из этих фреймворков включают Next.js, Gatsby и Redwood.js, которые используются для создания полномасштабных динамических и статических приложений React.

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

Используйте гибкость React в своих интересах

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

Это благодаря популярности и широкому распространению React. Но также обратите внимание, особенно если вы работаете с самоуверенным фреймворком, таким как Angular или Vue, что существует множество фреймворков на основе React, на которые вы можете положиться и изучить, чтобы создавать одинаково функциональные и функциональные приложения.

Комментарии ()

    Написать комментарий