Lenguajes de Programación

Por qué usar API REST

Aprende qué son las APIs y por qué resultan tan importantes en la actualidad, por qué se usan cada vez más y por qué es casi imprescindible tener una en tu proyecto.

Publicado el 08 de Octubre de 2018
Compartir

En el artículo vamos a ver qué son las APIs y por qué resultan tan importantes en la actualidad, por qué se usan cada vez más y por qué es casi imprescindible tener una en tu proyecto.

Definición de API

La necesidad de tener una API ha ido creciendo y cambiando a lo largo de los años, debido precisamente a esa evolución de tecnología.

Una API es por definición una interfaz de programación de aplicaciones, es decir, una forma de acceder a una aplicación, que tiene un conjunto de subrutinas, funciones y procedimientos.

En general, una API puede ser cualquier cosa, pero cuando nos referimos a una API en un sistema complejo, es una manera de interactuar con ese sistema y con una especificación concreta, es decir, con una serie de reglas que definen cómo se interactúa con ese sistema y cómo se utiliza.

En un sistema como Drupal, por ejemplo, tiene una API para usar su propio código, y además de esto, tu sistema o tu aplicación puede tener una API que exponga contenido, subrutinas, funciones o cualquier otra cosa, para que otros elementos externos interactúen con tu sistema.

Necesidad de tener APIs en la actualidad

En la actualidad, tenemos muchos y variados sistemas, algo que no ocurría antes.

Antes se creaba una página web, los usuarios entraban en la misma, se registraban, hacían las acciones que tuviesen que hacer, y a partir de ahí, funcionaba el sistema. Éste no se comunicaba con nadie más, si se necesitaba obtener alguna información de esa web, se creaban los métodos necesarios para para obtenerlos.

Lo que antes era una pequeña web en la que el usuario entraba únicamente a través de una URL, hoy en día, con que el sistema sea un poco profesional y tenga un uso más allá de un blog personal o similar, esa web va a tener una fuerte interconexión con sistemas externos.

Puede existir una aplicación móvil que utilice los datos de esa web. Tal vez queramos que esa web tenga unos datos y una aplicación para un smartwatch, una televisión inteligente, una lavadora, un frigorífico… ya que a día de hoy cualquier cosa que pueda estar conectada a internet es susceptible de poder mostrar datos, y esos datos tienen que salir de algunos sitios, y esos sitios tienen que exponerlos vía API.

Además, dentro de los propios sistemas web ya existen sistemas complejos en los que interaccionan entre sí. Ni siquiera hace falta que tengamos una aplicación móvil, podemos tener una web o una aplicación, por ejemplo, en la que haya un solo login para diferentes sitios, para que el usuario no tenga que crear cuentas de usuario en diferentes sistemas a la vez.

Incluso podemos tener un sistema headless, desacoplado completamente, en el que backend y el frontend no tengan nada que ver, y se comuniquen única y exclusivamente a través de la API. Incluso podamos tener dos frontends diferentes tirando sobre la misma base de datos usando esa API.

También es posible que tengamos que exponer los datos para exponerlos a elementos como BigQuery de Google, que sirve para hacer querys complejas de datos históricos, para a partir de ellos crear una lógica de negocio inteligente.

Existen muchísimas formas y momentos en los que los datos tienen que viajar entre sistemas. Para ese viaje entre sistemas se crearon los APIS, y ahora mismo es imprescindible tenerlas.

Movimiento API-first

Lo anterior es tan importante que hace unos años surgió un movimiento llamado API-first, cuyo objetivo es tener pensar que cuando se diseña un sistema, ya nunca se diseña para ser mostrado en un sitio como ocurría antes.

Los nuevos sistemas deben estar pensados para que los datos sean expuestos en una API. Después usando esa API, esos datos se pintarán en un HTML en una página web, serán usados por una aplicación móvil, los usará un front completamente desacoplado o lo usará quién sea necesario.

En definitiva, hay que estructurar los datos pensando en que serán consumidos desde diferentes sitios, y no tanto una estructuración de datos más old school, pensada en, por ejemplo, simplemente pintarlos en una web o una aplicación móvil.


Compartir este post

También te puede interesar...

Drupal Commerce

Curso de Drupal Commerce: Crea tu tienda online

3 horas y 35 minutos · Curso

En este curso aprenderás a crear una tienda online usando Drupal 8 y su suite de módulos para comercio electrónico Drupal Commerce.

  • Gestores de Contenido
Introducción al Desarrollo en Drupal 8

Desarrollo en Drupal 8: Introducción al Desarrollo Backend

10 horas y 15 minutos · Curso

Curso de desarrollo en Drupal 8: aprende a desarrollar en back-end para uno de los CMS PHP más importante del momento.

  • Gestores de Contenido
Artículos
Ver todos