Ist es eine gute Wahl, Google Protocol Buffers in JavaScript zu verwenden, oder ist es besser, dies mit JSON zu tun?
Es wäre auch toll, wenn mir jemand ein einfaches Beispiel zur Implementierung von Protocol Buffers in JavaScript geben könnte. Die Dokumentation auf der Google-Website ist spärlich.
Dieser SO-Thread enthält weitere Informationen zum Thema: stackoverflow.com/questions/7074147/…
– alawrik
16. August 2011 um 15:21 Uhr
Meister
[edit] Die Open-Source-Implementierung von Protokollpuffern von Google ist unter verfügbar github
Das offizielle Protobuf-Projekt unterstützt nur Java, C++ und Python. Nicht Javascript.
Laut dem Wiki des Projekts gibt es drei Projekte, die Protokollpuffer nach Javascript portieren.
Protobuf.js ist aktuell. protobuf-js wurde seit zwei Jahren nicht mehr aktualisiert, daher würde ich Protobuf.js bevorzugen.
Die Frage ist immer noch “warum”?: protobuf mag etwas kleiner sein, besonders wenn viele numerische Werte übertragen werden, aber JSON ist einfach das gebräuchlichere Protokoll im JS-Raum und wahrscheinlich besser unterstützt und einfacher in andere Tools zu integrieren.
Zweifellos ist JSON für die meisten Fälle besser geeignet. In meinem Fall ist der Absender der Nachricht jedoch nicht unter meiner Kontrolle und wird in Protobuf-Nachrichten serialisiert, daher müssen wir die Nachrichten von Javascript analysieren.
– Jan Segre
4. März 2013 um 11:49 Uhr
@Warum: Weil Sie eine Nachricht und Dienstmethoden als Proto schreiben und das Skelett des Codes kostenlos erhalten? Serialisierung und Deserialisierung auf Client-/Serverseite.
– Pawel Szczur
20. März 2013 um 12:22 Uhr
Warum: Derselbe Grund, Protobuf in jeder anderen Situation zu verwenden. Vergessen Sie nicht, dass Browser jetzt WebSocket haben. Außerdem können Desktop-Anwendungen in JS für Windows 8 geschrieben werden und Anwendungen, einschließlich Server, in Node.
Wenn die API Ihres Systems bereits über andere Binär-/Protobuf-Clients verfügt, z. B. Android- oder iOS-Geräte, ist es natürlicher, die vorhandene Proto-API für einen Javascript-Webclient zu verwenden, als eine zweite Kopie der API zu erstellen, die JSON bietet, nur um sie zu unterstützen eine Internetseite.
– Zero-Trick-Pony
5. September 2014 um 18:47 Uhr
AlikElzin-kilaka
Aktualisieren (28.7.2016): Version 3.0.0 wurde veröffentlicht – Unterstützung von Javascript und anderen Sprachen – zusätzlich zu einigen anderen Funktionen.
Ich hatte ein bisschen Schwierigkeiten beim Konfigurieren, aber ich bin mir sicher, dass das eher mein Problem war. Sie können eine protobuff/protostuff-Nachricht in/von JSON serialisieren/deserialisieren. Ich bin in den frühen Stadien der Verwendung, aber es sieht bisher vielversprechend aus.
Neugierig. Warum wurde das abgelehnt (ich habe keine Meinung zu Protostuff)?
– Pimin Konstantin Kefaloukos
4. März 2013 um 12:49 Uhr
@Pimin wahrscheinlich, weil Protostuff Java ist und die Frage JavaScript ist?
– Marc Kies
6. September 2013 um 20:08 Uhr
@PiminKonstantinKefaloukos Person sucht nach der Protobuf-Implementierung Javascript
@fuzzyanalysis Fair, obwohl ich diese Antwort dann eher unvollständig als einfach falsch nennen würde. Da Sie nicht erwarten können, dass jeder Besucher weiß, wie man Java in JS kompiliert oder überhaupt weiß, dass GWT existiert, würden Sie zumindest einen Verweis auf GWT erwarten oder idealerweise ein funktionierendes Beispiel, wie es in GWT zum Laufen gebracht wird – denn das könnte durchaus sein das Abenteuer.
– Chris Moschini
22. Juli 2014 um 22:07 Uhr
Neugierig. Warum wurde das abgelehnt (ich habe keine Meinung zu Protostuff)?
– Pimin Konstantin Kefaloukos
4. März 2013 um 12:49 Uhr
@Pimin wahrscheinlich, weil Protostuff Java ist und die Frage JavaScript ist?
– Marc Kies
6. September 2013 um 20:08 Uhr
@PiminKonstantinKefaloukos Person sucht nach der Protobuf-Implementierung Javascript
@fuzzyanalysis Fair, obwohl ich diese Antwort dann eher unvollständig als einfach falsch nennen würde. Da Sie nicht erwarten können, dass jeder Besucher weiß, wie man Java in JS kompiliert oder überhaupt weiß, dass GWT existiert, würden Sie zumindest einen Verweis auf GWT erwarten oder idealerweise ein funktionierendes Beispiel, wie es in GWT zum Laufen gebracht wird – denn das könnte durchaus sein das Abenteuer.
Dieser SO-Thread enthält weitere Informationen zum Thema: stackoverflow.com/questions/7074147/…
– alawrik
16. August 2011 um 15:21 Uhr