Я работаю с Реактом на протяжении почти 3 лет, использовал как Redux так и MobX и у меня к текущему моменту возник вопрос. Почему абсолютное большинство front-end разработчиков продолжают свято верить в то, что Redux + Redux Saga + Reselect + 100500 других библиотек «облегчающих» жизнь — это лучшее решение на сегодняшний момент? Я приведу 4 аргумента в пользу того, чтобы в следующем проекте вы использовали MobX вместо Redux.
Читать полностью »
Рубрика «ReactJS» - 17
5 Причин, почему вы должны забыть о Redux в приложениях на React
2019-07-11 в 17:34, admin, рубрики: front-end разработка, javascript, mobx, react.js, ReactJS, redux, state managementПишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия
2019-07-09 в 16:40, admin, рубрики: javascript, React, ReactJS, разработкаПишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы
Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия
Пишем API для React компонентов, часть 3: порядок пропсов важен
У нас есть компонент переключатель — Switch
, который принимает проп, давайте пока назовем его something
(что-то).
Разработчик, использующий наш компонент, может передать функцию, и мы будем вызывать ее при изменении значения.
<Switch something={fn} />
React дает нам возможность называть проп как нам угодно: handler
/ clickHandler
/ onClick
/ onToggle
и т.д
Популярным стало соглашение о том, что название обработчика событий должно начинаться с on
, например, onClick
. Это связано с тем, что в спецификации HTML есть множество обработчиков, которые уже следуют этому соглашению: onkeydown
, onchange
, onclick
и т.д.
Повторное использование уже существующего соглашения — отличная идея, разработчикам не придется запоминать что-то новое.
Окей, как насчет onClick
?
TypeScript и короткие спринты. Как мы делали инструмент вариативности интервью по фронтенду
2019-07-09 в 10:39, admin, рубрики: code review, docker, docker-compose, express.js, Git, mongodb, React, ReactJS, TypeScript, Блог компании Яндекс, интерфейсы, Разработка веб-сайтов, скрам17 ноября 2018 года. Нас четверо. Настроение у всех приподнятое — прошли первый этап ШРИ, Школы разработки интферфейсов. Он состоял из лекций и домашних заданий: осваивали разные фронтендерские и околофротендерские технологии, инструменты, Скрам. Знали, что всё это придётся применять в боевом проекте на втором этапе. Но одно дело знать, и другое — действительно реализовать этот проект за ближайшие 5 недель.
Практические рекомендации по разработке крупномасштабных React-приложений. Часть 2: управление состоянием, маршрутизация
2019-07-08 в 9:30, admin, рубрики: javascript, React, ReactJS, Блог компании RUVDS.com, разработка, Разработка веб-сайтовСегодня мы публикуем вторую часть перевода материала, который посвящён разработке крупномасштабных React-приложений. Здесь речь пойдёт об управлении состоянием приложений, о маршрутизации и о разработке интерфейсов.
Под капотом у React. Пишем свою реализацию с нуля
2019-07-05 в 13:03, admin, рубрики: javascript, React, ReactJS, переводВ этом цикле статей мы создадим свою реализацию React с нуля. По окончании у вас будет понимание, как работает React, какие методы жизненного цикла компонента он вызывает и для чего. Статья рассчитана на тех, кто уже использовал React и хочет узнать о его устройстве, или на очень любопытных.
Практические рекомендации по разработке масштабных React-приложений. Планирование, действия, источники данных и API
2019-07-04 в 9:30, admin, рубрики: javascript, React, ReactJS, Блог компании RUVDS.com, разработка, Разработка веб-сайтовСегодня мы представляем вашему вниманию первую часть перевода материала, который посвящён разработке крупномасштабных React-приложений. При создании одностраничного приложения с помощью React очень легко привести его кодовую базу в беспорядок. Это усложняет отладку приложения, затрудняет обновление или расширение кода проекта.
В экосистеме React существует множество хороших библиотек, с помощью которых можно управлять определёнными аспектами приложения. Мы довольно подробно остановимся на некоторых из них. Кроме того, здесь будут приведены некоторые практические рекомендации. Если проект должен хорошо масштабироваться — этим рекомендациям полезно будет следовать с самого начала работы над ним. В этой части перевода материала мы поговорим о планировании, о действиях, об источниках данных и об API. Первым шагом разработки крупномасштабных React-приложений, который мы рассмотрим, является планирование.
Читать полностью »
Метаморфоза тестирования redux-saga
2019-07-02 в 15:18, admin, рубрики: Dodo Pizza Engineering, dodopizza, javascript, React, react.js, ReactJS, redux, redux middleware, redux-saga, Блог компании Dodo Pizza Engineering, Программирование, тестирование, Тестирование IT-системФреймворк redux-saga
предоставляет кучу интересных паттернов для работы с сайд-эффектами, но, как истинные кроваво-энтерпрайзные разработчики, мы должны покрывать весь свой код тестами. Давайте разберёмся, как мы будем тестировать наши саги.
Архитектура веб-интерфейсов: деревянное прошлое, странное настоящее и светлое будущее
2019-07-02 в 8:29, admin, рубрики: backbone, flux, front-end, javascript, mvc, mvp, React, ReactJS, redux, sofware achitecture, больше тегов богу теговСовременное сообщество разработчиков сейчас как никогда подвержено моде и трендам, и особенно сильно это касается мира фронтент-разработки. Фреймворки и новые практики у нас являются главной ценностью, и из их перечисления состоит большая часть резюме, вакансий и программ конференций. И хотя само по себе развитие идей и инструментария не является чем-то негативным, но из-за постоянного стремления разработчиков следовать неуловимым трендам мы стали забывать о важности общих теоретических знаний об архитектуре приложений.
Преобладание ценности тулинга над знанием теории и лучших практик привело к тому, что большинство новых проектов сегодня имеют крайне низкий уровень сопровождаемости, тем самым создавая существенные неудобства как для разработчиков (стабильно высокая сложность изучения и модификации кода), так и для заказчиков (низкие темпы и высокая стоимость разработки).
Для того, чтобы хоть как-то повлиять на сложившуюся ситуацию, сегодня я хотел бы рассказать вам о том, что же из себя представляет хорошая архитектура, как она применима к веб-интерфейсам, и самое главное — как она эволюционирует с течением времени.
NB: В качестве примеров в статье будут использоваться только те фреймворки, с которыми непосредственно имел дело автор, и существенное внимание здесь будет уделено React и Redux. Но, несмотря на это, многие описываемые здесь идеи и принципы носят общий характер и могут быть более-менее успешно спроецированы на другие технологии разработки интерфейсов.
Разработка приложения для потокового вещания с помощью Node.js и React
2019-06-27 в 9:01, admin, рубрики: javascript, node.js, ReactJS, Блог компании RUVDS.com, разработка, Разработка веб-сайтовАвтор материала, перевод которого мы сегодня публикуем, говорит, что работает над приложением, которое позволяет организовывать потоковое вещание (стриминг) того, что происходит на рабочем столе пользователя.
Приложение принимает от стримера поток в формате RTMP и преобразует его в HLS-поток, который может быть воспроизведён в браузерах зрителей. В этой статье будет рассказано о том, как можно создать собственное стриминговое приложение с использованием Node.js и React. Если вы привыкли, увидев заинтересовавшую вас идею, сразу же погружаться в код, можете прямо сейчас заглянуть в этот репозиторий.
Читать полностью »
11 советов для тех, кто использует Redux при разработке React-приложений
2019-06-19 в 9:30, admin, рубрики: javascript, React, ReactJS, redux, Блог компании RUVDS.com, разработка, Разработка веб-сайтовКогда речь идёт о разработке React-приложений, то, в плане архитектуры кода, маленькие проекты часто бывают более гибкими, чем большие. Нет ничего плохого в том, чтобы создавать такие проекты с использованием практических рекомендаций, нацеленных на более крупные приложения. Но всё это, в случае с маленькими проектами, может оказаться попросту ненужным. Чем меньше приложение — тем «снисходительнее» оно относится к использованию в нём простых решений, возможно — неоптимальных, но не требующих больших затрат времени на их реализацию.
Несмотря на это хотелось бы отметить, что некоторые рекомендации, которые будут даны в этом материале, нацелены на React-приложения любого масштаба.
Читать полностью »