Luis David de la Fuente

hace 2 años · 4 min. de lectura · ~100 ·

Blogging
>
Blog de Luis David
>
API First

API First

Aún nos cuesta meternos en la mollera que el uso de Internet es mayoritariamente móvil y que, por tanto, nuestras aplicaciones web deberían ser «mobile first».

Los amantes de los monitores grandes como una cama de matrimonio argumentan que la mayoría de ese tráfico móvil es personal o recreativo, así que, ese «mobile first» debería circunscribirse a las webs de gran consumo o B2C. Lo que nadie discute es que, haga lo que haga nuestro software, tendremos una ventaja competitiva si diseñamos nuestras aplicaciones para que sean «API first».

Cualquier profesional que lleve en este negocio más de 5 minutos sabe lo que es una API, pero pocos serían capaces de explicárselo de forma sencilla a un muggle sin superpoderes de programación. Una API es una especificación formal que define cómo interactuar con una aplicación de software y permite abstraerse de cómo está implementada la misma.

Supongo que la mejor manera de que la lectora más asidua de la Bonilista —mi madre— entienda el concepto es mostrándoselo. Matt Chilling ha publicado una API para poder consultar chistes de Chuck Norris. Tirando de ella y la de Telegram, por ejemplo, en menos de una hora podría desarrollar un programita que publicara todos los días, a las 7 de la mañana, un chiste de Chuck en mi grupo de colegas del colegio… o, también, seis ofertas de empleo. Todo, sin saber qué base de datos ha usado Matt o en qué lenguaje de programación está hecho Telegram.

Pero aunque ahora hasta mi madre sabe qué es una API, lo que no está tan claro es qué beneficios y ventajas obtendremos si nuestras aplicaciones ofrecen una.

uK293.jpeg
© Ilustración original de Hugo Tobio, tarugo y dibujolari profesional de Bilbao.

La principal razón para no implementar una API es creer que nadie va a usarla —¿quién querría conectarse con nuestro software y para qué?—, pero también podemos contrargumentar que para que alguien considere conectarse con nuestro software, primero debería saber que puede hacerlo.

Hace unas semanas, durante una cena, mi amiga Claudia me sugirió la posibilidad de republicar las ofertas de empleo de Manfred relacionadas con la gestión de proyectos y metodologías ágiles en su portal CertificaciónPM.com, algo que nos aportaría ventajas a ambos: ella ofrecería trabajos relevantes a sus alumnos; y yo conseguiría que mis ofertas llegaran a una audiencia más amplia.
 
Le pregunté a Claudia si disponía una API abierta, porque nosotros aún no habíamos bastionado y abierto la nuestra, pero desgraciadamente no tenía, así que, esa integración tendrá que esperar. ¿Cuántas oportunidades similares nos estaremos perdiendo?
 
Al fin y al cabo, una API pública puede tener una inmensa influencia en la estrategia de una compañía y hasta su filosofía de trabajo, haciendo que esté mucho más abierta a integrarse y colaborar con terceros. Algo que parece imprescindible para empresas que basan su modelo de negocio en la creación y gestión de una Comunidad, como cualquier marketplace.

Y aunque no quieras abrir tu software al mundo, implementar una API sigue siendo una buena idea. Nosotros trabajamos con datos personales de nuestros usuarios que deben ser especialmente protegidos, por eso tiene sentido que NADIE pueda acceder directamente a esos datos —ni siquiera nosotros— solo a través de una API privada, especialmente securizada y cuyo acceso está muy restringido, que registra quién, cómo y cuando ha accedido o modificado los mismos.

Para el resto, puedes crear otra API —mucho más accesible, pero también con un alcance más acotado, por ejemplo, de simple lectura de ofertas de empleo— que limite el destrozo que podría causar una brecha de seguridad. Puede que hoy solo la consumamos nosotros mismos en nuestra propia web, pero mañana podríamos hacerlo desde una aplicación móvil, otro nuevo producto o, finalmente, permitir que la use un tercero —como CertificaciónPM— sin tener que modificar nuestro código.

Evidentemente, todo esto no sale gratis. Una API no deja de ser un «contrato» en el que te comprometes a mantener determinados servicios de software que serán consumidos por terceros para construir los suyos propios. Si interrumpes esos servicios o los modificas sin previo aviso, afectarás a todo el ecosistema que haya crecido alrededor… el mismo riesgo que corres tú con las APIs que consumas. Por eso Naval Ravikant, conocido emprendedor e inversor tecnológico, afirma que «los mendigos construyen sobre APIs. Los reyes, sobre open source».
 
