¿Cuál es la principal diferencia entre las API y el software?

API es una parte del software. Una aplicación de software se compone de API.

Básicamente, una API es más como delegar su trabajo, que es un buen ejemplo de abstracción del Concepto Orientado a Objetos.

Por ejemplo, usted tiene una criada en su casa que hace el trabajo de limpieza, pero para su colega que visita su casa, cree que la mantiene limpia, pero en realidad hizo la limpieza a través de su criada. También puede mantener un cocinero, Gardner, secretario, niñera, asesor legal, etc.

Del mismo modo, en un software, utiliza API y realiza una tarea mayor.
por ejemplo, está creando una aplicación móvil que utiliza cámara, cifrado de datos, altavoces, internet, GSM, GPS, acelerómetro, giroscopio, animaciones, etc.

Para construir la aplicación no tiene que preocuparse

  • Configuración de hardware de conocimiento de nivel de cámara / hardware
  • Implementando el cifrado usted mismo por AES / DES, etc.
  • ¿En qué formato de datos necesita enviar datos a los altavoces?
  • Cómo dividir los datos en paquetes y enviarlos por Internet
  • No necesita conocer todos los comandos GSM y GPS y cómo funcionan
  • No necesita conocer la física del acelerómetro y giroscopio y las ecuaciones para ello.
  • No necesitas escribir programas para animaciones

Incluso sin saber todas estas cosas, puede crear una gran aplicación utilizando API para todas estas cosas proporcionadas por Google (Android), Apple (iOS). Solo tiene que llamar a las API y hacer el trabajo.

Usar API es muy importante porque digamos que está encriptando datos usando AES, lo que está haciendo es reinventar la rueda que es simplemente estúpida.

Para resumir, utiliza las tecnologías existentes e innova algo fuera de él. Las API hacen el trabajo sucio y le permiten lograr cosas más importantes.

More Interesting

Cómo bloquear usuarios que cambian su dirección IP o usan un proxy

¿Cómo se aplica la Ley de Little al software?

¿Cómo podemos hacer que las evaluaciones de desempeño sean objetivas para los ingenieros de software?

¿Cuál es la diferencia entre arquitectura de software y análisis de sistemas?

¿Qué hace que una gran cultura para un equipo de desarrollo de software?

¿Cuáles son las mejores prácticas para el aseguramiento de la calidad del software cuando se utilizan metodologías de desarrollo ágiles?

¿Cuáles son los lenguajes de programación, utilizados recientemente en las industrias de software?

¿Cuál es la mejor manera de diseñar software?

¿Por qué la mayoría de las compañías de software descuidan las buenas prácticas de desarrollo?

¿Quién ha sido el primero en introducir los lenguajes de patrones de Christopher Alexander en el campo de la ingeniería de software?

¿Estudiar mecatrónica e ingeniería de software juntos te convierte en un talentoso diseñador y programador de robótica?

Cuando ejecuto una consulta con muchas columnas, aparece el error "Tamaño de memoria permitido de 33554432 bytes agotados (intenté asignar 512 bytes)". ¿Cuáles son algunas soluciones?

¿Cómo debo usar Git / SVN para mis proyectos que se ejecutan en un servidor EC2? Soy la única persona que escribe el código.

Soy un estudiante de segundo año haciendo una licenciatura en ingeniería de sistemas de información. Necesito completar mi pasantía por seis en tercer año. ¿Cómo puedo tener la oportunidad de hacer mi pasantía en Europa o Estados Unidos?

¿Qué debe saber un desarrollador fullstack en 2016? ¿Qué idiomas deberíamos saber realmente?