Платформа по сравнению с API

Используйте QGuiApplication::screens, чтобы получить список QScreen объектов.

41
задан jasonco 7 April 2009 в 06:57
поделиться

7 ответов

Шаблоны разработки предоставляют следующие определения:

  • инструментарии: "часто приложение будет включать классы из одной или нескольких библиотек предопределенных классов, названных инструментариями. Инструментарий является рядом связанных и допускающих повторное использование классов, разработанных для обеспечения полезной, функциональности общего назначения".
  • платформы: "платформа является рядом сотрудничающих классов, которые составляют допускающий повторное использование дизайн для определенного класса программного обеспечения".

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

Кроме того, и возможно что еще более важно, "платформа диктует архитектуру Вашего приложения": Инверсия Управления является одной из характеристик платформ (см. Martin Fowler на этом); вместо того, чтобы иметь Ваше приложение называют определенные API для реализации определенного поведения, это - платформа, которая называет код.

34
ответ дан drew moore 27 November 2019 в 00:22
поделиться

Я всегда думал, что платформа была всем этим, внутренним кодом, API, и т.д.

В то время как API является просто битом, Вы используете, когда Вы хотите использовать платформу.

Другими словами, платформа.NET состоит из библиотек.NET, все языки и так далее. API является просто способом, которым Вы вызываете функции.

20
ответ дан paxdiablo 27 November 2019 в 00:22
поделиться

Как его имя предполагает (Интерфейс прикладного программирования), API является просто интерфейсом платформы.

9
ответ дан mouviciel 27 November 2019 в 00:22
поделиться

Платформа действительно представляет понятие инверсии управления
(т.е. поток полной программы управления не диктует вызывающая сторона, но платформой),

Когда Вы обращаетесь к платформам языка (таким как Платформа Java или.Net Framework), Вы на самом деле включая больше, чем просто библиотеки и их API (который был бы более ограничен Платформа программного обеспечения, если те библиотеки обеспечивают инверсию управления).

Платформа Языка включает среды разработки и среды выполнения, которые назовут Ваш код (чтобы скомпилировать ее или выполнить ее).
Именно поэтому.Net Framework является "Платформа".


Java может относиться к своим Платформам (JDK, JRE) как "Платформа Java" для подчеркивания ее "независимой от платформы" функции языка программирования.

Со всей JAVA-технологии

Платформа является аппаратными средствами или программной средой в который прогоны программы. (включая Microsoft Windows, Linux, Солярис ОС и Mac OS).
Большинство платформ может быть описано как комбинация операционной системы и используемого оборудования.
Платформа Java отличается от большинства других платформ, в которых это - платформа только для программного обеспечения, которая работает сверху других основанных на аппаратных средствах платформ.

Платформа Java имеет два компонента:

  • Виртуальная машина Java
  • Интерфейс программирования JAVA-приложения (API)

Java Platform

15
ответ дан VonC 27 November 2019 в 00:22
поделиться

От моего понимания API является в основном способом взаимодействовать через интерфейс с существующим приложением (как Facebook), тогда как платформа является в основном инструментом для создания Вашего собственного приложения с нуля.

6
ответ дан mpen 27 November 2019 в 00:22
поделиться

Я хотел бы думать, что API является подмножеством платформы

2
ответ дан Rad 27 November 2019 в 00:22
поделиться

По моему опыту, платформа часто включает две вещи (по крайней мере), которые не делает простой API:

  • Расширяемость: можно составить или разделить компоненты платформы на подклассы, чтобы расширить или настроить ее функциональность.

  • Инструменты для генерации кода, администрирования или задач диагностики, связанных с разработкой приложений.

2
ответ дан Bill Karwin 27 November 2019 в 00:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: