</> CodeBooks
    ← Volver a HTML5 (página 5)
    Portada de Building Hypermedia APIs with HTML5 and Node

    Building Hypermedia APIs with HTML5 and Node

    Mike Amundsen

    Editorial
    O'Reilly
    Año
    2011
    Páginas
    ~242
    Nivel
    Intermedio

    De qué trata

    Libro de Mike Amundsen, uno de los referentes del diseño de APIs REST, sobre cómo crear APIs web que aprovechen la arquitectura de la Web en lugar de limitarse a funcionar sobre ella. Es de 2011 y usa Node.js y CouchDB para los ejemplos. Está pensado para desarrolladores y arquitectos de nivel intermedio que ya conocen HTTP y han hecho APIs, y que quieren diseñar servicios que puedan crecer y cambiar sin romper a sus clientes.

    La parte conceptual explica la relación entre HTTP, los tipos MIME y el hipermedia, y presenta los H-Factors, una forma de clasificar los controles hipermedia de un formato, y los cuatro elementos básicos para diseñar tipos de medio. Después hay tres casos prácticos, cada uno con su escenario, el diseño del tipo de medio, datos de ejemplo, el código del servidor y el de los clientes: un formato XML (Maze+XML), uno JSON (Collection+JSON) y uno basado en HTML5 con un perfil semántico de microblogging. El último capítulo trata cómo documentar, ampliar, versionar y registrar tipos de medio y relaciones de enlace (RFC 2119, IANA, IETF). Los apéndices recogen las especificaciones de los tres formatos.

    Su aportación es muy de fondo: enseña a pensar las APIs como hipermedia (HATEOAS) y no como RPC sobre HTTP, y de él salió Collection+JSON, un formato que tuvo cierto uso real. El código de Node.js es de la época y ha quedado anticuado, así que vale como ilustración y no como plantilla. No trata autenticación, seguridad, OpenAPI ni GraphQL. Es recomendable para quien quiera entender a fondo REST y el diseño de tipos de medio.

    • Hypermedia
    • REST
    • HATEOAS
    • H-Factors
    • Tipos de medio
    • Maze+XML
    • Collection+JSON
    • HTML5
    • Node.js
    • CouchDB
    • Documentación de APIs
    • Link relations

    ¿Cómo enseña?

    TeóricoPráctico

    Teoría + práctica

    • ✗ Sin ejercicios
    • ✓ Incluye proyectos

    Proyectos

    Laberinto con Maze+XML

    API de laberinto con un tipo de medio XML propio, un servidor en Node.js y dos clientes: un juego para recorrer el laberinto y un bot que lo resuelve solo siguiendo los enlaces.

    Gestor de tareas con Collection+JSON

    API de tareas con el formato hipermedia Collection+JSON, con un cliente web de una sola página y otro de línea de comandos.

    Microblog en HTML5

    Servicio de microblogging que usa HTML5 como formato de la API mediante un perfil semántico, con un cliente HTML simple (POSH), un cliente Ajax y un bot de citas (QuoteBot).

    Más de HTML5 con nivel Intermedio