Я просто просматривал некоторую информацию о формате обмена буферами протокола Google . Кто-нибудь играл с кодом или даже создал проект вокруг него?
В настоящее время я использую XML в проекте Python для структурированного контента, созданного вручную в текстовом редакторе, и мне было интересно, каково общее мнение относительно буферов протокола как формата ввода, ориентированного на пользователя. Преимущества в скорости и краткости определенно присутствуют, но существует очень много факторов, когда речь идет о создании и обработке данных.
Если вы ищете взаимодействие с пользователем, придерживайтесь xml. В настоящее время у него больше поддержки, понимания и всеобщего признания. Если он внутренний, я бы сказал, что буферы протокола - отличная идея.
Может быть, через несколько лет, когда появится больше инструментов для поддержки протокольных буферов, начните искать подходящие API-интерфейсы. До тех пор ... JSON ?
Буферы протокола предназначены для оптимизации связи между машинами. Они действительно не предназначены для человеческого взаимодействия. Кроме того, формат является двоичным, поэтому он не может заменить XML в этом случае использования.
Я также рекомендовал бы JSON как наиболее компактный текстовый формат.
Из вашего краткого описания кажется, что буферы протокола не подходят. Фраза «структурированный контент, созданный вручную в текстовом редакторе» в значительной степени кричит о XML.
Но если вам нужна эффективная связь с малой задержкой со структурами данных, которые не используются за пределами вашей организации, двоичная сериализация, такая как буферы протокола, может дать огромный выигрыш.
Еще один недостаток двоичного формата, такого как PB, заключается в том, что при наличии одного бита ошибки весь файл данных не может быть проанализирован, но с JSON или XML, в качестве последнего средства вы все равно можете вручную исправить ошибку, потому что она читаема человеком и имеет избыточность встроенная ..