---
sidebar_position: 4
---

# Glossary

## BFF

BFF is short for "Backend For Frontend". It is an architecture pattern that involves creating a backend service for frontend applications.

The BFF service acts as an intermediary between the frontend application and the server API, and can provide customized APIs for the frontend to use. This allows frontend developers to have more control over the data and functionality they need, without relying on the backend service to provide the corresponding capabilities.

## Bundler

import Bundler from '@site-docs-en/components/bundler.mdx';

<Bundler />

## Builder

import Builder from '@site-docs-en/components/builder.mdx';

<Builder />

## CSR

CSR stands for "Client-Side Rendering". It means that the page is rendered in the browser using JavaScript, and logic such as data fetching, templates, and routing is completed on the client side rather than the server.

In CSR, the server sends an empty HTML shell and some JavaScript scripts to the browser, and the browser fetching data from the server's API and renders dynamic content to the page.

## Garfish

[Garfish](https://garfishjs.org/) is a micro-frontend solution mainly used to solve problems such as cross-team collaboration and diversified technology systems in web applications.

Starting from the architecture level, it combines multiple independently delivered frontend applications into a whole. These frontend applications can be developed, tested, and deployed independently, but in the user's perspective, they are still cohesive single products.

## Micro-frontend

import MicroFrontend from '@site-docs-en/components/micro-frontend.mdx';

<MicroFrontend />

## Module Federation

import ModuleFederation from '@site-docs-en/components/module-federation.mdx';

<ModuleFederation />

## Rsbuild

import Rsbuild from '@site-docs-en/components/rsbuild.mdx';

<Rsbuild />

## Rspack

import Rspack from '@site-docs-en/components/rspack.mdx';

<Rspack />

## SSR

SSR stands for "Server-Side Rendering". It means that the HTML of the web page is generated by the server and sent to the client, rather than sending only an empty HTML shell and relying on JavaScript to generate the page content.

In traditional client-side rendering, the server sends an empty HTML shell and some JavaScript scripts to the client, and then fetching data from the server's API and fills the page with dynamic content. This leads to slow initial page loading times and is not conducive to user experience and SEO.

With SSR, the server generates HTML that already contains dynamic content and sends it to the client. This makes the initial page loading faster and more SEO-friendly, as search engines can crawl the rendered page.

## SSG

SSG stands for "Static Site Generation". It means that web pages are pre-rendered as static HTML and served directly to the client, without the need for the server to generate HTML in real-time.

In traditional SSR, the server generates HTML in real-time every time a user requests a page. With SSG, HTML can be generated in advance during the build process and hosted on a CDN or other static assets service.

Compared to traditional SSR, SSG can provide faster loading speeds and less server-side overhead, as there is no need to maintain a server to generate HTML in real-time. However, SSG is not suitable for websites that require dynamic content, as the HTML is generated during the build process and does not support real-time updates.

## SWC

import SWC from '@site-docs-en/components/swc.mdx';

<SWC />
