Protocol Buffers

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Protobuf)
Zur Navigation springen Zur Suche springen
Protocol Buffers
Basisdaten

Entwickler Google Inc.
Erscheinungsjahr 2001
Aktuelle Version 28.3[1]
(22. Oktober 2024)
Betriebssystem plattformunabhängig
Programmier­sprache C++, Java, Python
Kategorie Serialisierungsformat und Bibliothek, IDL-Compiler
Lizenz in Teilen BSD-Lizenz
developers.google.com/protocol-buffers

Protocol Buffers (protobuf) ist ein Datenformat zur Serialisierung mit einer Schnittstellen-Beschreibungssprache. Es wurde von Google Inc. entwickelt und teilweise unter einer 3-Klausel-BSD-Lizenz veröffentlicht.[2] Für eine Vielzahl an Programmiersprachen wird eine offizielle Implementierung von Google als freie Software unter Apache-Lizenz 2.0 bereitgestellt. Zu den offiziell unterstützten Programmiersprachen zählen unter anderem C#, C++, Go, Objective-C, Java, Python und Ruby. Viele weitere Programmiersprachen wie beispielsweise C oder Swift werden durch Projekte von Dritten unterstützt.[3]

Hauptsächliche Entwurfskriterien der Protocol Buffers sind Einfachheit und Performance. Daher ist es als ein Binärformat konzipiert im Gegensatz zu XML, welches auf ein textuelles Format setzt.

Protocol Buffers wurden von 2001 bis 2008 intern bei Google entwickelt.[4] Seit 2008 sind der Compiler und die Bibliotheken unter einer Open-Source-Lizenz verfügbar, und man kann die Weiterentwicklung durch Google öffentlich verfolgen. Google verwendet Protocol Buffers zur Speicherung und zum Austausch strukturierter Daten und als Basis für ein RPC-System zur intermaschinellen Kommunikation.[5]

gRPC nutzt Protocol Buffers als Beschreibungssprache für RPC-Schnittstellen und als Format für die Client-Server-Kommunikation.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Release 28.3. 22. Oktober 2024 (abgerufen am 27. Oktober 2024).
  2. Marc Teufel: "Google Protocol Buffers: Mark-Set-Go!" Abgerufen am 28. Dezember 2016.
  3. "Third-Party Add-ons for Protocol Buffers: Programming Languages". Ehemals im Original (nicht mehr online verfügbar); abgerufen am 13. Mai 2017.@1@2Vorlage:Toter Link/github.com (Seite nicht mehr abrufbar. Suche in Webarchiven)
  4. Sean Michael Kerner: A Look at Google's Open Source Protocol Buffer. Abgerufen am 27. April 2011.
  5. Kenton Varda: A response to Steve Vinoski. Abgerufen am 14. Juli 2008.