LINUX.ORG.RU

QtProtobuf 0.4.0

 , , ,


1

1

Выпущена новая версия библиотеки QtProtobuf.

QtProtobuf –— свободная библиотека, выпускаемая под лицензией MIT. С ее помощью вы можете с легкостью использовать Google Protocol Buffers и gRPC в вашем Qt проекте.

Ключевые изменения:

  • Добавлена поддержка вложенных типов.
  • Добавлен gRPC API для QML.
  • Исправлена статическая простройка для well-known типов.
  • Добавлен базовый пример использования с пошаговой инструкцией.
  • Добавлена обработка «невалидных» полей в JSON сериализаторе.
  • Исправлены ошибки в путях бинарых пакетов генерируемых CPack.
  • Добавлена статическая линковка Quick (QML) плагинов.

Незначительные изменения:

  • Переработан генератор.
  • макрос CMake qtprotobuf_link_archive заменен на qtprotobuf_link_target.

>>> Подробности



Проверено: cetjs2 ()

Объясните пожалуйста, как используется protobuf? В гугле не забанили, просто моих познаний маловато, чтобы составить правильный запрос.

Спасибо.

fank ()
Ответ на: комментарий от fank

Как и любой другой IDL, например Thrift или RSDL. Проектирование любого взаимодействия компонент начинается с описания итерфейса между ними. Вы всегда можете описать его словами либо использовать «пакетное описание» интерфейсов. Но прогресс выявил более удобный способ описания интерфейсов - IDL. Google предолжили protobuf. Общая логика такова:

  1. Вы определяете компоненты вашей системы.
  2. Описываете интерфейс взаимодействия используя IDL(в нашем случае Google protocol buffers и gRPC).
  3. Генерируете код условно серверной и условно клиентской частей. Клиент-серверное взаимодействие условность на мой взгляд, правильнее использовать поставщик интефейса и его потребитель(aka interface provider, interface consumer).
  4. Дополняете сгенерированный код имплементацией бизнес логики.

В случае с «чистым» protocol buffers вы определяете структуры обмена данными, но не методы. gRPC дополняет protocol buffers методами.

На выходе вы получаете готовые связи компонентов без необходимости продумывать механизмы сериализации и передачи данных.

Также IDL очень полезен если вы предполагаете иметь какой-то публичный/внешний API для вашей системы. Имея на руках IDL описание интерфеса программист-пользователь системы может без труда сгенерировать необходимый код и впоследствии использовать его, избавив себя от решения проблем сериализации и траспортировки данных.

Надеюсь что ответ исчерпывающий.

semlanik ()
Последнее исправление: semlanik (всего исправлений: 1)
Ответ на: комментарий от anonymous

Да, все что делает гугл сделано чтобы следить за вами. И еще поправьте шапочку из фольги, ато Илон Маск уже со спутника вас облучает 5G, а он как известно вызывает коронавирус.

semlanik ()
Последнее исправление: semlanik (всего исправлений: 1)