@adiletmurzaliev

Symfony + React + SSR + SEO?

Работаю PHP разработчиком (в основном на Symfony). Решил взглянуть в сторону изучения фронтенда, а именно React.js. А далее мобильная разработка (React Native или же нативный язык какой-нибудь).
Возникло много вопросов, посоветуйте как быть.

1) Как я знаю у SPA приложений есть проблемы с SEO из-за js-скриптов. В данный момент, как я понимаю, единственный бесплатный и правильный подход это рендерить контент на серваке. Но это очень сильно усложняет разработку. Стоит ли вообще SSR использовать, либо в 2019 году можно и без этого хорошее SEO получить?

2) Слышал много хорошего и плохого о React Native. И так, стоит ли его изучать вообще? Можно ли на нем разрабатывать несложные мобильные приложения (пр.: для новостников, ресторанов и т.п. - простые приложения, с простыми API)?

3) Стоит ли вообще делать упор на изучение SPA сайтов, как Вы думаете? Я так понимаю в будущем в вебе только одни и приложения будут.
  • Вопрос задан
  • 1214 просмотров
Пригласить эксперта
Ответы на вопрос 2
raoffonom
@raoffonom
React Native Developer
1) Лучше SSR, если больше одной страницы. С Next.js SSR из коробки плюс можно использовать React-Native-Web.
2) Можно и сложные, так как любой нативный модуль можно дописать при потребности и кинуть бридж в JS слой. За 3 года работы с ним не встречал не решаемых задач. React Native лучшее решение на рынке, так как большинство нативных модулей уже написаны и доступны в open source. А хейтят React Native обычно нативщики, которые отстали от жизни и технологичных трендов.
3) Я понял что лучше не тратить время на сайты, а если и делать, то на react-native-web или еще лучше, но еще не пробывал react-native-dom
Ответ написан
crazy_leo
@crazy_leo
Frontend Developer
1) У SPA приложений проблема с SEO присутствует, так как приложение строится не на сервере, а на клиенте. Т.е все приложение, как ты писал выше, находится в js скриптах и сервер - отдает пустую html страницу со скриптами и т.д. Но само содержимое приложения в этой странице нет, так как оно формируется, после того как загрузились скрипты.
Получается, что поисковики видят пустую страницу без содержимого самого приложения.
Единственно, пока что google поисковик научился ждать, пока загрузятся скрипты и соответственно пока не построится приложение. Но есть очень много других поисковиков, которые это делать не умеют (Яндекс поисковик, к примеру).
Также плюс SSR в том, что страница быстрее появляется у клиента, так как оно строится как на клиенте так и на сервере. А без SSR, сначала отобразится пустая страница, потом загрузится скрипт и только потом отобразится само приложение. Но также рендеринг средних React приложений - это много вычислений, что на ноде очень плохо. (Но там можно делать свои хаки чтобы все работало шикарно)

Поэтому ты должен сравнить плюсы и минусы!

Если тебе хватает google поисковик и особо не нужно чтобы страница быстрее отображалась у клиента, то да можешь обойтись без SSR. (Конечно можешь использовать платные сервисы или какой либо виртуальный браузер, но это все гавно по сравнению с SSR. В этих решениях очень много минусов)

Если этого всего необходимо, то придется реализовать SSR. Это не сложно. Главное понять суть React и некоторых его сопутствующих библиотек если они используются (styled-components, redux). (Я реализовал SSR за 60 средних строк. Там много чего предусмотрено)

2) На нем можно создавать приложения, но я не использовал React Native и точно тебе сказать не могу. Но знаю что там, нету всего из коробки, если нужно будет что-то сложное, которого нет в React Native, то придется писать нативные модули под React Native. А так конечно можно его изучать и использовать.

3) SPA - тренд, поэтому надо. Также это очень хорошая концепция в перспективе, убедился на практике
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы