Язык описания интерфейса
Эта статья нуждается в дополнительных цитатах для проверки . ( март 2022 г. ) |

Язык описания интерфейса или язык определения интерфейса ( IDL ) — это общий термин для языка, который позволяет программе или объекту, написанному на одном языке, взаимодействовать с другой программой, написанной на неизвестном языке. IDL обычно используются для описания типов данных и интерфейсов независимым от языка способом, например, между интерфейсами, написанными на C++ , и интерфейсами, написанными на Java .
IDL обычно используются в программном обеспечении удаленного вызова процедур . В этих случаях машины на обоих концах канала могут использовать разные операционные системы и языки программирования. IDL предлагают мост между двумя разными системами.
Программные системы, основанные на IDL, включают от Sun ONC RPC , Open Group от Distributed Computing Environment , IBM от System Object Model , Object Management Group от CORBA (которая реализует OMG IDL, IDL на основе DCE/RPC) и Data Distribution. Service , Mozilla от XPCOM , Microsoft от Microsoft RPC (который превратился в COM и DCOM ), Facebook от Thrift и WSDL для веб-сервисов.
Примеры [ править ]
- AIDL : на основе Java , для Android ; поддерживает локальные и удаленные вызовы процедур, доступ к ним возможен из собственных приложений путем вызова через собственный интерфейс Java (JNI)
- Apache Thrift : на основе Apache , первоначально разработанного Facebook.
- Avro IDL : для системы Apache Avro.
- АСН.1
- Cap'n Proto : создан его бывшим сопровождающим, позволяет избежать некоторых очевидных недостатков протокольных буферов .
- Язык краткого определения данных (CDDL, RFC 8610): [1] Обозначение CBOR и JSON. структур данных
- CortoScript : описание данных и/или интерфейсов для систем, требующих семантической совместимости.
- Etch : язык описания кросс-платформенных услуг Cisco Etch.
- Расширяемая нотация данных (EDN): формат данных Clojure , аналогичный JSON.
- FlatBuffers : формат сериализации от Google, поддерживающий десериализацию без копирования.
- Franca IDL : язык определения интерфейса Franca с открытым исходным кодом.
- FIDL : язык описания интерфейса для операционной системы Fuchsia , предназначенный для написания компонентов приложений на C , C++ , Dart , Go и Rust . [2]
- Язык спецификации IDL : исходный язык описания интерфейса.
- IPL : язык протокола Imandra
- JSON Протокол веб-службы ( JSON-WSP )
- Упрощенный язык интерфейса устройства обработки изображений
- Язык определения интерфейса Microsoft (MIDL): расширение Microsoft OMG IDL для добавления поддержки объектной модели компонентов (COM) и объектной модели распределенных компонентов (DCOM).
- OMG IDL : стандартизирован Object Management Group , используется в CORBA (для служб DCE/RPC) и DDS (для моделирования данных ), также выбран W3C для предоставления DOM документов XML, HTML и CSS.
- Спецификация OpenAPI : стандарт веб-API , используемый Swagger и другими технологиями.
- Определения интерфейса открытого сервиса
- Буферы протоколов : Google IDL от
- Язык описания служб RESTful (RSDL)
- Smithy : изобретенный AWS язык определения интерфейса, не зависящий от протокола.
- Язык спецификации для механизма интернет-коммуникаций (Ice: Slice )
- Универсальные сетевые объекты : OpenOffice.org компонентная модель
- Язык описания веб-приложений (WADL)
- Web IDL от WHATWG : может использоваться для описания интерфейсов, которые предназначены для реализации в веб-браузерах.
- Язык описания веб-служб (WSDL)
- XCB : язык описания протокола X для системы X Window.
- Язык описания кросс-платформенного интерфейса ( XPIDL ): способ Mozilla указать интерфейсы XPCOM.
См. также [ править ]
- Компонентная разработка программного обеспечения
- Программирование на основе интерфейса
- Язык определения интерфейса Java
- Список сокращений вычислительной техники и ИТ
- Универсальный язык интерфейса
- Язык разметки пользовательского интерфейса
Ссылки [ править ]
- ^ Биркхольц, Х.; Вигано, К.; Борман, К. (2019). «Язык краткого определения данных (CDDL): соглашение об обозначениях для выражения краткого представления двоичных объектов (CBOR) и структур данных JSON» . Редактор RFC . дои : 10.17487/RFC8610 . S2CID 195857027 . Проверено 24 мая 2022 г.
- ^ «Обзор FIDL» . Фуксия . Проверено 23 февраля 2022 г.