Sobes.tech
Junior

¿Dónde es mejor hacer las solicitudes al backend?

sobes.tech AI

Respuesta de la IA

Realizar solicitudes al backend es mejor hacerlo mediante métodos asíncronos en el código:

  1. En el lado del cliente (en el navegador):

    • Usando la API fetch o una biblioteca como Axios.
    • Adecuado para acciones interactivas del usuario, carga dinámica de datos, envío de formularios.
    • Permite crear SPA (Aplicaciones de Página Única).
    • Se implementa en JavaScript/TypeScript.
    // Ejemplo con fetch
    async function fetchData() {
      try {
        const response = await fetch('/api/data');
        if (!response.ok) {
          throw new Error(`¡Error HTTP! estado: ${response.status}`);
        }
        const data = await response.json();
        console.log(data);
      } catch (error) {
        console.error('Error al obtener datos:', error);
      }
    }
    
  2. En el lado del servidor (por ejemplo, usando frameworks con SSR/SSG):

    • En frameworks como Next.js o Nuxt.js (para React y Vue respectivamente).
    • Los datos pueden obtenerse durante la compilación (SSG) o en cada solicitud (SSR).
    • Mejora el SEO y el rendimiento (menos pantalla en blanco), ya que la página se renderiza con datos.
    • Permite evitar problemas con CORS.
    • Ejemplos de métodos en Next.js: getStaticProps, getServerSideProps.
    // Ejemplo con Next.js (getServerSideProps)
    export async function getServerSideProps(context) {
      const res = await fetch('https://api.example.com/data');
      const data = await res.json();
    
      if (!data) {
        return {
          notFound: true, // Mostrar página 404
        };
      }
    
      return {
        props: { data }, // Pasar datos como props al componente de la página
      };
    }
    

La elección depende de la interactividad requerida, la necesidad de SEO, el tipo de aplicación (SPA, MPA) y el framework utilizado. A menudo se combina estos enfoques.