В понедельник Google выпустил Protocol Buffers — формат хранения данных, позициниоруемый гуглом как частичная замена XML.
Вот как выглядит пример XML:
<person>
<name>Йа Креведко</name>
<email>ja@kreved.co</email>
</person>
А вот так выглядит та же информация, записанная с помощью Protocol Buffers (в текстовом формате):
person {
name = "Йа Креведко"
email = "ja@kreved.co"
}
Кроме текстового формата, Protocol Buffers может быть бинарным — т.е. Human Readability, как в случае с XML, не гарантирована.
Для любого файла в формате Protocol Buffers нужен файл формата .proto, в котором описывается структура данных:
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
Google и сам пользуется этим форматом во многих своих проектах, и другим рекомендует его вместо XML для сериалайзинга структурированных данных, ибо Protocol Buffers по сравнению с XML:
- проще
- в 3-10 раз меньше
- в 20-100 раз быстрее
- менее неопределённые
- порождают классы для доступа к данным, которые легче использовать программно
Protocol Buffers подходят не для всего: например, хранить текстовый документ с разметкой с помощью этого формата будет неудобно, т.к. структура будет смешиваться с текстом.
Давно пора было придумать замену, быстрей бы интегрировали бы в PHP и прочее
Comment by babloblog — 20.07.2008 @ 18:40
Недавно вийшла свіжа версія Google Protocol Buffers 2.1.0. Деталі версії на Розробці.
Comment by Mux — 02.06.2009 @ 15:51
Mux, все детали — на гугле, а не вашей Розробці.
Comment by Val Petruchek — 24.10.2009 @ 18:58