Как стать автором
Поиск
Написать публикацию
Обновить
26.41

ReactJS *

JavaScript-библиотека для создания интерфейсов

Сначала показывать
Порог рейтинга
Уровень сложности

Прожариваем React

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров7K

Привет, Хабр! Я уже рассказал, что умею разнообразно писать счётчики . Пришло время сделать шаг вперёд! Сегодня поговорим о том инструменте, который я и миллионы разработчиков используют ежедневно. Речь пойдёт о великом и ужасном ReactJS.

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

И важное: несмотря на указанные ниже проблемы, я до сих пор считаю React прекрасным и удобным инструментом для создания фронтенда, в частности SPA.  Громких слов типа «ReactJS не пригоден для разработки» тут не будет - пригоден, да ещё как! Но... и на Солнце бывают пятна. Приступим.

Читать далее

Проблемы структуры проектов при использовании Feature-Sliced Design

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.5K

Меня зовут Сергей Сибара, я фронтенд-разработчик в компании ИТ-холдинг Т1. В этой статье я решил рассказать о нескольких проблемах, к которым приводит методология Feature-Sliced Design, — отсутствию правил взаимодействия между сегментами и большой раздробленности связанной функциональности, — а также о возможных решениях. Статья будет полезна тем, кто уже знаком с методологией FSD, и тем, кто отказался от неё. А поскольку я разрабатываю на React, то и статью писал с небольшим уклоном в эту технологию.

Читать далее

Боремся с токсичными комментариями с помощью ИИ, FastAPI и React

Время на прочтение12 мин
Количество просмотров1.7K

В последнее время я перестал читать комментарии к статьям на Хабре. Причина — токсичность и ненависть друг к другу. Абсолютно безобидные технические статьи подчас вызывают бурю агрессии у отдельных лиц. Всех банить тоже нельзя — свобода слова закреплена в Конституции. Но есть решение: давайте используем искусственный интеллект, который будет анализировать комментарий и переписывать его, меняя токсичность на вежливость, сохраняя основную мысль комментария.

Мы воспользуемся FastAPI для бэкенда, React для фронтенда, заставим их между собой общаться через RESTful API, а бизнес-логику реализуем путём обращения к ИИ через gRPC.

Читать далее

Понимая реактивные системы: Производные, эффекты и оптимизация

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.3K

С этой статьи я начну цикл материалов, посвященных базовым концепциям реактивности, основанных на идеях и примерах, которые подробно изложил автор SolidJS, Райан Карниато (Ryan Carniato), в своем блоге. Наша цель — разобрать фундаментальные принципы, лежащие в основе реактивных систем, и показать их применимость в различных контекстах.

Читать далее

Обновление SPA приложения в браузере пользователя Node/React

Время на прочтение13 мин
Количество просмотров2K

Всем привет. Мне читатели иногда присылают сообщения с одним и тем же вопросом, что ты же Software Engineer и Solution Architect, но почти все твои статьи касаются бизнеса, менеджмента, процессов, управления командами и так далее. Но нет статей технического характера, про разработку и создание разных фич (feature) для проекта. Причина по которой это происходит в том, что весь интернет забит информацией о том, как программировать, но очень мало информации о том, что именно программировать, и о том, что за пределами кодинга огромное количество нерешенных проблем, которые нивелируют весь процесс программирования. Но сегодня я расскажу об одной фиче, которая может оказаться очень полезной для многих.

Читать далее

Уехал на Чукотку, чтобы попасть во фронтенд. Вот что из этого вышло

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2K

Как фокус только на обучении повлиял на результат и стоит ли сейчас идти во фронтенд? Вот моя честная история пути в IT. Она похожа на восхождение на вершину без акклиматизации.

Узнай мой кейс

Глубокое Погружение в Работу с Таймерами в React

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.4K

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

Читать далее

Кастомные хуки в react

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.5K

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

Читать далее

Делаем авторизацию в Telegram Mini Apps правильно

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров13K

Если вас заинтересовала тема авторизации, подразумеваю, что вы уже итак знаете что такое Telegram Mini Apps. Поэтому не буду долго размусоливать вступление и перейду сразу к делу.

Поехали!

Читать далее

Разворачиваем микрофронты на Next.js

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров8.8K

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

Читать далее

Жизнь после курсов: как складывается карьера выпускницы Metaclass

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.2K

Привет!

На следующей неделе школа Metaclass начинает 13-й поток бесплатных образовательных курсов: все желающие могут записаться на программу для начинающих фронтендеров и бэкендеров, а для студентов вузов мы в этот раз также запускаем курс по аналитике (отличная возможность записаться для тех, кто принимает решение в последний момент!)

В преддверие запуска нового потока мы делимся историями наших выпускников. Недавно о своем опыте рассказывал Илья Козлов, попавший на стажировку в KTS после осеннего курса 2024 года. Сегодня же мы подготовили интервью с более ранней выпускницей нашей школы.

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

Читать далее

Туториал: вход в мобильном приложении с Telegram

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров3.4K

Аутентификация в мобильных приложениях с помощью Telegram Login Widget обделена информацией как официальной документации, так и в интернете. В этой статье поделюсь примером реализации входа в iOS приложение c помощью Telegram. В статье приведены сниппеты кода на Typescript + React, Go и Swift.

Читать далее

Инструменты для анализа производительности сайта

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.7K

