Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:modul:ffit:3-jahr:cicd:learningunits:lu10:a [2026/04/28 15:39] apeterde:modul:ffit:3-jahr:cicd:learningunits:lu10:a [2026/05/21 09:26] (aktuell) apeter
Zeile 22: Zeile 22:
   * Inhalte werden abhängig vom Request zur Laufzeit erzeugt (.php-> .html, ...)   * Inhalte werden abhängig vom Request zur Laufzeit erzeugt (.php-> .html, ...)
 </WRAP> | </WRAP> |
 +
 +==== SSR vs. Entkoppelte Frontend/Backend-Architektur ====
 +
 +In modernen Webprojekten wird häufig eine klare Trennung von Frontend und Backend umgesetzt:
 +
 +Frontend: z. B. mit Angular, React oder Vanilla JS
 +Backend: REST- oder GraphQL-API (z. B. in Node.js, Java, Python)
 +
 +Diese Architektur bietet klare Vorteile:
 +
 +  * Lose Kopplung (Frontend und Backend unabhängig entwickelbar)
 +  * Austauschbarkeit (z. B. Frontend-Technologie wechseln)
 +  * Einfache Deployments (statische Dateien + API)
 +  * Gute Skalierbarkeit
  
 ==== Static vs dynamic hosting ==== ==== Static vs dynamic hosting ====
  
-Ob etwas statisch deploybar ist, hängt nicht von den Features ab, sondern davon, ob der Server zur Laufzeit am Rendering beteiligt ist (Architekturfrage).+Ob etwas statisch deploybar ist, hängt nicht von den Features ab, sondern davon, ob der Server zur Laufzeit am Rendering beteiligt ist
 + 
 +Es ist also eine Architekturfrage, ob man Server-Side-Rendering (SSReinsetzt oder nicht. 
 Salopp gesagt, können die meisten Webapplikationen in ein statisches Frontend und ein (allfälliges) dynamisches Backend aufgeteilt werden. Salopp gesagt, können die meisten Webapplikationen in ein statisches Frontend und ein (allfälliges) dynamisches Backend aufgeteilt werden.
 +
 +Statische Webseiten sind möglich bei
 +  * Vanilla / Plain Html und JS
 +  * Angular
 +  * React
 +  * Vite
 +  * Astro (default)
  
 Ausnahmen sind  Ausnahmen sind 
   * PHP   * PHP
-  * Next.js mit getServerSideProps → braucht Node-Server +      * .php 
-  * Express mit Templates (EJS, Pug)+  * Next.js mit API/SSR 
 +      * getServerSideProps 
 +      * Routing (route.js, route.ts, "/api/*"
 +      * NextResponse 
 +      * cookies() 
 +      * headers() 
 +  * Express mit Templates 
 +      * .ejs 
 +      * .pug 
 +      * .hbs
  
 ==== Next.js ==== ==== Next.js ====
 +
 +''next.config.js''
 <code javascript> <code javascript>
 const nextConfig = { const nextConfig = {
Zeile 41: Zeile 76:
 module.exports = nextConfig; module.exports = nextConfig;
 </code> </code>
 +
 +Nach dem erfolgreichen Ausführen von folgendem Befehl, sind die fertigen Dateien unter ''/out'' verfügbar.
 <code bash> <code bash>
 npm run build npm run build
 +</code>
 +
 +<code bash>
 +npx serve out
 +</code>
 +
 +Mögliche Fehler:
 +  * „Route Handlers are not supported with output: export“
 +  * „Dynamic server usage“
 +
 +
 +==== Vite ====
 +
 +Sofern Das Projekt auf der AWS-Umgebung deployed wird, muss der Root-Pfad der Applikation neu gesetzt werden.
 +
 +vite.config.js
 +<code javascript>
 +// vite.config.js
 +export default defineConfig({
 +  base: './',
 +  ...
 +})
 </code> </code>
  • de/modul/ffit/3-jahr/cicd/learningunits/lu10/a.1777383577.txt.gz
  • Zuletzt geändert: 2026/04/28 15:39
  • von apeter