Comencemos explicando el significado literal de API, sus siglas significan: Application Programming Interface, es decir interfaz de programación de aplicaciones, suena intimidante quizá, pero el concepto es en realidad muy fácil de entender, y para lograrlo utilicemos un ejemplo de la vida real: una roseta y un enchufe.
Un enchufe es una interfaz de conexión eléctrica conectada a una roseta, que es la parte empotrada en la pared, y a la cual no le interesa qué aparato irá conectada a ella; podría ser una lavadora, una televisión, una laptop, o cualquier otro aparato eléctrico. De igual forma al aparato eléctrico no le es relevante cómo la roseta en la pared obtiene la electricidad o qué es lo que hay detrás de ésta, simplemente la utiliza y obtiene beneficio de ella.
De forma similar funciona una API, que vendría a ser como una roseta eléctrica en una pared, funcionando como una interfaz, sólo que en vez de electricidad, provee datos o información. Las aplicaciones utilizan estas APIs para servirse de éstos datos y procesarlos ya sea en una aplicación web, móvil, de escritorio, IOT, videojuegos, entre otros.
De allí la importancia y tendencia de utilizar APIs, ya que son muy flexibles y versátiles, permitiendo ser la fuente de datos de cualquier tipo de aplicación, permitiendo a los desarrolladores separar la fuente de datos (generalmente asociado al back-end) de la presentación de dichos datos al usuario final (usualmente llamado front-end), esto es realmente genial cierto?
Piensa en las muchas ventajas que tiene:
- Puedes reutilizar el back-end en la arquitectura de tu aplicación y sólo tendrías que crear los clientes front-end (web, móvil, desktop...).
- Puedes comunicar dos aplicaciones con tecnologías totalmente distintas, por ejemplo una app Android hecha con Java o Kotlin, se comunica con una aplicación web hecha con C# o PHP.
- Nos permite realizar abstracciones, es decir aprovechar el uso de un software sin conocer cómo funciona éste internamente, sólo conocer las funcionalidades que el API expone, y además sin generar fuertes dependencias, sino mas bien un desacoplamiento.
Esto es lo más importante de comprender sobre un API, ahora que ya lo tienes, lo definiremos formalmente: un API es un conjunto de interfaces definidas las cuales permiten a un conjunto de aplicaciones externas consumir el software de la aplicación web.
Hay dos tipos de API más difundidos en la actualidad: REST (Representational State Transfer) y SOAP (Simple Object Access Protocol) que definen el protocolo o condiciones de arquitectura acerca de cómo se construye el API así como las condiciones que debe cumplir.
Finalmente, si tuvieras que elegir sobre cual aprender primero, sin duda te recomendaría REST que es menos compleja y más efectiva, por eso es la más popular y la que el mercado laboral requiere más 😉, justamente por ello la siguiente entrada del blog será cómo crear un Web API básico con C#, para poner la teoría en práctica y ensuciarnos un poco las manos, así es como realmente se aprende, acompáñame #dev!
Si este contenido te aportó valor, compártelo y hazlo visible a quienes lo necesitan:
muy ilustrativo…!, gracias por el aporte.
De lo que se trata siempre, es de hacer conceptos complejos, en fáciles de digerir, que bueno que te haya ayudado, gracias!