Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Anjali Ariscrisnã
Alex Gouveia

Min Read

25. Februar 2024

Next.js gegen Gatsby: Welches soll man wählen?

Wann immer wir eine statische Website erstellen wollen, die schnell und SEO-freundlich ist und eine großartige Benutzererfahrung bietet, wählen wir eines der beiden am häufigsten verwendeten React-Frameworks: Next.js gegen Gatsby.

Während Next.js dynamisch gerendert wird, wird Gatsby vorher statisch generiert und gerendert. Wenn Sie eine React-Website oder -Anwendung erstellen möchten, ohne sich mit Routing, Konfiguration oder serverseitigem Rendern befassen zu müssen, werfen Sie einen Blick auf die Unterschiede zwischen Next.js gegen Gatsby, seine Anwendungen und wann welche verwendet werden sollen.

Was ist Next.js?

Wie wir bereits in früheren Blogbeiträgen behandelt haben, Next.js ist ein React-basiertes Framework, das serverseitig gerenderte Apps erstellt und ermöglicht es Suchmaschinen, React-Apps ohne Konfiguration einfach zu optimieren. Es wird im Allgemeinen verwendet, um Landingpages, SEO-freundliche Websites, E-Commerce-Shops und alle Arten von Webanwendungen, die leistungsstarke Ladezeiten benötigen.

Warum sollte ich Next.js verwenden?

Auswahl des besten Frameworks für die Entwicklung einer Web-App

hängt in der Regel von den Produktionsanforderungen und den mittel-/langfristigen Zielen Ihres Projekts ab. Dies sind jedoch einige der Hauptvorteile der Verwendung von Next.js:

  1. Erleichtert das Programmieren
  2. Es ist schnell
  3. Das Rendern ist schnell
  4. Es hat eingebautes CSS
  5. Ermöglicht eine bessere Bildoptimierung
  6. Es hilft, die Suchmaschinenoptimierung zu verbessern
  7. Es ist ESLint-kompatibel
  8. Ermöglicht eine einfache Anpassung und Bereitstellung
  9. Hat API-Unterstützung

Lesen Sie auch:

blue arrow to the left
Imaginary Cloud logo

Was ist Gatsby?

Genau wie Next.js, Gatsby basiert ebenfalls auf React und ist ein Static Site Generator, was bedeutet, dass Gatsby für uns statische HTML-Dateien produziert, die wir auf einen Server laden. Das funktioniert anders als viele Websites, bei denen Sie eine Website besuchen und es eine Datenbank abfragen oder auf dem Server selbst programmieren muss, um Ihre Webseiten bereitzustellen. Gatsby wird diese Konvention brechen, alle Dinge im Voraus vorkonfigurieren und das bereitstellen.

Es wird wichtig, das zu erwähnen statische Seiten bedeuten nicht interaktiv oder nicht dynamisch. Wir können zum Beispiel JavaScript in die HTML-Dateien laden, die Gatsby bereitstellt, API-Aufrufe tätigen, Interaktionen durchführen und außergewöhnlich umfangreiche und immersive Websites erstellen, obwohl sie ihrer Natur nach statisch sind.

Eines der guten Dinge an Gatsby ist, dass es verwendet GraphQL, eine Abfragesprache, mit der Daten von überall abgerufen werden können. Dies ist eine Weiterentwicklung der Art und Weise, wie API-Aufrufe einfacher und effizienter gestaltet werden können. Diese Funktion heißt Datenschicht.

Gatsby benutzt auch React und CSS. Während React für alle Vorlagen verwendet wird, wird CSS für das Styling verwendet.

Warum sollte ich Gatsby verwenden?

In einem einfachen Satz benutzt du Gatsby für Geschwindigkeit, Sicherheit und verbessertes Entwicklererlebnis.

