новости сообщество форум вики полезно

Piqi

13/09/2010 15:47

Проект Piqi предлагает независимую от языка сериализацию данных, совместимую с Google Protocol Buffers, но с более богатой семантикой.

Для Piqi реализована нативная поддержка Erlang'а и OCaml'а, что позволит разработчикам сериализовать данные в двоичный формат, понятный для Python'а, Java и других языков, для которых реализована поддержка Protocol Bufefrs.

Что отличает Piqi от Protocol Bufefrs заключается в его расширенной семантике. Так, Piqi поддерживает record'ы, enum'ы, а так же  variants (tagged unions), variant subtyping, lists и type aliases.

Piqi так же поддерживает:

 

  • подержка data schema evolution (в стиле Protocol Buffers).
  • "import" и "include" для повторного использования определений из других модулей
  • мощный механизм расширений для records и variants.
  • структурированные значения по умолчанию для опциональных значений

Совместимость с Protocol Buffers:

  • Piqi можно конвертировать в Protocol Buffers и обратно (с очень редкими исключениями)
  • Piqi и Protocol Buffers исполбзуют один и тот же двоичный формат для сериализации

PIqi так е включает в себя следующие утилиты:

  • Piq, декларативный язык высокого уровня с полной поддержкой всех типов данных Piqi. Более того, он более удобен для восприятия, чем JSON или XML
  • Инструментарий для валидации и форматирования данных, а также для конвертации данных между Piq, JSON и двоичным представлением.

 

Проект Piqi доступен по адресу http://piqi.org/

Код проекта на GitHub'е: http://github.com/alavrik/piqi

Примеры использования в Erlang'е: http://github.com/alavrik/piqi/tree/master/examples/addressbook/


 
 
 
 

так же

Ссылки

Сюда ссылаются

twitter