Puede que lo que dice Naval sea cierto, pero también lo es que, afortunadamente, la época de las monarquías absolutistas ya forma parte del pasado. Hace 30 años, había muy pocas compañías de software y era normal que estas desarrollaran internamente cada línea del código de sus productos. Durante este tiempo, la industria ha madurado y —como cualquier industria madura— ha generado su propia «cadena de suministro» en forma de proveedores de APIs que han bajado la barrera de entrada, permitiendo que desarrollemos nuestras aplicaciones sin tener que empezar de cero ni reinventar la rueda.

Es evidente que esa cadena de suministro puede fallar, que algún proveedor puede quebrar o dejarnos en la estacada, de la misma manera que puede fallar en cualquier otra industria. Ese miedo no puede condicionarnos, de la misma manera que a Citroën no se le ocurre ponerse a fabricar directamente los cinturones de seguridad o la electrónica que monta en sus coches por si alguno de sus proveedores falla o desaparece, sino tener siempre alternativas por si alguna vez sucede lo inesperado. Para los que no tenemos la suerte de «disparar con pólvora del Rey», merece la pena el riesgo.
 
Por eso reconozco que, para mí, la implementación de una API no solo tiene un componente técnico o de negocio sino, también, ideológico. Al abrir nuestra aplicación —por modesta que sea— para que otros puedan usarla, contribuiremos a democratizar el desarrollo de software y, también, a ese ideal de Red igualitaria, interconectada y colaborativa con la que un día soñaron los padres de Internet.

Tendríamos que ser capaces no solo de interaccionar con otras personas en la web, sino de CREAR con otras personas.

— Tim Berners-Lee (1999)


Artículo publicado por David Bonilla en La Bonilista el 18 de julio de 2021

Comentarios

Luis David de la Fuente

hace 1 año #2

Así es @Luis David de la Fuente . Se pierden muchas oportunidades de aprovechar sinergias por no estar preparado técnicamente. Lo pensar siempre antes en móvil para diseñar es algo básico que aún nos cuesta y es demasiado importante saber que siempre el tráfico móvil es mayor al tráfico desde ordenador. 

Artículos de Luis David de la Fuente

Ver blog
hace 2 años · 3 min. de lectura

¿Contratarías a alguien que trabajara para un colega? · El recruiting técnico es LA SELVA. Un territ ...

hace 2 años · 5 min. de lectura

TLTR; En 2008 Elon Musk, la persona más rica del mundo, afirmó que nadie puede cambiar el mundo trab ...

hace 2 años · 4 min. de lectura

El mismo código, consume 35 veces más energía si lo escribes en Ruby en vez de con Java, aunque no n ...

Profesionales relacionados

Puede que te interesen estos puestos de trabajo

  • beBee Professionals

    Desarrollador/a de API

    Encontrado en: beBee Professionals - hace 2 días

    Aplicar directamente

    beBee Professionals Barcelona, España Desarrolladores Freelance

    beBee Professionals está buscando un/a Desarrollador/a de API para unirse a nuestro equipo de Barcelona · Estamos buscando a alguien con una pasión por la tecnología y la innovación para ayudarnos a construir una plataforma de API escalable y de alto rendimiento. · Como Desarroll ...

  • beBee Professionals

    Desarrollador/a de API

    Encontrado en: beBee Professionals - hace 2 días

    Aplicar directamente

    beBee Professionals Bilbao, España Desarrolladores Freelance

    beBee Professionals está buscando un/a Desarrollador/a de API para unirse a su equipo de Bilbao. Estamos buscando a alguien con una pasión por la tecnología y la innovación, que tenga una mentalidad de crecimiento y una actitud proactiva para contribuir a la creación de productos ...

  • beBee Professionals

    Desarrollador/a de API

    Encontrado en: beBee Professionals - hace 2 días

    Aplicar directamente

    beBee Professionals Sevilla, España Desarrolladores Freelance

    beBee Professionals está buscando un/a Desarrollador/a de API para unirse a su equipo de Sevilla · Estamos buscando a alguien con una pasión por la tecnología y la innovación para unirse a nuestro equipo de desarrollo de API. Si tienes experiencia en el desarrollo de APIs, esta e ...