Einer der größten Vorteile, die Sie mit Gatsby erzielen, da es eine statische Website generiert, ist wohl die Geschwindigkeit. Sie werden sehen, dass es viel schneller sein wird als viele der Alternativen, z. B. sogar zwischengespeicherte Websites, die WordPress verwenden, da diese Statik wirklich schwer zu übertreffen ist. Das liegt daran, dass Gatsby auf anpassbaren Plugins und Themes basiert, wie wir weiter unten sehen werden, wodurch der Prozess der Entwicklung einer Web-App oder Software viel schneller ist als in Next.js.

Außerdem ist dies aufgrund der statischen Natur und des bloßen Versands von HTML-Dateien von Natur aus sicherer. Es gibt keine Datenbank zum Hacken oder Zugreifen, keine Benutzerdaten, die auf dem Server mit der Gatsby-Seite gespeichert werden. Selbst wenn also jemand den Server selbst hacken könnte, erhält er nur Zugriff auf HTML-Dateien und kann weitaus weniger Schaden anrichten, als wenn er beispielsweise Zugriff auf Benutzerdaten, Einkäufe, Kreditkartennummern usw. erhalten würde.

Schließlich kann es für Entwickler sehr anstrengend sein, in veralteten Stacks zu arbeiten, und die moderne Entwicklungsumgebung ist ein großer Vorteil der Zusammenarbeit mit Gatsby. Die Tools sind einfach und robust, die Sprachen sind modern und sauber, und insgesamt ist es eine wirklich reibungslose Umgebung, in der man arbeiten kann.

Was sind Gatsby-Plugins?

Gatsby basiert auf einer Plugin-Architektur und verfügt über ein riesiges Ökosystem von Plugins, sowie Gatsby-Themen.

Plugins befinden sich zwischen dem Code, der geschrieben wird, und dem Code, der ausgegeben wird, und wie wir bereits gesagt haben, läuft alles durch Gatsby, was es ermöglicht, zwischen allem zu wechseln und es einfach zu komprimieren - egal, ob es sich um ein Bild oder einen CSS-Code handelt, der kompiliert werden muss und so weiter.

Ist Gatsby ein SSR oder CSR?

Die einfache Antwort ist, dass Gatsby tatsächlich beide unterstützt. SSR (Serverseitiges Rendern) und CSR (Clientseitiges Rendern).

SSR ist die gängigste Methode zur Anzeige von Inhalten auf einem Bildschirm. Dabei werden HTML-Dateien auf dem Server in browserfreundliche Daten umgewandelt. Einfach ausgedrückt, ermöglicht es Ihnen, eine Seite mit Daten, die abgerufen werden, wenn ein Benutzer eine Seite besucht, vorab zu rendern. Gatsby unterstützt SSR durch asynchrone Funktionen, wie Sie sehen können hier.

Auf der anderen Seite CSR ist relativ neu im Rendern von Websites. Sie können damit reguläre Seiten erstellen, wodurch die Website oder App viel reaktionsschneller und reibungsloser wird. Mithilfe von CSR können Sie Websites im Browser mithilfe von JavaScript rendern. Das bedeutet, dass Sie nicht für jede Route eine andere HTML-Seite verwenden müssen, sondern jede Route dynamisch im Browser erstellen können.

Wann sollten Sie Gatsby nicht nehmen?

Wenn Sie viele Inhalte haben oder erwarten, dass Ihre Inhalte im Laufe der Zeit wachsen, ist eine statisch generierte Website möglicherweise nicht die beste Lösung für Sie, da die Erstellung Ihres Website-Projekts aufgrund der Menge an Inhalten viel länger dauert.

Wenn Sie eine sehr große Website oder App mit Tausenden von Seiten erstellen, kann der Wiederaufbau sehr langsam sein. Und wenn Sie 20 Minuten warten müssen, bis Sie auf Veröffentlichen klicken, bevor es live geht, ist das keine sehr gute Lösung.

