Google Protocol Buffers 2.1.0

Вийшла нова версія бібліотеки для серіалізації структурних даних Google Protocol Buffers(або просто Protocol Buffers).

Бібліотека складається з двох частин — компілятора Proto файлів та власне самої бібліотеки. За допомогою Protocol Buffers можна описати структуру даних, з якої будуть згенеровані класи на Java, Python чи C++.
Приклад такого опису:

message Person {
  required string name = 1;
  required int32 id = 2;
  optional string email = 3;

  enum PhoneType {
    MOBILE = 0;
    HOME = 1;
    WORK = 2;
  }

  message PhoneNumber {
    required string number = 1;
    optional PhoneType type = 2 [default = HOME];
  }

  repeated PhoneNumber phone = 4;
}


Особливістю згенерованих класів є їхнє внутрішнє представлення. Cеріалізовані дані які були збережені в Java без проблем відтворяться в Python. Бібліотека контролює процес серіалізації, завдяки чому бінарне представлення серіалізованих структур є дуже компактним.
Проект цікавий тим що Google інтенсивно використовує Protocol Buffers для внутрішніх цілей та у більшості своїх проектів для комунікації між під системами. Згідно документації на Google описано 48,162 типів повідомлень в 12,183 Proto файлах.

Серед важливих змін нової версії є наступні:
  • Більш ефективна компресія простих типів

  • Можливість використання констант

  • Оновлено включений Google Test до версії 1.3.0

  • По замовчуванню включено optimize_for = SPEED

  • Можна оголошувати поля як «застарілі» (deprecated)


Більш детальний список змін можна отримати з заміток по релізу.
Завантажити компілятор та бібліотеку можна з офіційного сайту.

Протягом тижня на Розробці має з'явитись туторіал по Google Protocol Buffers ;)
  • +7
  • 31 травня 2009, 11:49
  • zenyk

Коментарі (4)

RSS згорнути / розгорнути
+
0
О, супер! дуже чакаю! якраз розбираюсь з протоколом. Цикавить розриття темы GPB як альтернативи звичайному AJAX/XMLHTTPRequest — тобто звести протокол обмину миж клиентом в браузери и сервером до обмину меседжами по GPB
avatar

aleks_raiden

  • 31 травня 2009, 12:47
+
0
перша частина майже готова :)
це буде ввідний туторіал по бібліотеці

щодо альтернативи AJAX — чесно кажучи, я сильно сумніваюсь, так як існують клієнти лише до Java, Python, C++ (мови які використовуються на Google)
Бібліотека внутрішньо відносно складна. Клієнт на PHP десь мелькав, але про JavaScript клієнтів навіть нічого не чув
avatar

zenyk

  • 2 червня 2009, 14:04
+
0
Та не, треби просто дивитись на стринки з портами.

# Action Script: code.google.com/p/protobuf-actionscript3/
# Action Script: code.google.com/p/protobuf-actionscript/
# Action Script: code.google.com/p/protocol-buffers-actionscript/
# Javascript: code.google.com/p/protobuf-js/
# PHP: code.google.com/p/pb4php/

крим того е ще багато, яких нема в оф документации.
avatar

aleks_raiden

  • 2 червня 2009, 14:13
+
0
Цікаві думки про Google Protocol Buffers з Комп'ютерного Обозренія.
avatar

zenyk

  • 2 червня 2009, 17:00

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.