Zum Inhalt springen

Anwendungsarchitektur

Next.js-App-Router-Entwicklung

App-Router-Architektur für Teams mit eigenen Entwicklern - die Server-Client-Grenze, das Caching-Modell und die Routenstruktur bewusst entschieden, mit Ihren Leuten in den Pull Requests.

Das hier ist der Text, wenn Sie Entwicklerinnen haben und das Problem nicht Kapazität ist. Sie bauen auf dem App Router, das Team kann das, und die Architekturentscheidungen trifft gerade, wer die Datei zuletzt angefasst hat.

Wenn Sie ein Produkt von Anfang bis Ende gebaut haben wollen, ist das Anwendungsentwicklung und ein anderes Engagement - dort halten wir die Lieferung. Hier halten Sie sie, und wir sorgen dafür, dass das Modell darunter stimmt, während Ihr Team darauf baut.

Die vier Entscheidungen, die später teuer sind

Wo die Client-Grenze sitzt. use client driftet zur Wurzel, ein vernünftiger Commit nach dem anderen - ein Dropdown braucht State, der Header bekommt die Direktive, und achtzehn Monate später ist das Layout eine Client-Komponente und jede Route liefert den ganzen Baum aus. Wir setzen die Grenze bewusst und machen sie zur Review-Regel, was mehr wert ist als jeder Bundle-Analyzer, weil es die Drift beim Entstehen fängt.

Welcher Cache was hält. Es gibt vier, mit vier Lebensdauern, und "wir haben die Daten geändert und die Seite hat sich nicht aktualisiert" ist fast immer eine Verwechslung zwischen ihnen und kein Bug. Eine Tag-Namenskonvention, die Ihr Team tatsächlich anwendet, ist hier die Leistung.

Was eine Route dynamisch machen darf. Ein cookies()-Aufruf in einer gemeinsamen Komponente macht jede Route darunter dynamisch und kostet Sie das CDN. Zu wissen, welche Zugriffe das tun, und sie hinter einer Grenze zu halten, ist der Unterschied zwischen einer Seite, die von der Edge ausliefert, und einer, die pro Besucher rendert.

Wie Routen organisiert sind. Route Groups, Parallel Routes und Intercepting Routes lösen echte Probleme und sind zugleich der einfachste Weg, etwas zu bauen, in dem sich niemand zurechtfindet. Wir nehmen sie, wo sie sich verdienen.

Wie es abläuft

Keine Präsentation. Wir arbeiten für einen festen Zeitraum in Ihrem Repository

  • typischerweise vier bis acht Wochen - und die Arbeit sind Pull Requests, die Ihre Entwicklerinnen reviewen, plus die Konventionen, aufgeschrieben dort, wo der Code ist.

Die übliche Form:

  1. Eine Lesung des Bestands. Der Rendering-Modus jeder Route, die Grenze, die verwendeten Caches, das First Load JS pro Route. Zwei Wochen, und dasselbe Dokument, das ein Audit erzeugt.
  2. Die Entscheidungen, getroffen und aufgeschrieben. Grenzregel, Tag-Konvention, Routenstruktur, und was dynamisch sein darf.
  3. Angewandt auf die Routen, die zählen, mit Ihrem Team in den Reviews. Nicht auf alle - auf genug, dass das Muster eindeutig ist und sie es zu Ende bringen können.
  4. Ein Performance-Budget in der CI, damit die Entscheidungen das Engagement überleben.

Warum das eine eigene Leistung ist

Weil die Alternative ein Team ist, das das Rendering-Modell über Produktionsvorfälle lernt - die teuerste Art, es zu lernen, und die häufigste.

Das meiste, was in App-Router-Anwendungen schiefgeht, ist keine Schwierigkeit. Es ist, dass die Defaults gut genug zum Ausliefern sind, also entscheidet niemand, und die Entscheidungen fallen aus Versehen. Die vollständige Erklärung des Modells ist öffentlich - das App-Router-Rendering-Modell, richtig erklärt - und das hier ist genau das, angewandt auf Ihre Codebasis mit Ihren Entwicklerinnen.