d-sektionen / dsek-frontend

this will eventually become the new d-sektionen.se
5 stars 0 forks source link

Flytta från CRA till Vite, NextJS eller Remix #22

Open Mafrans opened 4 months ago

Mafrans commented 4 months ago

Create-React-App uppdateras inte sedan April 2022 och är föråldrat ur ett frontendhänseende. Dokumentationen för React rekommenderar också inte längre CRA som byggsystem. Jag föreslår därför att flytta systemet till ett av tre alternativ:

Vite: Vite liknar CRA då det är ett SPA system som automatiskt bygger javascript och css. Vite använder esbuild under huven och är därför upp till 100x snabbare än CRA (som använder webpack). Vite är praktiskt eftersom det i princip bara är att byta CRA till Vite så borde allt funka direkt.

NextJS: NextJS är frameworket som React själva rekommenderar i sin dokumentation. Min förståelse är också att Next är det i princip alla använder i branschen. En flytt från React till NextJS innebär en del arbete då NextJS har egna implementationer för routing och kör som en separat server (vilket innebär att Nginx måste konfigureras som en proxy istället för som en filserver) men jag upplever att i det långa loppet är Next det system som fungerar överlägset bäst för sidor som t.ex d-sektionen.se.

Remix: Remix är ett nyare system utvecklat för att snabba upp SPA-sidor. I detta fallet upplever jag det inte som optimalt för d-sektionens webbsida, men som en grund är det praktiskt då det är flexibelt och kan användas som en standard för alla WebbUs frontendsystem. Likt NextJS är Remix en egen server som måste konfigureras som en proxy.

Mafrans commented 4 months ago

Ser nu att https://github.com/d-sektionen/medlem använder Gatsby. Tycker själv Gatsby är ganska kasst i jämförelse med Remix och Next men en lösning hade varit att standardisera Gatsby för alla våra projekt. Det är viktigare att projekten fungerar likadant än att vi använder lösning X istället för lösning Y.

Tror det behövs diskuteras kodstandarder in general. Verkar som att de flesta projekten är väldigt huller-om-buller just nu vilket blir jobbigt för nya utvecklare.