Привет Пакал,

Правильно ли я понял следующий рабочий процесс с jsonrpc?

Вы вручную пишете набор функций и украшаете их, чтобы сделать их конечными точками сервера (где декораторы могут автоматически выполнять проверку на основе отражения и типизированных аннотаций сигнатур функций). Затем вы вручную пишете клиентский код, используя пару вспомогательных функций из библиотеки jsonrpc для переноса исключений. Однако, когда вы меняете сервер (добавляете/изменяете/удаляете конечную точку), вам нужно вручную обновлять клиент, и нет автоматического способа синхронизировать код клиента и сервера и предупреждать пользователя об изменениях во время компиляции/статической проверки? Еще один вопрос, который приходит мне на ум, заключается в том, как вы реорганизуете/находите способы использования, когда конечная точка должна измениться?

Если это так, не сложно ли поддерживать такой рабочий процесс, когда у вас есть клиенты на нескольких языках и/или с разбросанным кодом? (Опять искренний вопрос, а не риторический ;))

Мы прибегли к чванству, потому что неявные клиенты казались неподдерживаемыми в больших базах кода, но у меня мало опыта в этом отношении, так что это тоже могло быть неправильным решением.