В этой статье речь пойдет об инструментах, с помощью которых можно проанализировать качество спроектированного front-end разработчиком сайта. В качестве наглядного материала используется проект, реализованный на базе Next.js 14-й версии с app router.

Читать далее

Ближайшие события

От бесплатного курса к оплачиваемой стажировке: интервью с выпускником школы Metaclass

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.7K

Привет!

Уже больше шести лет наша компания проводит курсы для разработчиков, менеджеров и аналитиков в школе Metaclass. За это время мы провели 12 потоков и наняли в KTS более 50 сотрудников из числа своих выпускников. Больше половины нынешних тимлидов и синьоров KTS попали в компанию через нашу школу. И уже скоро мы открываем очередной поток наших бесплатных курсов.

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

Читать далее

Symfony + React: Основные проблемы и методы их решения

Уровень сложностиПростой
Время на прочтение22 мин
Количество просмотров3.2K

Symfony и React – мощная связка для создания современных веб-приложений. Symfony, как PHP-фреймворк, обеспечивает надежный серверный бэкенд: работу с базой данных, бизнес-логику, REST API и безопасность. React же отвечает за динамичный интерфейс на стороне клиента, позволяя создавать богатые Single Page Application (SPA) с мгновенной реакцией на действия пользователя. Используя их вместе, разработчики получают гибкость разделения фронтенда и бэкенда, что упрощает поддержку и масштабирование. Например, бэкенд на Symfony можно переиспользовать для мобильного приложения или другого клиента, пока React обеспечивает отличное UX в браузере.

Однако сочетание двух разных технологий несет и ряд вызовов. Нужно грамотно спроектировать API для связи между фронтом и бэком, обеспечить безопасный обмен данными и учесть особенности работы SPA (например, отсутствие перезагрузки страниц, хранение состояний на клиенте и пр.). Возникают вопросы: как организовать взаимодействие React-приложения с Symfony API? Как защитить API и пользовательские данные от угроз, таких как несанкционированный доступ или атаки? В этой статье мы рассмотрим основные проблемы интеграции Symfony + React, связанные с API и безопасностью, а также предложим практические методы их решения. Статья ориентирована на разработчиков от начинающих до среднего уровня и включает примеры кода и наглядные иллюстрации ключевых моментов.

Читать далее

История о том, как мы в ОК упрощали процесс создания API

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.4K

Представьте ситуацию: у вас есть большой «зрелый» ИТ-продукт, но специалистов, способных его поддерживать, крайне мало. Что делать, в такой ситуации — продолжать «тянуть чемодан без ручки» или искать способ перехода на понятные и распространенные технологии?

Не так давно команда ОК столкнулась с подобной дилеммой: исторически для отображения страниц мы использовали server-side рендеринг на базе GWT (Google Web Toolkit) и RDK (наша внутренняя разработка), так как разработка первой версии ОК началась более 20 лет назад. Такой набор технологий «под капотом» был оптимален в те времена, но сейчас он, мягко говоря, не самый желательный. Поэтому нам было важно перейти на более распространенную библиотеку, а точнее — на React. Это мы и начали делать итеративно, шаг за шагом для каждого раздела сайта.

Меня зовут Александр Косницкий, я разработчик в компании ОК. В этой статье я расскажу, как мы переводили на React раздел «Обсуждения»: с чего начинали, с чем сталкивались и как в результате смогли получить то, что поможет не только нам, но и остальным командам с переводом на новую библиотеку их собственных разделов.

Читать далее

Next.js 15 в Hikasami: Глубокая оптимизация рендеринга, загрузки данных и производительности

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.7K

В эпоху цифрового контента каждая миллисекунда загрузки страницы может существенно повлиять на пользовательский опыт. В Hikasami, платформе, предоставляющей потоковое аниме и азиатские медиа для пользователей СНГ, наша цель — обеспечить мгновенную загрузку страниц, минимизировать задержки, а также гарантировать актуальность данных. Для этого мы внедрили Next.js 15, который открыл перед нами возможности глубокой оптимизации:

Читать далее

Мемоизация коллбэков в списках react-приложения

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.1K

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

Давайте рассмотрим несколько типичных ошибок более подробно...

Читать далее

Топ-5 библиотек для управления состоянием React в 2025 году

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров6.7K

Хранение данных и управление глобальным состоянием в React-приложениях всегда было важной темой среди разработчиков. К 2025 году выбор подходящей библиотеки для решения этих задач стал еще более разнообразным — от проверенного Redux до современных, легковесных решений, таких как Zustand и SWR. Каждое из этих решений имеет свои особенности, плюсы и подводные камни, что делает выбор оптимального инструмента порой непростым. В этой статье я рассмотрю 5 самых популярных библиотек на сегодняшний день, проанализирую их основные преимущества, применение на реальных проектах и актуальность в контексте последних трендов разработки.

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

Читать далее

React и графики: 8 библиотек для визуализации данных

Время на прочтение6 мин
Количество просмотров8.1K

Хабр, привет! Меня зовут Юра, я работаю в МТС Диджитал тимлидом. Сегодня хочу поговорить о визуализации данных в React: какую библиотеку выбрать, чтобы было красиво и без проблем? Recharts, Visx, Nivo, ECharts или, может, что-то еще? Давайте разбираться! В посте оценим восемь разных библиотек: возможности, плюсы и минусы. Поехали!

Читать далее

Вклад авторов