у жсона свой тулинг у бинарных протоколов свой, для жсона нужно иметь схемы или openapi, иначе тестировщики не разберутся что им слать через postman. И эти схемы тоже надо поддерживать, из JSON тоже можно бояться убирать deprecated поля если нет понимания кто ими может пользоваться (
@Psilon). В случае протобафа делимся с тестировщиками proto файлами и они могут на удобном для них языке получить клиент для сервиса. Про то что прото-сообщение можно сконвертить в жсон для отладки уже писал. В кишки GRPC лазить не приходилось, с этой стороны проблем не встречалось
Схемы для json можно делать сильно позже, по факту. Мигрировать json гораздо проще, иногда достаточно взглянуть на него, чтобы понять, это старая или новая версия.
json можно посмотреть на мобилках или на js клиенте, и делается это намного проще, чем pb.
Одно из сильных преимуществ: можно смотреть и понимать некорректно сформированное или даже неполное json сообщение и уже по нему строить какие-то выводы.
Наконец, в этом видео, если ты смотрел, очерчены главные и самые болезненные грабли, которые связаны с версионированием протоколов, в микросервисной архитектуре крайне желательно уметь независимо апгрейдить каждый из сервисов, и даже больше -- в процессе роллаута могут работать экземпляры разных версий одновременно.
Это можно сделать и на pb с помощью умной архитектуры и такой-то матери, но как мы видим гораздо эффективнее вообще избегать подобных проблем.