React

Что такое React 👩‍💻.

Создано Meta (Facebook)

Представь, что ты строишь что-то из кубиков LEGO.

  • Кубики LEGO — это и есть компоненты в React. Вместо того чтобы строить весь дом как единое целое, ты собираешь его из отдельных, уже готовых кирпичиков: стен, окон, дверей. В вебе такими "кирпичиками" могут быть кнопки, меню, формы поиска, карточки товаров.
  • Многоразовость. Один и тот же тип кубика (например, красный 2x4) можно использовать по всему дому. Точно так же в React ты можешь создать одну кастомную кнопку и использовать её по всему сайту. Если ты решишь поменять цвет всех кнопок, тебе нужно будет изменить только один "чертёж" этого компонента.
  • Интерактивность. React очень эффективно управляет "состоянием" (state) этих компонентов. Например, когда ты нажимаешь "лайк", React знает, что нужно перерисовать только счётчик лайков и иконку сердечка, а не всю страницу целиком. Это делает приложения очень быстрыми и отзывчивыми.

Проще говоря, React — это библиотека от Facebook для создания пользовательских интерфейсов из независимых и многоразовых "кубиков" (компонентов). Это самый популярный в мире инструмент для front-end разработки.


React и No-code: как они связаны? 🔗

На первый взгляд, React (чистый код) и no-code (визуальная разработка) — это противоположности. Но на самом деле они отлично дополняют друг друга. Есть два основных сценария их взаимодействия:

1. No-code платформы, которые работают "под капотом" на React

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

  • Пример: Framer. Это no-code инструмент, который позволяет создавать потрясающие сайты с крутыми анимациями. Когда ты публикуешь сайт, Framer генерирует на выходе React-код. Это даёт производительность профессионального сайта без написания кода.

2. Расширение возможностей No-code с помощью React

Это самый мощный способ их совместного использования. У любой no-code платформы есть ограничения. Что делать, если тебе нужна уникальная функция, которой нет в стандартном наборе инструментов?

Ты можешь нанять разработчика (или написать сам, если умеешь), чтобы он создал один маленький, нужный тебе React-компонент, и затем импортировать его в свой no-code проект.

  • Пример: Представь, что в твоём no-code конструкторе сайтов есть только простые таблицы. А тебе нужна сложная финансовая таблица с живыми графиками, сортировкой по нескольким колонкам и экспортом в Excel. Разработчик может создать такой компонент на React, а ты просто вставишь его в свой проект как готовый блок.

Как это относится к твоему стеку (FlutterFlow)

Важно понимать, что FlutterFlow — это немного другой мир. Он построен на технологии Flutter от Google, которая является прямым конкурентом React Native (мобильная версия React) для создания мобильных приложений.

  • Аналогия: Концепция очень похожа. В FlutterFlow ты работаешь с виджетами (Widgets). Виджеты в FlutterFlow — это, по сути, та же самая идея, что и компоненты в React. Это многоразовые строительные блоки для интерфейса.
  • Расширение: В FlutterFlow есть функция Custom Widgets. Это как раз то место, где ты можешь выйти за рамки no-code. Если тебе нужен какой-то супер-кастомный элемент, которого нет в FlutterFlow, ты можешь написать его кодом (на языке Dart) и добавить в свой проект. Это аналог того, как React-компоненты расширяют возможности no-code веб-билдеров.

Вывод: Хотя ты напрямую не используешь React в своём стеке с FlutterFlow, ты используешь ту же самую компонентную философию. Понимание принципов React поможет тебе лучше понимать структуру любого современного конструктора интерфейсов, включая FlutterFlow. А если ты когда-нибудь решишь создать веб-приложение, то платформы вроде Framer позволят тебе совместить удобство no-code с мощью React.

Ещё

Почему React так популярен

1. Простая, но мощная Что такое React?

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

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

2. Virtual DOM и производительность

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


3. Facebook и open source

Фреймворк был разработан в Facebook для решения реальных проблем масштабируемости. В 2013 году он был открыт для сообщества, что дало ему огромный кредит доверия. С тех пор он постоянно поддерживается и развивается (например, появились hooks и server components).


4. Экосистема и сообщество

Вокруг React выросла гигантская экосистема, включающая такие инструменты как Redux, Next.js и React Native. Благодаря огромному сообществу, легко находить разработчиков и готовые решения, а лучшие практики React стали индустриальным стандартом.


5. Универсальность

React подходит для создания веб-, мобильных (с помощью React Native) и даже десктопных (с помощью Electron) приложений. Порог входа в него ниже, чем у громоздких фреймворков, таких как Angular, и его используют как стартапы, так и крупные корпорации.


6. Современные концепции

React внедрял передовые идеи, которые со временем стали стандартом в веб-разработке. Среди них:

  • JSX — удобное смешение JavaScript и разметки.
  • Hooks — функциональный стиль и управление состоянием без использования классов.
  • Server Components — возможность выполнения части рендеринга на сервере.

Конкуренты React

  • Vue.js — лёгкий и гибкий фреймворк с простым синтаксисом.
  • Angular — мощный фреймворк от Google со встроенным DI и TypeScript.
  • Svelte — компилятор, который превращает компоненты в оптимизированный JavaScript-код без Virtual DOM.
  • Solid.js — современный конкурент с реактивностью на уровне сигналов и высокой производительностью.
  • Preact — более лёгкая альтернатива React с совместимым API.

Библиотеки компонентов React

Красивая, модная NextUI: https://www.heroui.com/

https://supabase.com/ui
UI Blocks for Supabase Projects
A collection of React components and blocks built on the shadcn/ui library that connect your front-end to your Supabase back-end via a single command.

Современная, в меру яркая Horizon UI: https://horizon-ui.com/

TailAdmin:

Material UI (в самую меру): https://mui.com/material-ui/getting-started/templates/