Язык описания интерфейса
-
Определение языка интерфейса (IDL)
- IDL позволяет программам взаимодействовать на разных языках.
- Используется для описания типов данных и интерфейсов между различными языками программирования.
-
Применение IDL
- Применяется в системах удаленного вызова процедур, где используются разные операционные системы и языки.
- Включает в себя различные программные системы, такие как ONC RPC, CORBA, XPCOM и другие.
-
Примеры IDL
- AIDL: основан на Java, поддерживает локальные и удаленные вызовы, используется в Android.
- Apache Thrift: разработан Facebook, изначально для внутренних целей.
- Avro IDL: предназначен для системы Apache Avro.
- ASN.1: стандарт для обмена данными между системами.
- Cap’n Proto: позволяет избежать недостатков протокольных буферов.
- CDDL: нотация для структур данных CBOR и JSON.
- CortoScript: для систем с семантической совместимостью.
- Etch: кроссплатформенный язык для сервисов Cisco Etch.
- EDN: формат данных Clojure, похожий на JSON.
- FlatBuffers: формат сериализации от Google с поддержкой десериализации с нулевым копированием.
- Franca IDL: открытый исходный код, используется для описания интерфейсов.
- FIDL: язык для операционной системы Fuchsia, поддерживает различные языки программирования.
- MIDL: расширение Microsoft для OMG IDL с поддержкой COM и DCOM.
- OMG IDL: стандартизирован Object Management Group, используется в CORBA и DDS.
- OpenAPI: стандарт для веб-API, используется Swagger.
- Smithy: язык от AWS, не зависит от протокола.
- Web IDL: от WHATWG, предназначен для веб-браузеров.
- WSDL: стандарт для веб-сервисов.
- XCB: язык для X Window System.
- XPIDL: язык от Mozilla для определения интерфейсов XPCOM.
-
Дополнительные ресурсы
- Ссылки на документацию и руководства по IDL.
Полный текст статьи: