2010-01-09 11 views
6

He comprado un libro "learning the java SE 6 platform". Me pregunto qué significa realmente la palabra plataforma. porque no es solo un montón de clases que puedo usar el nodo JDK 1.6 en Netbeans en Bibliotecas.¿qué significa exactamente la plataforma de palabras y api?

¿Y qué es la API? ¿No es lo mismo que la plataforma? Pero ¿no significa la biblioteca lo mismo ... un montón de clases con algunas superclases, etc.?

+0

La plataforma puede hacer referencia a una arquitectura de hardware o, en este caso, a un entorno de software. Consulte la respuesta de coobird para obtener más información –

Respuesta

6

El término "plataforma" se utiliza para designar cualquier colección de software, servicios y recursos que, en un contexto específico, se consideren como dados para que puedan usarse como componentes para el software de aplicación (o para construir un nivel superior plataforma además de eso, algo considerado una plataforma en otro contexto)

API es un acrónimo de la interfaz de programación de aplicaciones. Esto generalmente significa la recolección de convenciones de llamadas (firmas de funciones y similares) que pueden ser utilizadas por una aplicación (el programa que está escribiendo) para examinar la funcionalidad que reside dentro de una biblioteca o plataforma.

Una API no es lo mismo que una biblioteca: el término Interfaz transmite que solo especifica a qué puede llamar y cómo se comporta. La biblioteca real que implementa la interfaz puede decidir por sí misma cómo ofrece la funcionalidad especificada.

Un buen ejemplo de una API es, por ejemplo, la API JDBC: esta es la forma estándar para que los programas Java se comuniquen con las bases de datos. Cada proveedor de bases de datos tiene su propio protocolo para conectarse a la base de datos, variables de enlace y comandos de base de datos, pero la API JDBC abstrae todo eso y define un terreno común que permite a todos los programas java usar el mismo conjunto de funciones para hablar - idealmente - cualquier base de datos. El trabajo del proveedor de la base de datos es realmente proporcionar un controlador, es decir, implementar una biblioteca que esté de acuerdo con la API y sepa cómo puede cumplir sus tareas para ese sistema de base de datos en particular. Entonces, en este caso tiene muchas librerías de controladores (cada proveedor tiene las suyas, a veces múltiples) pero todas entregan su funcionalidad a través del mismo conjunto de funciones, clases, etc. especificadas por la API (en este caso, la API de JDBC - ver http://java.sun.com/j2se/1.5.0/docs/api/java/sql/package-summary.html

A veces, una API es tan extensa que se considera una plataforma, pero el término plataforma es más general, una plataforma no necesita ser una API. Por ejemplo, la colección de utilidades UNIX estándar como ls, grep , cd etc. puede considerarse una plataforma, pero no tanto una API.

+0

Buena respuesta, aclara lo que significa plataforma y api ... me salvaste el tiempo .... :) –

1

API - es una interfaz de programación de aplicaciones - este es un conjunto de clases para su uso.
La plataforma es un paquete completo: API con tiempo de ejecución y aplicaciones adicionales como compilador, ect.

6

La plataforma Java consiste en (más o menos) de los siguientes:

  1. El lenguaje de programación Java
  2. El API Java
  3. La Máquina Virtual de Java

Hay una un poco de detalles en el Wikipedia article on Java (software platform).

La API, o interfaz de programación de aplicaciones, por sí sola proporciona las clases que vienen con la plataforma Java. Por ejemplo, cuando uno dice "API de Java", probablemente se estaría refiriendo a las bibliotecas de clases que vienen con la plataforma Java SE.

Sólo por el bien de la creación de enlaces, aquí están los documentos oficiales para cada parte de la plataforma Java:

+0

¿Qué tiene JVM? a las relaciones con JRE y JDK? – ajsie

+2

La JVM ejecuta aplicaciones Java. El JRE proporciona la JVM para ejecutar aplicaciones Java, mientras que el JDK tiene un compilador que se dirige a la JVM para compilar aplicaciones Java. – coobird

+0

Respuesta conciso y al grano. El siguiente enlace explica las diferentes API que existen para Java. No estoy seguro de dónde encaja la idea del marco en la imagen. http://en.wikipedia.org/wiki/List_of_Java_APIs –

0

Sí plataforma es más que un término general que puede significar diferentes cosas en diferentes contextos ent. Piensa en una plataforma de juegos como Xbox. En este caso, Microsoft ofrece una "plataforma" para que los desarrolladores creen juegos y para que las personas jueguen juegos.

En el caso de J2EE (enterprise Java), el término plataforma para mí significa una solución para que los desarrolladores creen aplicaciones empresariales. Es más que un conjunto de clases como usted señaló. Por ejemplo, hay muchas especificaciones como JPA (por persistencia), EJB, etc. En estos casos, los desarrolladores de Java han establecido una especificación para que otros proveedores la implementen. Pienso en la plataforma como una base que ofrece una variedad de servicios para construir algo más grande.

Una API es un término más específico, técnico. Representa la interfaz de programación de aplicaciones. Una API es la interfaz que los desarrolladores usamos cuando usamos el software de otras personas. Piensa en una clase Java String. Tiene un método de longitud(). Todos los desarrolladores de Jave saben que este método existe para la clase String y, por lo tanto, es parte de la API de Java.

Cuestiones relacionadas