Я вот решил добавить тему про программирование на JS. И нет, не только на фронте!
В последнее время, то есть несколько лет уже, я работаю с Реактом. Если кто вдруг не знает, это такая мощная библиотека на JS, изначально написанная для фронта. Но, как должно быть известно многим программерам, на JS программировать можно также и на серверной стороне. Делается это в среде Node JS. Тот же самый JS, только с некоторыми добавками, по сравнению с фронтом. Чисто с учетом специфики и возможностей серверной стороны: работа с файлами, работа с базами данных. Но сам язык Javascript - тот же самый!
По большому счёту, это удобно и работодателю, и программисту. Пусть даже я отвечаю за фронт, но если я вижу какие-то проблемы в общении с сервером, то могу залезть в его код и с ходу разобраться, в чем там дело. Мне не надо знать два языка. Опять же, в одном из проектов так сложилось, что в какой-то момент получилось три фронтэндера и одни бэкэндщик. Меня попросили "перейти" на бэкэнд, то есть сконцентрироваться на его задачах. Нет проблем

Если говорить про собственно Реакт, то это круто


И если во всех предыдущих проектах я участвовал уже где-то с середины, то в нынешнем вообще с нуля. Начиная с того, что писал ТЗ на основе пожеланий заказчика. Сам создал проект (фронтовую часть) и начал его наполнять. Потом добавился "верстальщик со знанием Реакта". Процесс пошёл живее.
Дальше - больше. Мы уже сделали сколько-то, когда наконец-то было окончательно утверждено ТЗ. Через пару месяцев после начала работы над проектом. Да еще появились дополнительные пожелания по СЕО... Хорошо, что не я общаюсь с заказчиком

Эти пожелания привели к тому, что надо будет задействовать NextJS. Это такой монстр. Конгломерат "сингл-пейдж аппликейшен" и "сервер-сайд рендеринг".
В чем разница и в чём причина таких телодвижений? Проблема в том, что когда "просто" используется Реакт, то грузится почти пустая HTML страница. На ней есть только несколько вызовов файлов JS. Которые уже грузят все другие нужные файлы, запрашивают данные с сервера, рисуют интерфейс и т.д. и т.п. Проблема тут в том, что для СЕО это вообще "ниачОм". Но, зато, можно сервер делать хоть на ПХП, хоть на Питоне, хоть на Ноде. Также, все эти загрузки требуют времени. Для серьёзных сайтов (когда много данных) и особенно для не очень скоростного интернета это требует много времени (это уже проблема на стороне юзера).
А вот с NextJS вообще всё круто. Это дальнейшее развитие идеи Реакта и Ноды. Пишем всё на Реакте, также как и в связке React+Node. Но первоначальный рендеринг делается на стороне сервера. Поэтому запросчик получает полноценную страницу. Для СЕО это большой плюс, потому что поисковая система видит полноценную страницу. Со всеми хедерами и другими дескрипшенами. И для юзера тоже хорошо. Он максимально быстро получает страницу с нужными данными, всё красиво нарисовано, все ссылки кликабельны. И уже затем, после загрузки страницы, начинают грузиться файлы JS. По окончании загрузки которых приложение переходит в режим "сингл пейдж аппликейшен", со всеми его плюсами. Да, для рисования страниц на фронте используются те же компоненты Реакта, что и были использованы на бэке! Не надо делать одно и то же в двух местах.
Короче говоря, объединяются плюсы и удаляются (уменьшаются?) минусы различных подходов. Опять же, вся работа идёт на одном-единственном языке, Javascript. В коде вообще уже нет, по сути дела, разделения на код бэка и фронта.
Я сейчас начал изучать NextJS, тащусь с него потихоньку... И вам тоже советую - заходите сюда, тут хорошо

</трепология>
_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL
* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.
* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
