Spring GDS 25è Aniversari
Una empresa de logística que envia a 190 països va construir alguna cosa per enviar-se a si mateixa.
CRUD vol dir Create, Read, Update, Delete: les quatre operacions bàsiques que pots fer sobre dades emmagatzemades. Afegir un registre, recuperar-lo, canviar-lo, eliminar-lo. Gairebé tota aplicació que desa dades està, en la seva base, fent CRUD. Una app de contactes crea contactes, els llegeix en una llista, actualitza un telèfon i esborra els que ja no necessites.
L'acrònim importa perquè encaixa netament amb les eines que els desenvolupadors fan servir cada dia. En una base de dades, les quatre es tradueixen en INSERT, SELECT, UPDATE, DELETE. En una API REST, en els mètodes HTTP POST, GET, PUT o PATCH, i DELETE. Aquesta consistència és la raó per la qual una API ben dissenyada se sent predictible: un cop coneixes el recurs, pots endevinar com actuar-hi. CRUD descriu les operacions, no la dificultat. El pas de crear en una transferència bancària implica validació, permisos, comprovació de saldo i un rastre d'auditoria, encara que al fons segueixi sent un "create".
De vegades es fa servir CRUD de manera despectiva, com en "no és res més que una app CRUD", però la distància entre un CRUD ingenu i un CRUD robust és on viu la major part de l'enginyeria real: validació, autorització, concurrència i què passa quan dues persones editen el mateix registre alhora.
Gairebé tot producte té un nucli CRUD, i com es construeix aquest nucli decideix si la resta del sistema és agradable o dolorosa d'ampliar. El dissenyem al voltant de recursos consistents i predictibles, perquè l'API es comporti igual a tot arreu i un endpoint nou resulti familiar tan bon punt es publica. Avorrit i consistent guanya a enginyós i sorprenent cada vegada que algú ha de construir per sobre.
La part interessant és tot el que envolta les quatre operacions. Qui pot actualitzar aquest registre. Quina validació corre abans d'acceptar un create. Què passa quan dos usuaris editen el mateix element alhora. Integrem aquestes qüestions des del principi en el nostre desenvolupament d'aplicacions web a mida i el nostre desenvolupament API-first, perquè afegir autorització i concurrència a posteriori sobre una capa CRUD ingènua és molt més difícil que dissenyar-les d'entrada.
Necessites una API que segueixi neta a mesura que creix el producte? El fonament CRUD és on comença.
Una empresa de logística que envia a 190 països va construir alguna cosa per enviar-se a si mateixa.
Convertir una marca en un negoci que funciona.
Mig milió de persones. Una app. Zero caos.















