Формальное и тестируемое определение API
-
12-10-2019 - |
Вопрос
Есть ли формальный язык, независимый от языка для описания API? Я хочу определить библиотеку утилиты, которая будет использоваться во многих архитектурах, и хотел бы каким -то способом программно проверить, что все функции API были реализованы, и, в идеале, запустить некоторые модульные тесты функций на разных платформах.
Например, я захочу написать сборку .NET в C#, DLL Windows в C ++, библиотеку MacOS в Objective-C и библиотеку Linux Share в C ++.
Решение
Thrift-это рамка удаленной процедуры (RPC), разработанная на Facebook для «масштабируемой разработки услуг по межязыке». Он объединяет программный стек с двигателем генерации кода для создания услуг, которые работают эффективно и беспрепятственно между C ++, C#, Java, Perl, Python, PHP, Erlang и Ruby. Несмотря на то, что он разработан в Facebook, теперь он является проектом с открытым исходным кодом в инкубаторе Apache Software Foundation. Реализация была описана в техническом документе в апреле 2007 года, выпущенном Facebook, который теперь размещен на Апач.
Другие советы
Вот хорошая ссылка: Язык описания интерфейса.