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 ()
Последнее исправление: cetjs2 (всего исправлений: 1)

Второй

anonymous
()

Required вернули? Нет? Продолжайте жевать ваш кактус

upcFrost ★★★★★
()

Исправлена статическая простройка для well-known типов.

  • Fix static build for well-known types

я балдю ат гугал транслэйта

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

Биндинги или вариант protoc который генерирует нативный Qt код? Если биндинги, то они нафиг не нужны.

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

Генеририует нативный Qt код. Почему слово «привязки» формирует в голове представление об «обертке»? bindings != wrappers :)

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

пофиг какой там код, главное чтоб работало, без багов и было безопасным, на остальное всё-равно

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

Binding - это крепление. Чтобы лыжи ехали. Вместе с ботинками и всем остальным.

anonymous
()

Объясните пожалуйста, как используется 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)

Нужно, годно. Писать обертки между протобафом и qt — та ещё боль. Чтобы распространялось — хорошо бы упаковать в Conan.

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

Я пока не работал с conan от слова совсем. Но ввиду текущих веяний понимаю что маст хэв. Видимо будет еще одним пунтктом на ближайшее время. Спасибо!

semlanik
() автор топика
Ответ на: комментарий от anonymous

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

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

К сожалению у меня нет. Но всегда можно начать делать

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

Огромное спасибо за развернутый ответ, очень многое проясняет!

fank
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.