Next.js-Gründer Guillermo Rauch im Interview

„Das hybride Modell von Next.js erlaubt es Frontend-Entwicklern, auf Basis einzelner Seiten zu entscheiden, ob sie etwas statisch machen wollen“
Keine Kommentare

Next.js ist ein Framework für React-Anwender, das auf Low-Code-Prinzipien beruht und sowohl SSR als auch statische Seiten unterstützt. Wir haben mit Guillermo Rauch, dem Erfinder von Next.js, über das Framework gesprochen. Im Interview erklärt er, was hinter dem hybriden Ansatz von Next.js steht.

Entwickler: Was hat dich ursprünglich zur Entwicklung von Next.js inspiriert?

Guillermo Rauch: Die Inspiration hinter Next.js war es, Frontend-Teams die Nutzung von React als Motor hinter jeder Website und Anwendung zu ermöglichen. Ursprünglich wurde React von Facebook für einige sehr spezifische und hochgradig interaktive Website-Komponenten entwickelt, die sie betrieben haben. Wir haben aber das gleiche gesehen, was auch das Facebook-Team dann realisierte – dass React viel breiter eingesetzt werden kann. React steckte ursprünglich nicht hinter allem, was Facebook macht, aber Pete Hunt nutzte React dann, um die erste Version von Instagram Web zu bauen. Facebook ist außerdem dabei, seine gesamte Website zu re-launchen, neu geschrieben in React.

Next.js wurde also aus der Überzeugung heraus geboren, dass React die komplette Engine für eine neue Developer-Experience von Frontend-Entwicklern werden würde, nicht nur die Basis einzelner Komponenten. Und Next.js wurde zur Open-Source-Bewegung, die sich darauf konzentriert, wichtige neue Funktionen um React herum zu entwickeln, um dies zu ermöglichen.

Entwickler: Was sind die Kernkonzepte, um die herum Next.js gebaut wurde?

Rauch: Eine der grundlegenden Ideen hinter Next.js ist, dass Entwickler, die mit React arbeiten, Websites erstellen müssen, die aus mehreren Seiten bestehen, nicht nur Single Page Applications. Während Next.js also auch Single Page Applications unterstützt, wurde es speziell dafür entwickelt, auch Website-Modelle mit mehreren Seiten zu unterstützen.

Ein weiteres Kernkonzept von Next.js ist „Low Code“. Die Low-Code-Bewegung gab es noch nicht, als wir Next.js erstellt haben, aber wir haben gesehen, dass bereits für das Starten eines neuen Projekts für eine Website oder Web-Anwendung sehr viel Boilerplate und Konfiguration erforderlich war, und wie sehr das die Frontend-Entwickler störte. Daher waren Low Code und Zero Konfiguration zwei unserer Prioritäten im Design von Next.js.

Ein weiteres Konzept von Next.js besteht darin, der Web-Plattform treu zu bleiben. Wir wollten, dass die Plattform die Web-Konzepte der multiplen Seiten und Hyperlinks umfasst und eine bessere Möglichkeit bietet, Webseiten zu erstellen, ohne das Rad neu zu erfinden.

Wir haben auch ein tolles Konzept zur Abwärtskompatibilität. Man kann eine mit Next.js 0.1 erstellte Anwendung nehmen und dann auf die neueste Version 9.3 aktualisieren, und alles funktioniert perfekt. Wir haben unsere APIs erweitert, und wir haben uns immer darauf konzentriert, dass Benutzer, die ein Upgrade durchführen, nur die Vorteile und keine Probleme mit der Abwärtskompatibilität haben.

Entwickler: Lass uns ein wenig mehr über das serverseitige Rendering sprechen. Für welche Art von Projekt würdest du SSR empfehlen und warum?

Rauch: In der Vergangenheit hat man SSR genutzt, um gutes SEO und eine gute erste zufriedenstellende Leistung  der ersten content-haltigen Ansicht zu erreichen. Aber mit den neuesten Fortschritten bei der Generierung statischer Websites können wir außergewöhnliches SEO liefern und die Seite direkt von der Edge aus bedienen, ohne eine Reise in die Ursprungsregion zu unternehmen.

Entwickler: Kürzlich gab es ja auch Neuerungen für die Static Site Generation in Next.js. Was hat sich geändert und wie können die Benutzer davon profitieren?

Rauch: Ja, heute verfolgt Next.js einen hybriden Ansatz für die Darstellung. In gewisser Weise ist Next.js ein Meta-Framework — es gibt Entwicklern alle Stellschrauben für skalierbares Rendering an die Hand. Es unterstützt sowohl die Static Site Generation als auch das Server-Rendering. Und die Entwickler können an all diesen Schrauben auf Seitenbasis drehen. Es fühlt sich magisch an, wie leicht Next.js mit Low Code verwendbar ist. Next.js versteckt dabei aber die Komplexität nicht und erlaubt es dem Entwickler, tiefer zu gehen und in das Innere der Engine zu gelangen.

Dieses hybride Modell erlaubt es Frontend-Entwicklern, auf Basis einzelner Seiten zu entscheiden, ob sie etwas statisch machen wollen. Wenn sie das wollen, erhalten sie enorme Vorteile für SEO, Leistung und Verfügbarkeit. Wir haben API-Hooks eingeführt, um die Seiten von Websites statisch zu machen, ohne dass dafür Abstriche gemacht werden müssen. Das bedeutet, dass man jetzt Seiten erstellen kann, die aus dynamischen Inhalten erzeugt werden, wie z. B. ein CMS-Backend, aber die Ausgabe der Seite ist statisches HTML, das direkt von einem Edge-Netzwerk bedient werden kann. Mit anderen Worten, Next.js ermöglicht es Entwicklern, ihre Seiten dorthin zu bringen, wo die Kunden sind.

Entwickler: Welchen Rat möchtest du denjenigen geben, die mit Next.js arbeiten?

Rauch: Mein erster Rat wäre, mit nur einer Seite zu beginnen. Das Schöne an Next.js ist, dass man ein pages/Verzeichnis erstellen kann, dann die index.js oder product.js dort hineinlegen, und das war’s! Dann kann man damit beginnen, die Frontend-Erfahrung zu verbessern, eine Seite nach der anderen.

Next.js passt für eine sehr breite Palette von Anwendungsfällen. Man können also entweder damit beginnen, eine kleine Website zu erstellen, die vollständig statisch ist, oder eine sehr dynamische Erfahrung schaffen, d. h. Dinge wie Dashboards, Seiten, die sofort von der Edge aus geladen werden, aber dann mit benutzerdefinierten Daten und dynamischen API-Aufrufen usw. erweitert werden.

Und der beste Weg, damit zu beginnen, ist: https://nextjs.org/learn

Im Interview: Guillermo Rauch
Guillermo Rauch is the creator of NextJS, a popular framework for building React applications. He is also the CEO of ZEIT, a cloud hosting company. Before starting ZEIT in November 2015, Guillermo was the CTO and co-founder of LearnBoost and Cloudup, acquired by Automattic in 2013. He’s the creator of several popular Node.js open source libraries like socket.io, mongoose and slackin. Prior to Node.js, he was a core developer of the MooTools frontend toolkit.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -