Выбор между React, Gatsby и Next.js для вашего внешнего интерфейса

Выбор между React, Gatsby и Next.js для вашего внешнего интерфейса

18 марта 2022 г.

С последними тенденциями в области фронтенд-веб-разработки мы увидели множество дополнений в коллекции фреймворков JavaScript, каждый из которых по-своему уникален, имеет свои преимущества и недостатки.


Таким образом, я хотел взглянуть только на сторону React, проверить основные 2 фреймворка, построенные поверх библиотеки React, и понять, почему кто-то выбирает один против других, и что каждый из них приносит на стол в условия Front-End разработки.


Примечание: В этой статье для простоты я буду сравнивать только основную причину, по которой каждая инфраструктура/библиотека была создана для выполнения/основного типа приложения, для которого используются эти технологии:


  • Реагировать -> SPA

  • Гэтсби -> ССГ

  • Next.js -> ССР

Если вы хотите более подробно изучить другие приложения, которые можно создать с использованием этих технологий, я дам вам подсказку:


  • Приложения React -> MPA, SSG или SSR (поскольку Gatsby.js и Next.js были построены поверх React, очевидно, что вы сможете сделать это из приложения CRA, если хотите)

  • Next.js -> SSG (Next.js официально поддерживает настройку приложений SSR и SSG)

Во-первых, нам нужно освоиться с тремя важными понятиями:


  • SEO (поисковая оптимизация)

  • SSR (рендеринг на стороне сервера)

  • SSG (генератор статических сайтов)

После этого мы сможем продолжить сравнение и проанализировать плюсы и минусы каждого подхода с точки зрения выбора Front-End технологий (Framework/Library в нашем случае):


1. SEO (поисковая оптимизация)


Возможно, вы уже знакомы с этой концепцией, поскольку в настоящее время она используется повсюду, но если вы этого не сделаете, SEO имеет в виду процесс / оптимизацию веб-сайта, целью которого является повышение рейтинга в поисковой системе Google.


Хорошо оптимизированный веб-сайт с точки зрения SEO, скорее всего, будет указан на первых нескольких страницах Google.


2. SSR (рендеринг на стороне сервера)


SSR относится к способности приложения отображать содержимое на сервере (внутренняя часть) и возвращать всю отображаемую страницу, в отличие от отображения страницы в браузере.


Это похоже на то, как PHP, Ruby, Java и другие серверные языки/фреймворки с самого начала обслуживали контент.


Все данные будут обработаны на сервере, и только после того, как все будет сделано, контент будет отправлен обратно клиенту.


3. SSG (генератор/генерация статических сайтов)


SSG — это инструмент, который позволяет создавать полноценные HTML-страницы на основе предопределенных шаблонов и необработанных данных, подготовленных для рендеринга заранее. В отличие от традиционных CMS, которые управляются базой данных, SSG генерируют контент из статических файлов Markdown/GraphQL без необходимости в базе данных.


Теперь, когда мы немного освоились с этими концепциями, давайте проверим плюсы и минусы каждой упомянутой технологии в сравнении с другими:


Реагировать


Плюсы:


  • Поддерживает создание SPA (одностраничных приложений)

  • Быстрое время разработки

  • Более высокая настраиваемость

  • Без мнения

  • Отличный универсал

  • Огромный рынок разработчиков, знающих React

Минусы:


  • Требуется больше усилий для улучшения SEO

  • Обычно более медленные приложения

  • Большая начальная отрисовка контента, которая может оказаться долгой в процессе загрузки при первом открытии приложения.

Гэтсби


Плюсы:


  • Поддерживает SSG и SSR из коробки

  • Отличное выступление

  • Множество плагинов/сторонних интеграций для использования

  • Отлично подходит для SEO

  • Более безопасный

  • Быстрое время разработки

Минусы:


  • Плохо, когда ваше приложение требует много обновлений

  • Немного самоуверен в отношении Node.js и GraphQL (хотя можно использовать и пользовательский API)

  • Со временем может усложниться из-за необходимости большого количества настроек.

Next.js


Плюсы:


  • Поддерживает как SSR, так и SSG из коробки

  • Отлично подходит для SEO из-за SSR Хорошая производительность

  • Легкий

  • Простой процесс настройки

  • Легко настраиваемый

Минусы:


  • С большим мнением

  • Скорее всего, станет чрезвычайно сложным позже в процессе разработки

Какой из них следует использовать?


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


Реагировать


В результате плюсов и минусов React CRA лучше всего подходит для сценариев, где SEO не так важно или где время разработки должно быть коротким.


Случаи применения:


  • В основном все, что доступно только после авторизации

  • Платформы управления

  • CRM

  • Панели инструментов

Гэтсби.js


Всякий раз, когда требуется хорошее SEO и редко меняющийся контент, Gatsby хорошо подходит.


Случаи применения:


  • Блоги

  • Страницы презентации

  • Небольшие приложения электронной коммерции

  • Домашние страницы Документы

Next.js


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


Случаи применения:


  • Платформы социальных сетей

  • Большие приложения для электронной коммерции

  • SaaS-приложения

Заключение


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


Всем привет!


Эта статья была впервые опубликована [здесь] (https://medium.com/web-dev-freelancing/react-gatsby-next-js-what-to-choose-for-your-next-apps-frontend-f7aa09529b38)



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE