Spring GDS 25 Aniversario
Una empresa de logística que envía a 190 países construyó algo para enviarse a sí misma.
CRUD significa Create, Read, Update, Delete: las cuatro operaciones básicas que puedes realizar sobre datos almacenados. Añadir un registro, recuperarlo, cambiarlo, eliminarlo. Casi toda aplicación que guarda datos está, en su base, haciendo CRUD. Una app de contactos crea contactos, los lee en una lista, actualiza un teléfono y borra los que ya no necesitas.
El acrónimo importa porque encaja limpiamente con las herramientas que los desarrolladores usan a diario. En una base de datos, las cuatro se traducen en INSERT, SELECT, UPDATE, DELETE. En una API REST, en los métodos HTTP POST, GET, PUT o PATCH, y DELETE. Esa consistencia es la razón por la que una API bien diseñada se siente predecible: una vez conoces el recurso, puedes adivinar cómo actuar sobre él. CRUD describe las operaciones, no la dificultad. El paso de crear en una transferencia bancaria implica validación, permisos, comprobación de saldo y un rastro de auditoría, aunque en el fondo siga siendo un "create".
A veces se usa CRUD de forma despectiva, como en "no es más que una app CRUD", pero la distancia entre un CRUD ingenuo y un CRUD robusto es donde vive la mayor parte de la ingeniería real: validación, autorización, concurrencia y qué pasa cuando dos personas editan el mismo registro a la vez.
Casi todo producto tiene un núcleo CRUD, y cómo se construye ese núcleo decide si el resto del sistema es agradable o doloroso de ampliar. Lo diseñamos en torno a recursos consistentes y predecibles, para que la API se comporte igual en todas partes y un endpoint nuevo resulte familiar en cuanto se publica. Aburrido y consistente gana a ingenioso y sorprendente cada vez que alguien tiene que construir por encima.
La parte interesante es todo lo que rodea a las cuatro operaciones. Quién puede actualizar este registro. Qué validación corre antes de aceptar un create. Qué pasa cuando dos usuarios editan el mismo elemento a la vez. Integramos esas cuestiones desde el principio en nuestro desarrollo de aplicaciones web a medida y nuestro desarrollo API-first, porque añadir autorización y concurrencia a posteriori sobre una capa CRUD ingenua es mucho más difícil que diseñarlas de entrada.
¿Necesitas una API que siga limpia a medida que crece el producto? El cimiento CRUD es donde empieza.
Una empresa de logística que envía a 190 países construyó algo para enviarse a sí misma.
Convertir una marca en un negocio que funciona.
Medio millón de personas. Una app. Cero caos.















