Подтвердить что ты не робот

Буферы протокола Google - JavaScript

Это хороший выбор для использования буферов протокола Google в JavaScript или лучше сделать это с помощью JSON?

Также, если кто-то может дать мне простой пример реализации протокола Buffer в JavaScript. Потому что на сайте Google я считаю, что это очень плохо.

4b9b3361

Ответ 1

[edit] Google open source реализация буферов протокола доступна на github


Официальный проект protobuf поддерживает только Java, С++ и Python. Не Javascript.

Согласно Wiki проекта, есть три проекта, переносящие буферы протокола в Javascript.

Protobuf.js обновлен. protobuf-js не обновлялся в течение двух лет, поэтому я бы предпочел Protobuf.js.

Вопрос по-прежнему: "Почему"?: protobuf может быть немного меньше, особенно когда переносится много числовых значений, но JSON - это просто более распространенный протокол в пространстве JS и, вероятно, лучше поддерживается и проще интегрироваться в другие инструменты.

Ответ 2

Обновление (28/7/2016): Опубликована версия 3.0.0 - поддержка Javascript и других языков - в дополнение к некоторым другим функциям.

Недавно Google добавила альфа-поддержку JS к протобуфам: https://github.com/google/protobuf/releases/tag/v3.0.0-beta-2

Использование:

protoc -I=$SRC_DIR --js_out=$DST_DIR $SRC_DIR/addressbook.proto

Скриншоты из документации по выпуску:

введите описание изображения здесь

введите описание изображения здесь

Ответ 3

Protobuf 3.0.0 отсутствует: https://github.com/google/protobuf/releases/tag/v3.0.0

И он поддерживает JavaScript изначально. Основная информация содержится в объявлении.

Мы скоро рассмотрим это.

Ответ 4

Попробуйте Protostuff!

У меня было немного сложного конфигурирования, но я уверен, что это было больше из моей проблемы. Вы можете сериализовать/десериализовать сообщение protobuff/protostuff в/из JSON. Я нахожусь на ранних этапах использования этого, но пока выглядит многообещающим.