A mucha gente le gusta la idea de programar, pero realmente no saben que es “programar”. Cuando empiezas a programar te empiezan a enseñar lo básico, variables, bucles, switch/case… Lo que aprendas dependerá mucho del lenguaje.
Lo cierto es que estos conceptos están bien, pero distan mucho de lo que te encontraras en el mundo laboral. Por ejemplo, imagina que quieres desarrollar una APP para móvil. Lo primero que tendréis que crear es un logueo. Puedes hacerlo tu a mano, si. Pero realmente las APP tienden a loguear a los usuarios con Google o con Facebook. Aquí es cuando entramos en el fantástico mundo de las APIs, en la primera ventana de tu APP.
¿Qué es una API?
Cuando alguien crea una aplicación o un servicio el cual tiene intención de dejar usarlo por terceros crea estas llamadas API (Application Programming Interfaces). Muy resumido sería algo así como un grupo de comandos, los cuales el desarrollador de la aplicación o servicio crea para que pueda usarse parte o la totalidad de las funcionalidades de su servicio en tu proyecto. Esto es un poco lioso, expliquémoslo con un ejemplo.
Imagina que quieres crear un juego como Pokemon Go pero cambiando la temática. En vez de Pokemon usar monos (por ejemplo). Cuando estés creando la App no tienes que crear todos los mapas y todas las funcionalidades del código. Usas distintas APIs como la de Google Maps para usar gran parte del código de Google para crear un mapa en tu juego.
¿Qué tipo de APIs existen?
Existen APIs de muchos tipos, desde APIs de Logueo como la de Facebook o Google, hasta APIs para Geolocalización o APIs de videojuegos. Vamos a hablaros de algunas de estas.
APIs de geolocalización
En este apartado queremos hablaros de tres APIs, las dos primeras son las que todo el mundo imagina, la API de Google Maps y la API de Google Places. Estas APIs dan mucho juego, y ademas aquí viene lo divertido, muchas veces no tienes que decidir entre que API usar y cual no, ya que se suelen crear intentando que no haya problemas de incompatibilidad entre ellas (por lo menos las APIs más conocidas). La tercera es una API que usa un videojuego de móvil al que acabé jugando por casualidad, el LandLord. Esta es la API de Foursquare, una API que sin duda parece fácil de usar y da lugar a crear APPs muy interesantes.
APIs de logueo
Estas APIs tienen dos claros ganadores en el mercado, así que no vamos a entretenernos mucho. Estas dos son la API de Google Identity y la Api de inicio de sesión con Facebook. Y como no, son perfectamente compatibles la una con la otra, así que puedes tener los dos métodos de logueo en tus proyectos.
APIs de servicios
Realmente hay otras muchas APIs, pero no vamos a seguir con la categorización. Las APIs de logueo son lo que mas os vais a encontrar, sobretodo a la hora de crear APPs. Las de Geolocalización son unas de las APIs que más juegos pueden dar para crear APPs de videojuegos interesantes. El problema es que hay tantas y tan distintas APIs que resulta casi imposible categorizarlas. A continuación os mostramos algunas que hemos visto y nos han llamado la atención.
- API de coinbase: Si quieres crear una web para compraventa de bitcoins, monedero de esta moneda, plataforma de intercambio de monedas… Esta API te puede resultar muy interesante. Personalmente siempre nos ha llamado la atención este tipo de webs, y con la API de Coinbase tienes la “garantía” de que tu tus clientes van a tener a una empresa de calidad detrás del código que gestiona su dinero. Lo quieras o no siempre es un plus de seguridad.
- API de Screeps: Screeps es un juego para programadores que actualmente se puede encontrar en Steam. Este juego tiene su propia API, y desde luego es una manera muy divertida de mejorar tu nivel de programación, calidad de tu código y conocimiento en el uso de APIs. Aunque realmente no tengas que encargarte de cosas tediosas a la hora de usar las APIs como enlazar la API con tu APP… Os dejamos aquí un artículo en el que hablamos de Screeps.
- API de GitLab: GitLab es una web similar a GitHub pero con toques un poco distintos. Esta más enfocada a entornos empresariales y no tanto a ser una plataforma de código abierto. Esta gente cuenta con una API para GitLab. Aunque también podéis usar la API de Github si lo preferís.
Hay mucha gente que se dedica a crear estas APIs, y normalmente siempre tienes un par de APIs para cada problema que te encuentas en el camino. Algunas veces no tendrás más opciones que usarlas y otras te obligaran a ello en el trabajo. Esto no es malo, pero es algo que nadie te dice cuando empiezas en el mundo de la informática.
Conclusión sobre las APIs
Mientras que una buena API te puede solucionar el día, una mala API te puede estropear un mes. Con esto presente solo vamos a decir que el uso de APIs es totalmente normal, pero el abuso de ellas no esta muy bien visto en ciertos entornos. Usa las APIs que necesites, crea tu propio código, y sobre todo, preocúpate de que el que venga detrás tuya entienda lo que escribes. No es solo hacer que funcione. Es hacer que se entienda en el tiempo y se pueda actualizar o corregir.
Si de verdad quieres escribir código, no esperes mas.