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