¿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

En las empresas tecnológicas, ¿la asignación cerrada y la clasificación de la pila son malevolencia o incompetencia?

¿Cómo puedo comprometerme mejor con los cronogramas de desarrollo usando Kanban / Lean Agile?

Mi hermana piensa que es genial porque construye todo su software de abajo hacia arriba con C. Me llama novato cuando uso Ruby para construir un juego de tres en raya y dice que nunca tendré tan buenos fundamentos como ella ¿Cómo la regaño?

Un amigo argumenta que los campos de entrenamiento, los MOOCS y los libros se consideran 'bombas y vertederos' en lugar de ofrecer una educación formal en CS. Si paso por MOOCS intensivos y campamentos de entrenamiento, ¿realmente me estoy engañando?

¿Es correcto decir que el software nunca sufre desgaste?

¿Qué sitios ofrecen pagar mis artículos sobre software?

¿Es posible verificar formalmente todos los tipos de software?

¿Por qué los vendedores de software siguen licenciando por CPU o por núcleo?

¿Cómo es trabajar en Mentor Graphics como ingeniero de software / hardware?

¿Cuál es el mejor software de punto de venta?

¿Qué significa un trabajo de software? ¿Cuántos tipos de ramas hay? ¿Cómo funcionan y qué hacen?

¿Cuál es la mejor herramienta para aprender pruebas de software para principiantes?

¿Cuáles son algunos principios fundamentales de diseño y arquitectura de software cuando se construye un servidor / cliente de juegos MMO?

¿Qué idiomas aprenden todos los ingenieros informáticos?

¿Cuál es el mejor ingreso adicional para el ingeniero de software?