Сталкивался ли с SSR
Python
Junior
Без компании
Сталкивался ли с SSR
Ответы
Да, работал с Server-Side Rendering (SSR) в Python, в основном в контексте веб-фреймворков. Наиболее распространённые подходы:
- **Django/Flask**: Оба используют SSR по умолчанию, рендеря шаблоны на сервере:
```
# Flask пример
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html', title='SSR Page')
```
- **FastAPI/Starlette с Jinja2**: Для современных асинхронных фреймворков:
```
from fastapi import FastAPI, Request
from fastapi.templating import Jinja2Templates
app = FastAPI()
templates = Jinja2Templates(directory="templates")
@app.get("/")
async def read_item(request: Request):
return templates.TemplateResponse("index.html", {"request": request})
```
Ключевые преимущества SSR:
- Лучшая SEO-оптимизация
- Быстрая первоначальная загрузка
- Работает без JavaScript
Но есть и недостатки - большая нагрузка на сервер и менее интерактивный UX по сравнению с CSR. Для сложных SPA часто используют гибридный подход (SSR + hydration).