Einfach ausgedrückt, Wenn Sie eine Website mit Inhalten haben, von denen Sie erwarten, dass sie im Laufe der Zeit wachsen, dann skaliert Gatsby nicht für Sie. Und Sie müssen nicht nur darüber nachdenken, wie viel Inhalt Sie jetzt haben, sondern auch darüber, wie viel Sie in Zukunft erwarten, d. h. die Anzahl der Seiten berücksichtigen, die Sie in Zukunft erwarten, wenn Sie zwischen Next.js und Gatsby wählen.

4 things to remember when choosing a tech stack for your web development project
blue arrow to the left
Imaginary Cloud logo

Next.js gegen Gatsby: Welches ist das Beste?

Einer der Hauptkontraste zwischen Next.js und Gatsby ist, dass Next.js ursprünglich ein serverseitiges Rendering-Tool ist. Mit anderen Worten, es unterstützt nur Static Site Generation (SSG) seit der Version 9.3. Auf der anderen Seite ist Gatsby ein statischer Site-Generator, daher gibt es dafür viele sofort einsatzbereite Lösungen, wie Gatsby Themes, ein ziemlich umfangreiches Plug-in-Ökosystem usw. Schauen wir uns die Hauptunterschiede zwischen den beiden an, nämlich wie sie mit Daten und Routing umgehen und wie sie bereitgestellt werden.

Wie sie mit Daten umgehen

Ein weiterer Unterschied ist die Art und Weise, wie sie mit Daten umgehen. Während Gatsbys Datenabruf standardmäßig über GraphQL erfolgt, ist es in Next.js etwas flexibler und Sie können so ziemlich selbst entscheiden, wie Sie das Abrufen von Daten angehen. Schauen wir uns das genauer an:

  • Next.js ist unvoreingenommen darüber, wie Sie mit Ihren Daten umgehen und der einzig relevante Faktor dafür ist, dass es eine eigene Lifecycle-Methode hat, die heißt Holen Sie sich die ersten Requisiten Dies ist eine asynchrone Methode, die aufgelöst werden muss, bevor die Daten vom Server an den Client gesendet werden können. Am Ende des Tages, statt Holen Sie sich die ersten Requisiten, die Dokumentation empfiehlt die Verwendung Holen Sie sich statische Requisiten oder Serverseitige Requisiten abrufen da diese Abrufmethoden immer auf dem Server (niemals auf dem Client) ausgeführt werden, Ihnen eine granulare Wahl zwischen statischer Generierung und SSR ermöglichen.
  • Next.js ist es zwar „egal“, wie Sie an die Daten kommen, Mit Gatsby können Sie Daten von jeder gewünschten API beziehen oder Markdown-Datei, und sie stellt sie Ihnen über die GraphQL-API zur Verfügung. Wenn Sie Ihre Seiten erstellen, schreiben Sie Abfragen an die GraphQL-API für eine Liste von Blogbeiträgen oder zum Seiteninhalt. Zum Zeitpunkt des Renderns wird Ihnen diese API zur Verfügung gestellt und dann werden diese HTML-Seiten für Sie gerendert. Alles in allem muss Gatsby wissen, was auf Ihrer Website passiert, wo sich all Ihre Daten, all Ihre Bilder und all Ihre Stile befinden.

Wie sie mit Routing umgehen

  • Next.js: Sie haben einen Ordner namens pages, in dem Sie index.js, about.js und andere Unterordner mit Seiten darin erstellen können. Hier gibt es kein Routing zur Konfiguration, Sie erstellen einfach Seiten im Seitenverzeichnis und schon kann es losgehen. Dynamische URLs sind auch möglich über Klammersyntax was ermöglicht fange alle Routen du brauchst vielleicht.
  • Gatsby: Hier können Sie auch ein Seitenverzeichnis haben, sie haben jedoch auch eine API, mit der Sie Routen dynamisch erstellen können. Zum Beispiel haben wir oben über die GraphQL-API gesprochen, mit der Sie eine Abfrage von Blogbeiträgen erstellen und diese dann durchgehen und die verwenden können Seite erstellen API zur dynamischen Erstellung der Seiten. Hier kannst du angeben, was der Slug ist und welche Komponente gerendert werden soll. Angenommen, Sie haben eine Liste mit 10.000 Blogbeiträgen, Sie können sie einfach durchgehen und dynamisch Seiten für jeden einzelnen erstellen.

