protoc-gen-as3 is a Protocol Buffers plugin for ActionScript 3.
This project aims to support Protocol Buffers in ActionScript 3 with minimum API and best performance. protoc-gen-as3's serialize/deserialize performance is near native AMF's writeObject/readObject, although protoc-gen-as3 runs in AVM2 while writeObject/readObject runs natively.
I have implemented almost all protobuf features (more than any other protobuf's AS3 implementation) in protoc-gen-as3:
- All basic types
- Nested messages
- Enumerations
- Packed and non-packed repeated fields
- Extensions
- RPC services
- Custom options for services and methods
- ActionScript metadata tag generation:
- Text format
- Unknown fields
These features are supported by Google's C++/Java/Python implementation, but not in protoc-gen-as3:
- Groups (a deprecated feature)
- Custom options for messages, enums and files
Dowload and extract this tarball.
Unlike other protobuf's as3 compilers, protoc-gen-as3 does not require you to modify original protobuf's source code. You can just use protoc binary (version 2.3+) with this plugin to generate ActionScript 3 source code:
protoc --plugin=protoc-gen-as3=
path/to/protoc-gen-as3[.bat]
--as3_out=
output-path your.proto
Then, you can use the generated files to serialize and deserialize in protobuf format by invoking mergeFrom()
and writeTo()
method.
Before compiling, don't forget to let your ActionScript 3 compiler include protobuf.swc and the generated source files.
See AdvancedUsage and ASDoc for more information.