aboutsummaryrefslogtreecommitdiff
path: root/content/protobuf.article
diff options
context:
space:
mode:
Diffstat (limited to 'content/protobuf.article')
-rw-r--r--content/protobuf.article48
1 files changed, 48 insertions, 0 deletions
diff --git a/content/protobuf.article b/content/protobuf.article
new file mode 100644
index 0000000..c1726ea
--- /dev/null
+++ b/content/protobuf.article
@@ -0,0 +1,48 @@
+# Third-party libraries: goprotobuf and beyond
+20 Apr 2010
+Tags: protobuf, community
+Summary: Announcing Go support for Protocol Buffers, Google's data interchange format.
+OldURL: /third-party-libraries-goprotobuf-and
+
+Andrew Gerrand
+
+##
+
+On March 24, Rob Pike announced [goprotobuf](http://code.google.com/p/goprotobuf/),
+the Go bindings of Google's data interchange format [Protocol Buffers](http://code.google.com/apis/protocolbuffers/docs/overview.html),
+called protobufs for short.
+With this announcement, Go joins C++, Java,
+and Python as languages providing official protobuf implementations.
+This marks an important milestone in enabling the interoperability between
+existing systems and those built in Go.
+
+The goprotobuf project consists of two parts:
+a 'protocol compiler plugin' that generates Go source files that,
+once compiled, can access and manage protocol buffers;
+and a Go package that implements run-time support for encoding (marshaling),
+decoding (unmarshaling), and accessing protocol buffers.
+
+To use goprotobuf, you first need to have both Go and [protobuf](http://code.google.com/p/protobuf/) installed.
+You can then install the 'proto' package with [goinstall](https://golang.org/cmd/goinstall/):
+
+ goinstall goprotobuf.googlecode.com/hg/proto
+
+And then install the protobuf compiler plugin:
+
+ cd $GOROOT/src/pkg/goprotobuf.googlecode.com/hg/compiler
+ make install
+
+For more detail see the project's [README](http://code.google.com/p/goprotobuf/source/browse/README) file.
+
+This is one of a growing list of third-party [Go projects](http://godashboard.appspot.com/package).
+Since the announcement of goprotobuf, the X Go bindings have been spun off
+from the standard library to the [x-go-binding](http://code.google.com/p/x-go-binding/) project,
+and work has begun on a [Freetype](http://www.freetype.org/) port,
+[freetype-go](http://code.google.com/p/freetype-go/).
+Other popular third-party projects include the lightweight web framework
+[web.go](http://github.com/hoisie/web.go),
+and the Go GTK bindings [gtk-go](http://github.com/mattn/go-gtk).
+
+We wish to encourage the development of other useful packages by the open source community.
+If you're working on something, don't keep it to yourself - let us know
+through our mailing list [golang-nuts](http://groups.google.com/group/golang-nuts).