Что означают слова платформа и API? - PullRequest
7 голосов
/ 10 января 2010

Я купил книгу "Изучение платформы Java 6 SE". Интересно, что на самом деле означает слово платформа. потому что это не просто куча классов, которые я могу использовать. узел JDK 1.6 в Netbeans под библиотеками.

А что такое API? разве это не то же самое, что платформа? Но разве библиотека не означает то же самое ... куча классов с некоторыми суперклассами и так далее?

Ответы [ 4 ]

7 голосов
/ 10 января 2010

Термин «платформа» используется для обозначения любого набора программного обеспечения, услуг и ресурсов, которые в определенном контексте считаются заданными, поэтому их можно использовать в качестве строительных блоков для прикладного программного обеспечения (или для создания платформы более высокого уровня). вдобавок ко всему - что-то считается платформой в другом контексте)

API - это аббревиатура для интерфейса прикладного программирования. Обычно это означает набор соглашений о вызовах (сигнатуры функций и т. П.), Которые могут использоваться приложением (программой, которую вы пишете) для просмотра функциональности, находящейся внутри библиотеки или платформы.

API - это не то же самое, что библиотека. Термин «Интерфейс» означает, что он указывает только то, что вы можете назвать, и как это ведет себя. Фактическая библиотека, которая реализует интерфейс, может решить для себя, как она обеспечивает указанную функциональность.

Хорошим примером API является, например, API JDBC - это стандартный способ взаимодействия Java-программ с базами данных. Каждый поставщик базы данных имеет свой собственный протокол для подключения к базе данных, привязки переменных и тому подобного к командам базы данных, но JDBC API абстрагирует все это и определяет общую основу, которая позволяет всем Java-программам использовать один и тот же набор функций для общения - в идеале - любая база данных. Задача поставщика базы данных - предоставить драйвер, то есть реализовать библиотеку, которая соответствует API и знает, как он может выполнять свои задачи для этой конкретной системы базы данных. Таким образом, в этом случае у вас есть много библиотек драйверов (у каждого поставщика есть свои, иногда несколько), но все они предоставляют свою функциональность через один и тот же набор функций, классов и т. Д., Определенных API (в данном случае, API JDBC - см. http://java.sun.com/j2se/1.5.0/docs/api/java/sql/package-summary.html

Иногда API настолько обширен, что считается платформой, но термин платформа является более общим, и платформе не нужно быть API. Например, набор стандартных утилит UNIX, таких как ls, grep, cd и т. Д., Можно считать платформой, но не столько API.

6 голосов
/ 10 января 2010

Платформа Java состоит (приблизительно) из следующего:

  1. Язык программирования Java
  2. API Java
  3. Виртуальная машина Java

В статье Википедии о Java (программная платформа) .

содержится немало деталей.

Только API , или интерфейс прикладного программирования, предоставляет классы, которые поставляются с платформой Java. Например, когда кто-то говорит «Java API», он, вероятно, обращается к библиотекам классов, которые поставляются с платформой Java SE .

Просто для предоставления ссылок, вот официальная документация для каждой части платформы Java:

2 голосов
/ 10 января 2010

API - это интерфейс прикладного программирования - это набор классов для использования.
Платформа представляет собой целый пакет - API со средой выполнения и дополнительными приложениями, такими как компилятор и т. Д.

0 голосов
/ 10 января 2010

Да, платформа - это более общий термин, который может означать разные вещи в разных контекстах. Подумайте об игровой платформе, такой как XBox. В этом случае Microsoft предоставляет «платформу» для разработчиков игр и для людей, в которых можно играть в игры.

В случае J2EE (корпоративная Java) для меня термин платформа означает решение для разработчиков по созданию корпоративных приложений. Это больше, чем набор классов, как вы указали. Например, существует множество спецификаций, таких как JPA (для персистентности), EJB и т. Д. В этих случаях разработчики Java выложили спецификации для реализации другими поставщиками. Я думаю о платформе как о базе, которая предоставляет разнообразные сервисы для создания чего-то большего.

API - это более точный технический термин. Он обозначает интерфейс прикладного программирования. API - это интерфейс, который мы, разработчики, используем при использовании программного обеспечения других людей. Подумайте о классе Java String. У него есть метод length (). Все разработчики Jave знают, что этот метод существует для класса String, и поэтому он является частью Java API.

...