@midia21

Стоит ли тратить время на самописный клиент/sdk для какого то (rest) api?

В последнее время некоторое библиотеки находил для разных api сервисов, например: для работы с api twitter у них на сайте перечислен целый список для различных языков. Пару роликов видел, как люди самописные sdk реализовывали. Сам недавно решил для одного малоизвестного сервиса написать sdk под проект и понял что это довольно непросто - покрыть пару десятков методов api, да еще держать их в актуальном состоянии. Самое, по мне, вызывающее смутные сомнения, что ты просто пишешь обертки на http запросами, чтобы можно легко было их внедрить в ООП'шный стиль. В основном весь код - бойлерплейт.

Недавно узнал, что некоторые инструменты, например swagger или grpc/rpc позволяют буквально за одну команду автоматически сгенерировать клиент. По сравнению с одной библеотекой-sdk, которая на гитхабе дорабатывается уже 7 лет - это кажется немного быстрее)

В общем, был бы очень благодарен, если объясните - есть ли у автоматической генерации минусы, и какие плюсы у самописных инструментов? Спасибо.
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
firedragon
@firedragon
Senior .NET developer
Основной минус кодогенераторов в том что они за тебя думают. На типовых задачах все хорошо, но "внезапно" MS сменила механизм получения токена, и ты перед разбитым корытом. Из личного опыта.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@calculator212
есть ли у автоматической генерации минусы
Помимо того, что озвучили еще есть проблема с тем, что генерируемый код обычно трудночитаемый.

какие плюсы у самописных инструментов?
Так тут все зависит от разраба. Например обычно бывают тесты, примеры использования, +/- понятный код, мб кто-то будет с вами еще работать над проектом, с автогенерацией вряд ли такое будет. Но в целом людям не так часто нужно полноценное sdk, поэтому многие могут просто запилить пару своих функций для взаимодействия с сервисом.
По сравнению с одной библеотекой-sdk, которая на гитхабе дорабатывается уже 7 лет

Вообще странно, что существующий столько лет сервис не имеет нормального sdk, либо он не особо популярный.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы