Tras el reciente anuncio de que la API de Google Maps deja de ser gratuita, parece resurgir el debate acerca de si es buena o mala idea el usar APIs de terceros fabricantes en nuestros desarrollos personales o empresariales.
Sin duda, el uso de servicios web y computación en la nube está cada día más extendido debido a la facilidad y rapidez de uso que nos ofrecen, pero esta práctica entraña más de un riesgo que conviene conocer y sopesar antes de tomar la decisión de qué partes de nuestra aplicación vamos a desarrollar nosotros y qué partes realizar mediante servicios de terceros.
A continuación enumeramos algunos de los principales inconvenientes y ventajas de la delegar en terceras empresas:
Pros del uso de APIs de terceros
-
Rapidez. El poder integrar en cuestión de segundos mapas, imágenes o servicios de autenticación en nuestras aplicaciones nos descarga de gran parte de la programación y nos permite centrarnos rápidamente en nuestro dominio de negocio.
-
Robustez. La mayoría de APIs y servicios más populares están tan sumamente extendidos que han sido probados en toda clase de situaciones de estrés, por lo que podremos asegurar que su respuesta será adecuada en la inmensa mayoría de los casos.
-
Imagen. Cuando los usuarios usan a menudo un buen servicio, lo acaban reconociendo, y el asociar nuestra imagen a la de un grande como Google, Facebook o Twitter, puede ayudarnos a contagiarnos de la buena percepción que los usuarios tienen de estos gigantes.
-
Mantenimiento. Por norma general, las grandes empresas no dejarán que sus productos se deterioren, por lo que es bastante común que los servicios accedidos a través de las APIs estén en una constante mejora, que además en muchos casos será totalmente transparente al programador que las usa.
-
Innovación. Al hilo de lo anterior, es lógico pensar que empresas líderes como Microsoft, eBay o Amazon no se conformarán con mantener sus aplicaciones para que funcionen bien, sino que tratarán de mejorarlas constantemente, con lo que los usuarios de sus APIs se verán beneficiados con todas las mejoras que se vayan produciendo.
Contras del uso de APIs de terceros
-
Condiciones cambiantes. Al ligarnos a una tercera empresa por un contrato tan débil como es la licencia de uso de una API, normalmente estamos expuestos a la voluntad de la otra parte, lo que puede suponer recortes en las prestaciones, obsolescencia de métodos implementados o pérdida de la gratuidad del servicio, tal y como acaba de ocurrir con Google Maps.
-
Disponibilidad. Como si no fuera suficiente con preocuparnos de mantener en funcionamiento nuestro propio servidor y aplicaciones, caídas de servicios externos, como las ocurridas este año con Amazon, pueden dejar tus servicios inutilizados. ¿Os imagináis tener una tienda virtual que funcione a la perfección pero sólo admita pagos por PayPal y que éstos no funcionen?
-
Imagen. Antes lo nombré como una ventaja, ya que podemos favorecernos del prestigio de una buena marca al trabajar con ella, pero ¿qué ocurre cuando la reputación de nuestros partners desciende hasta el fango? Desgraciadamente es muy difícil separar por completo la imagen de unos y otros, y nos veremos perjudicados por los errores ajenos.
-
Falta de innovación. Cuando los servicios de terceros que utilizamos van por delante en progreso e innovación no suele haber quejas, pero también puede ocurrir lo contrario: que se estanquen, nuestra aplicación avance más rápido y su API ya no pueda cumplir nuestras exigencias. Ante situaciones así se plantea la difícil decisión de cambiar de proveedor de servicios o implementarlos por tu cuenta, con el consiguiente sobrecoste.
-
Privacidad. Las leyes son muy distintas en cada país, y algunas como la LOPD española, que es más restrictiva que las equivalentes de otros países, pueden impedirnos legalmente delegar ciertos datos o servicios para su trato por terceros.
¿Y vosotros, qué otras ventajas o inconvenientes encontráis en el uso de APIs y servicios de terceros?
En GenbetaDev | Google Maps: la API deja de ser gratuita
En GenbetaDev | ¿Deberíamos preocuparnos por el cierre de algunas de las APIs de Google?