¿Las API de descanso son más lentas que usar directamente un SDK para interactuar con un back-end?

Probablemente quiera decir: “¿Las API de descanso son más lentas que usar directamente una biblioteca de API para interactuar con un back-end?”

La respuesta es sí.

Un SDK, es decir, el Kit de desarrollo de software, es simplemente un conjunto de herramientas que incluye la biblioteca API y es necesario para integrar la API en otro software.

Por simplicidad, supongamos que un back-end es un DB. Todavía tengo que ver una API REST que se conecta directamente a la base de datos que no es una API para la propia base de datos. Normalmente se accede a la base de datos utilizando otra API, como, por ejemplo, JDBC, que está integrada en el cliente o la API REST mediante un SDK.

El flujo típico del programa es:

Consumidor / Cliente API REST API ➝ DB API (por ejemplo, JDBC) ➝ DB.

La API Rest es una pieza de capa adicional que convierte las solicitudes de un cliente en las llamadas DB requeridas.

Sin embargo, el siguiente escenario será mucho más rápido, cuando se mide usando el tiempo de la computadora, si pasamos por alto la API REST y vamos directamente con la API DB …

Consumidor / Cliente API DB API (por ejemplo, JDBC) ➝ DB.

Para pequeños conjuntos de datos, un ser humano apenas puede notar la diferencia horaria.

Las API de descanso son lentas en principio, ya que hacen una llamada de red a un servicio para obtener datos, esto requiere que todos los datos enviados en ambos sentidos se conviertan desde y hacia alguna forma de texto y se arrojen a chorros sobre un nuevo equipo en ambos sentidos.

Pero no sé qué quiere decir con un SDK, por lo que la pregunta real no tiene respuesta.

SDK es un término genérico Kit de desarrollo de software, para responder a esta pregunta debemos saber qué kit de desarrollo de software y qué está haciendo con él.

La respuesta dada por Quentin Homareau parece suponer que está haciendo algo en particular con un SDK de Android, si es así, su respuesta probablemente sea correcta.

La respuesta dada por Kshitij Vichare es más general y supone que cualquier cosa que esté haciendo con el SDK puede omitir la llamada de red, que es lo que supuse que quería decir, si es así, su respuesta es correcta.

Fundamentalmente se necesita más información para responder esta pregunta definitivamente.

Absolutamente no

Los SDK debajo del capó solo hacen llamadas a la API REST.

Lo que significa que un SDK le da al desarrollador un acceso programático común a la API REST evitando errores humanos, y eso es todo.

Cuando utiliza el SDK de Google Identity Platform, solo llama a la API que se encuentra en

https://www.googleapis.com/identitytoolkit/v3/

No es más rápido ni más lento.

Sí. Debido a que una API REST está en la red, será inherentemente más lenta. Pero las ventajas superan esto.

Una API REST se puede distribuir en más servidores, carga equilibrada y acceder desde cualquier lugar. Es por eso que es un patrón tan popular en estos tiempos distribuidos.

Una vez que el servidor analiza la solicitud HTTP, es probable que use formas similares de acceder a los datos como una API normal, y esa parte tiene la misma velocidad.

Las API REST siempre serán más lentas que el uso de un SDK ‘nativo’ para interactuar. Asumiendo que el SDK utiliza protocolos TCP nativos y cargas útiles binarias sin la sobrecarga de XML y otras marcas descriptivas en la carga útil.

More Interesting

¿Es común que los desarrolladores web front-end se conviertan en desarrolladores web back-end tarde o temprano?

¿Qué tan difícil sería aprender SQL y PHP sin ningún conocimiento previo en desarrollo de backend?

¿Cuáles son los sitios web que los desarrolladores profesionales usan como referencia para su trabajo? (Para cualquier trabajo, considerando para ambos, Front y Back-end)

¿Qué es un lenguaje de fondo?

¿Cuáles son los pros y los contras de usar RoR vs Go en el back-end, cuáles son las situaciones en las que usar uno de ellos es imprescindible en lugar del otro?

¿Qué necesito saber sobre el desarrollo de back-end para admitir un nuevo inicio?

¿Qué tan físico se vuelve un desarrollador de back-end?

¿Qué tan factibles son los trabajos de desarrollo que involucran la codificación de back-end después de graduarse de un campamento de codificación superior?

¿Cuáles son las diferencias entre un rol de PM de front-end y un rol de PM de back-end?

¿Cómo puede un desarrollador de back-end convertirse en un desarrollador móvil competente?

Si quisiera crear un sitio como Quora, ¿cómo gestionaría mis desarrolladores front-end y back-end por separado y de manera eficiente?

Cómo aprender el desarrollo web de back-end fácilmente

¿Cuál es el mejor idioma para aprender para el desarrollo de backend?

¿Por qué no hay muchas estructuras / bibliotecas de back-end modernas en C ++ para el desarrollo web?

¿Qué es el desarrollo web real? ¿Alguien puede explicarme brevemente sobre todos los idiomas de back-end y front-end? ¿Qué idiomas se utilizan en front-end y back-end? ¿Cuáles son los usos y cómo puedo aprenderlos y en qué secuencia?