Improve readme

This commit is contained in:
Enrico Bühler 2024-06-29 18:49:37 +02:00
parent 1437dd3b60
commit 2b3f69acdb

View File

@ -4,16 +4,22 @@ Dies ist das Repository mit dem Quellcode der vspace.one Webseite.
## Tech-Stack ## Tech-Stack
Das Projekt nutzt als Basis die ["Astro"]("https://astro.build") Framework. Das Projekt nutzt als Basis die [Astro]("https://astro.build") Framework.
Als Laufzeit empfehlen wir ["Bun"]("https://bun.sh"), es sollte allerdings auch möglich sein Node.js zu verwenden. Als Laufzeit empfehlen wir [Bun]("https://bun.sh"), es sollte allerdings auch möglich sein Node.js zu verwenden.
### Wieso nicht React, Vue oder XYZ...? ### Wieso nicht React, Vue oder XYZ...?
Ziel ist es die Seite vielen Menschen zugänglich zu machen. Ziel ist es die Seite so vielen Menschen wie möglich zugänglich zu machen.
Bisher nutzt die Seite ausschließlich Astro Komponenten, welche vom Prinzip her eine Abstraktion über HTML sind, und sehr nah am Web-Standard im Vergleich zu vielen anderen Frameworks. Deshalb nutzt die Seite bisher eine Kombination von Astro Komponenten und Markdown/MDX. Bei Astro Komponenten handelt es sich vom Prinzip her um eine Abstraktion über HTML, die sehr nah am Web-Standard ist, im Vergleich zu vielen anderen Frameworks.
Allerdings ist es in Astro auch problemlos möglich mit bspw. React zu arbeiten. Dies funktioniert über ["Islands/Inseln"]("https://docs.astro.build/de/concepts/islands/"). Der Astro Syntax ähnelt JSX (Bekannt durch React) ist allerdings näher an typischem HTML dran (Bsp: React - ```className```, Astro - ```class```).
Das bedeutet wenn jemand nur HTML beherrscht ist es ihm trotzdem möglich etwas zur Seite beizutragen.
Um dies weiter zu erleichtern macht die Seite starken gebrauch von wiederverwendbaren Komponenten. Siehe: [Komponenten](#komponenten)
Allerdings ist es in Astro auch problemlos möglich mit bspw. React zu arbeiten. Dies funktioniert über [Islands/Inseln]("https://docs.astro.build/de/concepts/islands/").
Hierbei handelt es sich um Inseln die in dem Projekt eingebetteten werden (Sinnbildlich, nicht zu verwechseln mit iframes). In diesen Islands können React, Vue.js sowie viele weitere libraries verwendet werden. Hierbei handelt es sich um Inseln die in dem Projekt eingebetteten werden (Sinnbildlich, nicht zu verwechseln mit iframes). In diesen Islands können React, Vue.js sowie viele weitere libraries verwendet werden.
Ziel ist es soweit wie möglich mit Astro auszukommen, da wir hierdurch zu großen Teilen auf Client-Seitiges JavaScript verzichten können, was die Bundle Size klein hält und die Ladezeiten schnell. Ziel ist es soweit wie möglich mit Astro auszukommen, da wir hierdurch zu großen Teilen auf Client-Seitiges JavaScript verzichten können, was die Bundle Size klein hält und die Ladezeiten schnell.
@ -53,3 +59,6 @@ Bun:
```bun preview``` ```bun preview```
Node.js/NPM: Node.js/NPM:
```npm preview``` ```npm preview```
## Komponenten