Термин «платформа» используется для обозначения любой коллекции программного обеспечения, услуг и ресурсов, которые в определенном контексте считаются заданными, поэтому их можно использовать в качестве строительных блоков для прикладного программного обеспечения (или для создания более высокого уровня платформа на вершине этого - что-то считается платформой в другом контексте)
API - это аббревиатура для интерфейса прикладного программирования. Обычно это означает сбор условных вызовов (сигнатур функций и т. П.), Которые могут использоваться приложением (программа, которую вы пишете) для просмотра функций, находящихся внутри библиотеки или платформы.
API не совпадает с библиотекой - термин Интерфейс передает, что он определяет только то, что вы можете назвать, и как это происходит. Фактическая библиотека, которая реализует интерфейс, может сама решить, как она обеспечивает указанную функциональность.
Хорошим примером API является, например, JDBC API - это стандартный способ взаимодействия 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.
Платформа может ссылаться либо на аппаратную архитектуру, либо в этом случае на программную среду. Подробнее см. в ответе coobird. –