Nicolas Garnier

Nicolas Garnier

¿Recuerdas cuando “la nube” se refería simplemente a servidores externos aleatorios o a Internet en general? En los últimos años el término ha evolucionado hasta crear nuevos modelos de negocio como el llamado Software-as-a-Service (SaaS).

SaaS es genial para el usuario final, pues hace asequibles accesible a empresas pequeñas y privadas métodos que serían prohibitivos de otra forma. Pero como desarrollador, Saas me resulta especialmente interesante por la forma en la que ha ayudado a reinventar algo que existía desde hace décadas: las API. Esto es lo que Marc Andreessen, inversor y co-fundador de Netscape, dijo en su discurso de 2011, titulado “El software se está comiendo el mundo”: “con costes de start-ups reducidos y un mercado expandido para servicios online, el resultado es una economía global que, por primera vez, estará totalmente conectada digitalmente”. La expresión “conectada digitalmente” lo dice todo y me encanta. ¿Cuál es la mejor forma de conectar la economía digital? Obviamente las API, que por definición expresan cómo se conectan e interactúan dos programas.

“Las API son la base de la economía digital”, Laura Merling, VP Ecosystems and Solutions, AT&T.

(fuente)

Lo mejor de ser un desarrollador – lo que me llevó a programar por mi cuenta – es la posibilidad de construir y trastear con lo que quieras. Hoy es la mejor época para hacerlo, porque ya no estás solo. Encontrarás comunidades de ayuda online y offline allá donde mires, desde foros donde te responden a tus cuestiones, como Stackoverflow (ranking 56 en Alexa para todo el mundo) hasta eventos offline y hackathons, ya sea un maratón de programación local o el Techcrunch Disrupt. Además del soporte de estas comunidades tenemos muchas herramientas y recursos a mano. Para los desarrolladores, si intentas pensar en una herramienta, algo que puedas usar fácilmente para lograr un objetivo, la API viene a la mente en seguida. Las API más importantes son las de servicios como Yo,Twilio o Venmo. ¿Cómo es eso?

Screen-Shot-2015-08-28-at-12.05.04-PM
Fuente: http://studenthackers.devpost.com/

Las API son geniales porque te dan poder para configurar opciones que tendrías muchos problemas para crear tú solo, ya sea por su complejidad, su tiempo o ambos. Las API te permiten delegar o externalizar lo que no es crítico para tu negocio, manteniendo siempre el control. Tanto si quieres integrar una opción de email transaccional para comunicarte con tus usuarios o una experiencia de búsqueda enriquecida, utilizar una SaaS como Mailjet para emails o Algolia para búsqueda será siempre más inteligente que intentar reinventar la rueda. Es bastante probable que exista un producto SaaS que ya haga exactamente lo que tú tienes en mente y que puedas usar con una simple integración. Es por ello que Por este motivo algunas SaaS están transformándose en API-as-a-Service. Te ahorran tiempo para que puedas dedicarte a tu producto y con unas pocas líneas de código te ofrecen un servicio rico, fiable, asequible y que puedes aumentar.

Las API son las nuevas libs. Están cambiando la forma en la que construimos software, reduciendo y, al mismo tiempo, enriqueciendo el código que escribimos. A menudo podemos incluso reutilizar los “wrappers” que nos proporciona el servicio para la integración y adaptarlos a nuestras necesidades.
¿Por qué no ir un paso más allá e innovar? ¿Y si quisiéramos imaginar las API como elementos básicos de “arrastrar y soltar” que no requieren escribir código?

Esto puede parecer imposible, pero en realidad ya es posible, con conectores API como Zapier y IFTTT. ¿Necesitas generar tareas de Todoists desde tu Calendario de Google? ¡ Fácil! ¿Necesitas enviar tus archivos adjuntos de Gmail a Drive? ¡Igual de fácil!

Puedes decir, “Sí, sí, muy bien. Pero esto está limitado a acciones integradas, por lo que estamos perdiendo bastante de lo que la API tiene que ofrecer. Y nos queda mucho hasta que servicios como Twilio sean accesibles a la gente que no sabe programar”. Pero esto no es así. Con la ayuda de servicios como Blockspring, cualquier persona puede usar Twilio, extraer datos del gobierno de los Estados Unidos o construir un dataviz. Estoy de acuerdo con el argumento de Blockspring, que dice que las API son también útiles para el usuario final, y el hecho de que acaben de lograr 3,4 millones de financiación de Andreessen Horowitz y SV Angel (fuente) prueba que tienen razón.

No me entiendas mal, no quiero decir que los programadores se vayan a quedar obsoletos o que cualquiera podrá trabajar de programador sin ningún entrenamiento. No, por lo menos no hoy. Lo único que digo es que mientras la complejidad del software aumenta, las API lo hacen más accesible. Y esto es algo bueno. Permite a los programadores invertir más tiempo en lo que de verdad importa y beneficiarse de las API. Desde el punto de vista de un negocio, esto quiere decir una cosa: por supuesto que cualquier empresa SaaS debería considerar seriamente usar una API, pero si lo hacen, también debería usar una que mejore la experiencia del programador. Los programadores esperan ciertas cosas de las API: documentación, apoyo, comunidad y un estilo arquitectónico que cumpla con los estándares (como REST). Estos factores no solo son importantes porque van a hacer a felices a los programadores que usan tu API, sino que además son necesarios para la adopción y productividad de tu empresa.