Servidores backend
1. Qué es un servidor backend? #
Un servidor backend es una parte esencial de una aplicación web que se encarga de procesar las solicitudes de los usuarios, interactuar con bases de datos, ejecutar la lógica de la aplicación y devolver las respuestas correspondientes al cliente (por ejemplo, un navegador web). En otras palabras, el backend es el "cerebro" de una aplicación, mientras que el frontend es la "cara" que los usuarios ven e interactúan.
2. Cómo funciona un servidor backend? #
Cuando un usuario interactúa con una aplicación web, por ejemplo, al hacer clic en un botón o enviar un formulario, esa acción envía una solicitud al servidor backend. El servidor recibe la solicitud, la procesa (esto puede incluir leer o escribir en una base de datos), y luego envía una respuesta de vuelta al frontend, que actualiza la interfaz de usuario según sea necesario.
3. Tecnologías comunes para servidores backend #
En el mundo del desarrollo web, hay muchas tecnologías y lenguajes que se pueden usar para construir servidores backend. Algunos ejemplos incluyen:
- Python: Usando frameworks como Django o Flask.
- JavaScript: Usando Node.js.
- Java: Usando Spring Boot.
- Ruby: Usando Ruby on Rails.
- PHP: Usando frameworks como Laravel.
4. Frameworks Backend en el ecosistema Python #
En Python existen tres grandes opciones según la complejidad y el propósito del proyecto:
- FastAPI: El estándar moderno para crear APIs REST de alto rendimiento. Es nativamente asíncrono (
async/await), utiliza tipado estático con Pydantic para validar datos automáticamente y genera documentación interactiva (Swagger UI) sin configuración extra. - Flask: Un microframework clásico, minimalista y flexible, excelente para proyectos sencillos o prototipos rápidos.
- Django: Un framework full-stack robusto ("baterías incluidas") con ORM, panel de administración, autenticación y sistema de plantillas.
5. Ejemplo práctico 1: API REST moderna con FastAPI #
Instalación: #
1pip install fastapi uvicorn
Código (main.py): #
1from fastapi import FastAPI 2from pydantic import BaseModel 3 4app = FastAPI(title="Mi API con FastAPI") 5 6# Modelo de datos con validación automática de tipos 7class Operacion(BaseModel): 8 a: float 9 b: float 10 11@app.get("/") 12async def inicio(): 13 return {"mensaje": "¡Bienvenido a la API con FastAPI!"} 14 15@app.post("/sumar") 16async def sumar(datos: Operacion): 17 resultado = datos.a + datos.b 18 return {"resultado": resultado, "operacion": "suma"}
Ejecutar el servidor con Uvicorn: #
1uvicorn main:app --reload --port 8000
💡 Documentación interactiva automática: Al visitar
http://127.0.0.1:8000/docs, dispones de una interfaz Swagger completa para probar tus endpoints en vivo.
6. Ejemplo práctico 2: Microservidor con Flask #
Instalación: #
1pip install flask
Código (servidor.py): #
1from flask import Flask, request, jsonify 2 3app = Flask(__name__) 4 5@app.route('/') 6def inicio(): 7 return "¡Bienvenido al servidor con Flask!" 8 9@app.route('/sumar', methods=['GET']) 10def sumar(): 11 a = request.args.get('a', default=0, type=int) 12 b = request.args.get('b', default=0, type=int) 13 return jsonify({"resultado": a + b}) 14 15if __name__ == '__main__': 16 app.run(port=5000)
7. ¿Por qué usar un servidor backend? #
- Lógica de negocio: Centraliza cálculos, validaciones y reglas críticas lejos del cliente.
- Seguridad y autenticación: Controla el acceso con tokens JWT, sesiones y permisos.
- Acceso a bases de datos: Realiza operaciones CRUD de forma protegida y transaccional.
- Integración: Conecta pasarelas de pago, modelos de machine learning y servicios externos.
Resumen del tema
Conceptos clave #
- Arquitectura Cliente-Servidor: el backend recibe peticiones HTTP (
GET,POST,PUT,DELETE), ejecuta la lógica de negocio y responde generalmente en formato JSON. - Frameworks Principales en Python:
- FastAPI: el estándar moderno para APIs REST; asíncrono (
async/await), validación con Pydantic y documentación OpenAPI/Swagger automática. - Flask: microframework síncrono ligero y flexible para aplicaciones pequeñas o microservicios.
- Django: framework completo con ORM, autenticación y panel de administración integrado.
- FastAPI: el estándar moderno para APIs REST; asíncrono (
- Servidores ASGI vs WSGI: Uvicorn (ASGI asíncrono de alto rendimiento para FastAPI) frente a Gunicorn/Werkzeug (WSGI síncrono para Flask/Django).
Qué debes recordar #
Usa FastAPI con Uvicorn para construir APIs REST modernas, rápidas, asíncronas y tipadas, o Django cuando requieras un sistema empresarial completo con ORM y panel de administración.