Подытожим этот длинный разговор о бэкенде. Использование React на клиенте не определяет выбор технологии для серверной части. Во-первых, обмен данными через WebSockets можно построить и на NodeJS, и на Python, и на C#. Во-вторых, хотя с фронтендом и бэкендом, написанными на JavaScript, ваш fullstack-разработчик и будет чувствовать себя на своём месте, метод Backend-for-Frontend тем и хорош, что позволяет сделать между клиентом и сервером прослойку на GraphQL и не задумываться о совместимости технологий с обеих сторон. Иными словами, используя ряд уже известных ноухау, бэкенд для React-приложения можно построить на всём, что популярно, что используется, что нравится вашей команде и с чем она умеет работать.
Автор, конечно, молодец, но это очень плохой перевод.
Вот эта фраза вообще слова ради слов.
"благодаря появлению React hooks разработчикам больше не нужно тратить время на переписывание функциональных компонентов в классовые."
То же самое про GraphQL и "Чистую архитектуру".
Будет больше пользы, если вы напишете статью по каждой затронутой теме, сейчас все это выглядит как попытка запостить статью с хабра на vc в популистской манере, принятой здесь.
Если вам очень хочется про популизм, то сделайте серию статьей о создателях библиотек, кто они и как они пришли к своим результатам, Redux, Formik, да даже у того же React есть автор и первый репозиторий (он кстати доступен на Github в качестве исторического экспоната)
Для SSR не обязательно использовать NextJS. Если в проекте есть ReactDOM, то он сам отлично умеет рендерить компоненты на серваке. Странно, что про него постоянно забывают.
Думаю, что для неопытного пользователя (для коего данная статья) лучше взять NextJS и не морочить голову.
А подход Server Side Rendering полностью решает проблему с SEO? Поисковики же не всегда компилируют скрипты (нет никаких гарантий, что они это сделают каждый раз), поэтому не всегда увидят полное содержимое сайта. Думаю, всё равно какие-то заморочки с SEO остаются. Всё же SPA-решения для контентных сайтов не совсем подходят, больше для интерфейсов и админок.
Что-то похожее на Java🤦♂️🤦♂️🤦♂️
Классический DOM не предусматривает создания динамических интерфейсов, поэтому исполняемый на страницах JavaScript замедляет её отрисовку. Но React сначала создаёт имитацию DOM (Virtual DOM), более лёгкую по сравнению с DOM, меняет в этой копии только те объекты, на которые влияют пользовательские действия, и накладывает эти изменения на реальный DOM.Что за чушь? Я разве не могу на голом JS поменять содержимое нужных блоков? Это породит перерисовку страницы? По секрету - кривыми руками несложно и с Virtual DOM накосячить так, что браузер повесится.
На фоне своих предшественников у GraphQL ещё более конкретные и экономные запросы к серверу.До тех пор, пока нет большого количества связей между сущностями, и пока одаренный разработчик не напишет дикий запрос.
Несколько притянуто за уши. Чистый прозрачный код не сильно связан с React. В некоторых проектах использование React и вовсе не оправдано.
P.S. А ведь раньше старообрядцы динамически подгружали данные на страничку ещё до появления AJAX. Вот времена были!
Ну как бы вы сильно придрались. Можно конечно и на jQuery и REST продолжать всё писать, но всё-таки React создаёт рамки которые заставляют писать код в более поддерживаемом качестве.
Можно конечно и событийную шину использовать в связке с amd модулями, но спасибо не надо. Это потом в такой запутанный код в итоге превращается спустя пару лет что ловля багов становится приключением на несколько дней.
Делаю проще: создаю на обычном бутстрапе, подключаю page-preloader.js и получаю отличную скорость загрузки