Как стать автором
Обновить
42.93

ReactJS *

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

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

Логи в файлах: написал своё приложение для просмотра структурированных логов

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

Не каждому проекту нужно децентрализованное логирование. В моём случае, оказалось проще хранить логи в .json файлах формата Compact Log Event Format (CLEF). Мне нужно было простое и бесплатное решение для просмотра логов.

Читать далее
Всего голосов 10: ↑10 и ↓0+11
Комментарии12

Книга «React быстро. 2-е межд. изд.»

Время на прочтение11 мин
Количество просмотров6.1K
image Привет, Хаброжители!

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

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

Книга предназначена для разработчиков, имеющих опыт создания веб-приложений на базе JavaScript.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

Typescript Generics

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

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

Как же это возможно? Ведь приходится постоянно тратить лишнее время на описание, импорт и применение типов. Все дело в размере, хотя многие утверждают, что он не важен. Логику небольшого приложения можно держать в уме, а вот с большим вряд ли это получится. Тут нам типы и помогут, подскажут, что из себя представляет тот или иной объект без необходимости перехода к нему, подсветят ошибку, если мы передали неправильный аргумент в функцию и т.д.

При этом написание типов бывает действительно утомительным, но Typescript предоставляет возможности ускорить и этот процесс. Здесь нам на помощь придут дженерики.

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

Читать далее
Всего голосов 10: ↑8 и ↓2+9
Комментарии2

Топ-3 причины, почему вы должны использовать Copilot

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

Всем привет! Меня зовут Анатолий Барцев, я frontend-разработчик в команде Модерации Циан. Я решил протестировать Copilot, чтобы оценить, полезен ли он для реальной разработки. В статье расскажу, какие выделил для себя плюсы использования, а также покажу, как GitHub Copilot помогает в разработке на примере проекта на React/Typescript.

Читать далее
Всего голосов 32: ↑21 и ↓11+17
Комментарии33

Истории

Django + React. Авторизация с помощью сессий между разными источниками

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

Всем здравия! Сегодня будет рассмотрена авторизация с помощью сессий между Django и React, которые находятся на разных доменах, т.е случай "cross-origin". Я в двух словах донесу принцип работы, причины появления концепций и технологий описанных здесь, оставлю ссылки на более подробные источники и приведу код конкретной реализации с объяснением своих шагов. Кого интересует полный код, он находится на GitHub.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

$mol — лучший мемогенератор во фронтенде

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

Здравствуйте, меня зовут Дмитрий Карловский и я... ради лулзов создал самый мемный фреймворк в индустрии.

Где мои доказательства?
Всего голосов 70: ↑23 и ↓47-24
Комментарии35

Почему стоит взглянуть на Relay и GraphQL снова

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

Если вы давно следите за моей работой, то знаете, что одним из моих любимых пристрастий являются сравнения GraphQL, REST, tRPC и других технологий, в которых не упоминаются Relay и Fragments. В этом посте я объясню, почему я считаю Relay переломным моментом, как мы сделали ее в 100 раз проще в использовании и внедрении, и почему вам стоит обратить на нее внимание.

Читать далее
Всего голосов 5: ↑2 и ↓3+1
Комментарии5

Деструктуризация в React. Очевидно, но важно

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

Деструктуризация, которая появилась в стандарте ES6, уже не вызывает вопросов у многих из нас, есть много статей, раскрывающих ее возможности. В основном, мы все тесно с ней дружим и пользуемся, многие, как оказалось, пользуются ей, даже не зная названия этой магии.

Казалось бы, что можно рассказать о том, о чем все и так знают? Но практика и чтение статей на Хабре, показали, что есть некоторые нюансы использования деструктуризации в React, которые не все из нас знают или просто не все из нас о них задумываются, хотя они и являются очевидными.

Читать далее
Всего голосов 14: ↑12 и ↓2+11
Комментарии10

Анализ производительности React Native приложений: как выявить проблемы и улучшить перформанс

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

Привет, Хабр! Меня зовут Вадим, я мобильный разработчик в СберМаркете. В этой статье расскажу, как провести профилирование (оно же измерение производительности или оценка перформанса) в react native приложениях: как выявить источник проблем и решить их. В русскоязычных источниках не так много информации по данной теме. Я потратил немало времени, чтобы со всем разобраться, поэтому попытаюсь восполнить этот пробел и для вас :)

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии4

Как я отрендерил миллион строк в React

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

Недавно я столкнулся с задачей, известной как one billion row challenge. Два аспекта этого вызова меня заинтриговали:

1. Каковы будут последствия, если я попробую решить этот вызов на фронтенде?

2. Удастся ли мне это?

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

Давайте я вас подробно ознакомлю с тем, что именно произошло, как это было сделано и по каким причинам.

Читать далее
Всего голосов 12: ↑11 и ↓1+12
Комментарии7

Представляем Firebolt: Продуктивный React фреймворк

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