So werden sie eingesetzt

  • Next.js: Dies ist eine Node-Anwendung, die Sie so ziemlich überall hosten können, wo Sie möchten. Aktuelle Versionen der Node-Hosting-Plattform ermöglichen es Ihnen jetzt, Ihre Node-Apps oder Next.js -Anwendungen in serverlose Anwendungen umzuwandeln.
  • Gatsby: du kannst es hosten, wo du willst. Am Ende des Tages wird Gatsby in eine Reihe von CSS, HTML und JavaScript herunterkompiliert, die überall eingesetzt werden können, wo Sie möchten, ohne dass eine spezielle Konfiguration erforderlich ist, da es bereits Ordner mit jedem Ihrer Blogbeiträge und jeder Ihrer Seiten erstellt.
blue arrow to the left
Imaginary Cloud logo

Fazit

Egal was passiert, Sowohl Next.js als auch Gatsby sind wirklich großartige Tools zum Erstellen statischer Seiten, und die Entscheidung, welches man wählen soll, ist wirklich eine Frage von Anforderungen an das Projekt. Eines der wichtigsten Dinge, die Sie berücksichtigen sollten, ist jedoch, wie viele Aktualisierungen Ihre Website im Laufe des Tages erhalten wird. Wie bereits zuvor erklärt, ist Next.js ein serverseitiges Rendering-Tool und alle Updates erfolgen ziemlich dynamisch, während bei Gatsby jedes Update bedeutet, dass Sie Ihre Website immer wieder neu erstellen müssen, es sei denn, Sie verwenden das SSR-API das ermöglicht das Rendern einer Seite zur Laufzeit mit Daten, die abgerufen werden, wenn ein Benutzer die Seite besucht.

Im Allgemeinen ist es jedoch einfacher, eine Website mit Gatsby zu erstellen, da sie viele Plugins und gebrauchsfertige Lösungen enthält. Wenn Sie eine einfache Website erstellen möchten, die nicht zu viele tägliche Updates benötigt, können Sie Gatsby auswählen. Bei diesen Websites kann es sich um Unternehmenswebsites, Landingpages für Ihr Produkt oder sogar um einen persönlichen Blog handeln. Auf der anderen Seite Next.js ist ein wirklich großartiges Tool, um herausragende und maßgeschneiderte Benutzererlebnisse zu erstellen, und es wird hauptsächlich zum Aufbau großer E-Commerce-Shops verwendet, wenn Sie viele tägliche Updates auf Ihrer Website haben oder wenn Sie ein wirklich großes Webportal erstellen möchten, auf dem Sie viele Benutzer haben. Next.js ist eine großartige Option, wenn Ihr Projekt mehr serverseitiges Rendern als die Generierung statischer Websites erfordert.

Jedes Jahr lesen mehr als 500.000 Menschen unseren Blog und bei Themen wie Next und Gatsby stehen wir an der Spitze von Google. Wenn dir dieser Blogbeitrag gefallen hat und du gerne alle unsere Blogbeiträge lesen würdest, schau mal hier.

blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
Anjali Ariscrisnã
Anjali Ariscrisnã

Vielseitiger und datengesteuerter Wachstumsvermarkter mit fundierten Geschäftskenntnissen, der über die neuesten Entwicklungen in der digitalen Marketinglandschaft auf dem Laufenden gehalten wird.

Read more posts by this author
Alex Gouveia
Alex Gouveia

Ein Entwickler, der von den Kulturen der Welt, technologischen Fortschritten und dem Potenzial der Menschen fasziniert ist.

Read more posts by this author

People who read this post, also found these interesting:

arrow left
arrow to the right
Dropdown caret icon