Czy dobrym wyborem jest użycie buforów protokołów Google w JavaScript, czy lepiej jest to zrobić z JSON?
Byłoby też świetnie, gdyby ktoś podał mi prosty przykład implementacji buforów protokołów w JavaScript. Dokumentacja na stronie Google jest znikoma.
javascript
protocol-buffers
nikolakoco
źródło
źródło
Odpowiedzi:
[edytuj] Otwarta implementacja buforów protokołów Google jest dostępna na github
Oficjalny projekt protobuf obsługuje tylko Java, C ++ i Python. Nie JavaScript.
Według Wiki projektu, istnieją trzy projekty przenoszące bufory protokołów do Javascript.
Protobuf.js jest aktualny. Protobuf-js nie był aktualizowany od dwóch lat, więc wolałbym Protobuf.js.
Pytanie wciąż brzmi „Dlaczego” ?: protobuf może być nieco mniejszy, zwłaszcza gdy przesyłanych jest wiele wartości liczbowych, ale JSON jest po prostu bardziej powszechnym protokołem w przestrzeni JS i prawdopodobnie lepiej obsługiwany i łatwiejszy do zintegrowania z innymi narzędziami.
źródło
Aktualizacja (28.07.2016): opublikowano wydanie 3.0.0 - obsługujące Javascript i inne języki - oprócz kilku innych funkcji.
Google niedawno dodało obsługę alfa dla JS do protobufs: https://github.com/google/protobuf/releases/tag/v3.0.0-beta-2
Stosowanie:
protoc -I=$SRC_DIR --js_out=$DST_DIR $SRC_DIR/addressbook.proto
Zrzuty ekranu z dokumentacji wydania:
źródło
Protobuf 3.0.0 jest niedostępny: https://github.com/google/protobuf/releases/tag/v3.0.0
I natywnie obsługuje JavaScript. Podstawowe informacje znajdują się w ogłoszeniu.
Wkrótce się tym zajmiemy.
źródło
Wypróbuj Protostuff !
Miałem trochę trudności z konfiguracją, ale jestem pewien, że to bardziej mój problem. Możesz serializować / deserializować wiadomość protobuff / protostuff do / z formatu JSON. Jestem na wczesnym etapie używania tego, ale na razie wygląda to obiecująco.
źródło