Создание веб-приложений должно быть простым...

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

Сегодня мы рады публично представить Firebolt: новый вид фреймворка react для создания веб приложений. В Firebolt собрано все, чему мы научились за последние несколько лет, и сведено в крошечный, молниеносно быстрый фреймворк, созданный для того, чтобы вы работали продуктивно и приносили пользу.

Читать далее
Всего голосов 9: ↑6 и ↓3+4
Комментарии14

Рецензия на книгу Владимира Дронова «Node.js, Express, MongoDB и React. 23 урока для начинающих», есть промокод

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

В мире инструментов веб‑разработки особое место занимают технологии, объединенные аббревиатурой MERN (MongoDB, Express, React, Node.js), представляющие собой комплексное решение для разработки современных веб‑приложений. Книга Владимира Дронова «Node.js, Express, MongoDB и React. 23 урока для начинающих» представляет собой полезный ресурс для тех, кто хочет освоить этот стек технологий. И еще важно — это мощная книга на 600+ страниц, а не проходная брошюрка.

Читать далее
Всего голосов 8: ↑6 и ↓2+11
Комментарии7

Путь развития Frontend разработчика (Вторая часть)

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

Это вторая часть roadmap frontend разработчика, Если вы не читали первую часть, то настоятельно рекомендую ознакомится, Первая часть. В этой статье я продолжу вам рассказывать про мое представление современной карты развития frontend разработчика.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии18

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

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Использование кастомных шаблонов и конфигов для swagger-typescript-api

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

swagger-typescript-api - это мощный инструмент для генерации кода на основе OpenApi-контактов, о процессе работы с которым я рассказывал в предыдущей статье. Там же я упомянул, что его можно кастомизировать под нужды конкретного проекта с помощью своих шаблонов.

Именно кастомные шаблоны и бонусом, кастомная конфигурация, будут раскрыты в текущей статье. Поехали!

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Кеширование next.js. Дар или проклятие

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

В 13 версии команда next.js представила новый подход к проектированию приложения - так называемый App Router. В 14 версии его сделали стабильным и основным для новых приложений.

App Router значительно расширяет функционал next.js - частичный пререндеринг, шаблоны, параллельные и перехватываемые роуты, серверные компоненты и многое другое. Однако, даже несмотря на все эти улучшения - далеко не все решили перейти на App Router. И на это есть свои причины.

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

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии3

className убивает ваш UI kit

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

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

Гибкое API у UI kit компонентов является преимуществом. Однако возможность повлиять на стили ваших компонентов в конкретном месте является большим искушением. Разработчику выгодно внести изменение здесь и сейчас, а не думать на перспективу. Такое поведение постепенно разрушает вашу систему переиспользования.

Читать далее 🔥
Всего голосов 6: ↑6 и ↓0+6
Комментарии34

Мемоизация в React: я почитал документацию вместо вас

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

В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo. Главный источник информации: документация React. Не всем комфортно работать напрямую с документацией, так что если вы постоянно откладываете погружение в документацию React - я сделал это за вас, постарался выделить самое важное, и дать ссылки для углубленного погружения.  

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

Читать далее
Всего голосов 15: ↑14 и ↓1+15
Комментарии2

Работа с REST API при помощи swagger-typescript-api

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

Прежде чем начать писать данную статью, я озадачился интересным вопросом. А кто как вообще работает с API в 2024 году? Для меня наличие Swagger-контракта или OpenAPI-контракта уже несколько лет как must have. И откровенно говоря, мне сложно представить, что люди не используют этот фреймворк для работы c REST API. Однако, если среди читателей таковые есть, и вам до сих пор скидывают «дтоошки», то вперед осваивать и продвигать OpenApi.

Для понимания работы swagger-typescript-api я сначала кратко опишу основные моменты спецификации OpenAPI. Читатели, которые уже знакомы с этим, могут сразу перейти к части про swagger-typescript-api.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии9

Web3 приложение Twitter на React.js + Solidity | часть 2

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

Hello, в первой части был подготовлен проект, подключены кошельки и написан backend на Solidity, значит пришло время писать frontend на React.

Проект далёк от продакшена и является простым примером для новичков, предназначенным для демонстрации взаимодействия с смарт‑контрактом через веб‑приложение.

Читать далее
Всего голосов 5: ↑4 и ↓1+5
Комментарии1

Web3 приложение Twitter на React.js + Solidity | часть 1

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

Hello, в этой статье постараюсь подробно показать процесс создания dApp приложения на примере Twitter. Проект написан на ReactJS и Solidity. Контракт развернут в частной сети с помощью truffle и ganache.

В первой части мы подготовим проект, напишем смарт-контракт и развернем его в частной сети, а также подключим кошельки в MetaMask.

Во второй части будет написано web-приложение для взаимодействия с контрактом.

Читать далее
Всего голосов 7: ↑5 и ↓2+3
Комментарии4