Como desarrollarlo

Una vez que sabemos las características de un API REST nos podremos plantear cómo es una aplicación basada en esta. Hay muchas respuestas, por ejemplo; podríamos usar el API REST de Twitter para crear un servicio basada en esa red o el API de Youtube para crear un sitio web que muestra vídeos de distintas maneras. Pero no es a donde vamos a llegar hoy.

Vamos a aprovechar las posibilidades de un API REST, donde tú eres el consumidor de esta.

Nota: Para aclararnos, decir que comúnmente hasta ahora siempre teníamos un cliente (navegador) y un servidor. El cliente hacía una solicitud de una URL y recibía una página HTML, con sus estilos, etc. Esa página tenía un HTML que renderizado en el navegador nos producía la presentación que deseábamos. Esa situación nos ha valido desde mucho tiempo atrás y sigue sirviendo hoy en día, pero ahora existen otras soluciones que nos aportan otras posibilidades. El objetivo sigue siendo hacer aplicaciones, sin embargo, en muchos casos no vamos a pensar solo en hacer aplicaciones web, sino también apps para móviles o cualquier otro tipo de sistema o dispositivo.

El cliente inicia siempre una solicitud, pero ahora ésta no la produce el usuario en "bruto" hacia el servidor, sino que pasa por Javascript. Nuestro lenguaje del lado del cliente es el que solicitará al servidor un recurso al servidor.

El servidor y el cliente web se comunican en un formato de intercambio de información con JSON o XML.

Lo importante es que el cliente no recibe HTML para renderizar, sino simplemente los datos que se han generado como respuesta. Es decir, el servidor no escribe HTML, sino únicamente genera los datos para enviarlos al cliente.

¿Qué tecnologías de servidor usas para implementar REST?

Es independiente, podrás tener un servidor que trabaja con PHP, Java, Python, NodeJS o lo que prefieras, o te imponga el proyecto. Tanto el lenguaje como la base de datos son importantes, porque nos sirven para procesar la solicitud y generar la respuesta, pero no importa cómo lo hagas en el servidor. Simplemente que la respuesta la entregues en ese lenguaje de intercambio de información que estés usando, generalmente JSON.

¿Librerías JavaScript?

No estamos obligados a usar ninguna. Lo que está claro es que si estás produciendo una web en el cliente usarás Javascript, usa aquella librería con la que te sientas a gusto.

¿Alguna librería del lado del servidor?

Depende del lenguaje que estés usando en el servidor. Con PHP puedes usar Laravel, Symfony o microframeworks como Slim. Si usas Node encontrás útil Express o Sails.js.

¿Qué tipo de aplicaciones son adecuadas para esta arquitectura?

Esta es una buena pregunta, realmente el desarrollo basado en API REST no es para cualquier tipo de proyecto. Si estás haciendo un sitio web y planeas que tu sitio va a ser siempre eso "una web", quizás sea innecesario desarrollar en base a un API. Por ejemplo, un sitio centrado en contenido, como un blog o una página de una empresa donde ofrece sus productos, servicios y modos de contacto, no tiene sentido. Ahora, si lo que estás es ofreciendo un servicio online o estás realizando una aplicación web de gestión, entonces encaja perfectamente la filosofía de REST.

En general si piensas que tu sistema en el futuro podría ser accedido no solo desde una página web, sino también desde una App para móvil o desde una aplicación de otro tipo, las ventajas de REST serán especialmente útiles. En resumen, si sospechas que los datos o servicios que estás ofreciendo en un futuro puedan llegar a ser consultados desde otros sistemas, te interesa usar REST. Aunque de momento no estés pensando en que esos datos o servicios puedan llegar a ser consultados desde otros sistemas ajenos a tu web, merece la pena usar REST porque es la solución que mayor escalabilidad te va a aportar.

results matching ""

    No results matching ""