mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-01 19:58:15 +00:00
* Add [Dart] support * fix enum vectors * Allow for opt out of string interning * fix comment style, make interning opt in * remove Offset<T>, prefer int * avoid creating unnecessary vtable objects * start work on tests - do not generate builder if struct has 0 fields - add int64 * support reading structs properly * correctly handle reading vectors of structs, dartfmt * support structs, fix unnecessary prepares * fix bool customizations * undo unintentional removal of file * docs updates, complete tutorial, bug fix for codegen * more documentation * Update docs, add to doxygen file * update package structure, add samples script/code * rearrange sample * Tests * Add readme for pub * cleanup package for pub * update docs for renamed file * remove custom matcher, use `closeTo` instead * remove unintentional file * remove unintended file checkin * use auto, move method, cleanup * refactor to ObjectBuilders, add Builders * Update tests, examples * Add files missing from previous commit * documentation and example updates * Update LICENSE, make dartanalyzer happy, fix minor bugs, get rid of duplicate files, publish script * fix sample for slightly different schema * Update pubspec.yaml
3.1 KiB
3.1 KiB
Platform / Language / Feature support
FlatBuffers is actively being worked on, which means that certain platform / language / feature combinations may not be available yet.
This page tries to track those issues, to make informed decisions easier. In general:
- Languages: language support beyond the ones created by the original FlatBuffer authors typically depends on community contributions.
- Features: C++ was the first language supported, since our original target was high performance game development. It thus has the richest feature set, and is likely most robust. Other languages are catching up however.
- Platforms: All language implementations are typically portable to most platforms, unless where noted otherwise.
NOTE: this table is a start, it needs to be extended.
| Feature | C++ | Java | C# | Go | Python | JS | TS | C | PHP | Ruby | Dart |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Codegen for all basic features | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | WiP | WiP | Yes |
| JSON parsing | Yes | No | No | No | No | No | No | Yes | No | No | No |
| Simple mutation | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No |
| Reflection | Yes | No | No | No | No | No | No | Basic | No | No | No |
| Buffer verifier | Yes | No | No | No | No | No | No | Yes | No | No | No |
| Testing: basic | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | Yes |
| Testing: fuzz | Yes | No | No | Yes | Yes | No | No | No | ? | ? | No |
| Performance: | Superb | Great | Great | Great | Ok | ? | ? | Superb | ? | ? | ? |
| Platform: Windows | VS2010 | Yes | Yes | ? | ? | ? | Yes | VS2010 | ? | ? | Yes |
| Platform: Linux | GCC282 | Yes | ? | Yes | Yes | ? | Yes | Yes | ? | ? | Yes |
| Platform: OS X | Xcode4 | ? | ? | ? | Yes | ? | Yes | Yes | ? | ? | Yes |
| Platform: Android | NDK10d | Yes | ? | ? | ? | ? | ? | ? | ? | ? | Flutter |
| Platform: iOS | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | Flutter |
| Engine: Unity | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
| Primary authors (github) | gwvo | gwvo | ev*/js* | rw | rw | evanw/ev* | kr | mik* | ch* | rw | dnfield |
- ev = evolutional
- js = jonsimantov
- mik = mikkelfj
- ch = chobie
- kr = krojew