A study of differences in performance and environmental impact across three different rendering strategies.
The project test and evaluate, performance and dataload using Google Lighthouse metrics for:
- React set up as a single page application with full client side rendering
- Astro(SSG) + Svelte(island-style) integration setup as a islands style (Javascript in client-view hydration only)
- Astro(SSG) + Svelte(full load) integration set as full load of all Javascript of every site tested.
Collected data as raw-JSON in /lighthouse/performanceData.json
git clone https://github.com/KenZan00/web-performance-comparison-react-astro.svelte.git
For each frontend and backend API
npm install
npm run build
npm run preview -- --port ****
*Note - Map the ports to lighhouse ports if you want to run the full test-suite. The following ports are used by the lighthouse set up:
- React: 4173
- Islands: 4200
- Load: 4300
npm run dev
node lighthouse/runTests.js
Data is stored in /lighthouse/performanceData.json