Обзор Protocol Buffers
Protocol Buffers - это независимый от языка и платформы расширяемый механизм для сериализации структурированных данных.
Что такое Protocol Buffers?
Protocol Buffers — это независимый от языка и платформы расширяемый механизм Google для сериализации структурированных данных — представьте себе XML, но меньше, быстрее и проще. Вы один раз определяете, как должны быть структурированы ваши данные, а затем можете использовать специальный сгенерированный исходный код для легкой записи и чтения ваших структурированных данных в различные потоки данных и из них, используя различные языки программирования.
Выберите свой любимый язык
Protocol Buffers поддерживают генерацию кода для C++, C#, Dart, Go, Java, Kotlin, Objective-C, Python и Ruby. С версией proto3 вы также можете работать с PHP.
Пример реализации
edition = "2024";
message Person {
string name = 1;
int32 id = 2;
string email = 3;
}
Рисунок 1. Определение в proto.
// Код на Java
Person john = Person.newBuilder()
.setId(1234)
.setName("John Doe")
.setEmail("jdoe@example.com")
.build();
output = new FileOutputStream(args[0]);
john.writeTo(output);
Рисунок 2. Использование сгенерированного класса для сохранения данных.
// Код на C++
Person john;
fstream input(argv[1],
ios::in | ios::binary);
john.ParseFromIstream(&input);
id = john.id();
name = john.name();
email = john.email();
Рисунок 3. Использование сгенерированного класса для разбора сохраненных данных.
С чего начать?
- Скачайте и установите компилятор protocol buffer.
- Прочтите обзор.
- Попробуйте руководство для выбранного вами языка.