Home | History | Annotate | Download | only in source
      1 Platform / Language / Feature support    {#flatbuffers_support}
      2 =====================================
      3 
      4 FlatBuffers is actively being worked on, which means that certain platform /
      5 language / feature combinations may not be available yet.
      6 
      7 This page tries to track those issues, to make informed decisions easier.
      8 In general:
      9 
     10   * Languages: language support beyond the ones created by the original
     11     FlatBuffer authors typically depends on community contributions.
     12   * Features: C++ was the first language supported, since our original
     13     target was high performance game development. It thus has the richest
     14     feature set, and is likely most robust. Other languages are catching up
     15     however.
     16   * Platforms: All language implementations are typically portable to most
     17     platforms, unless where noted otherwise.
     18 
     19 NOTE: this table is a start, it needs to be extended.
     20 
     21 Feature                        | C++    | Java   | C#     | Go     | Python | JS        | TS        | C       | PHP | Dart    | Lobster | Rust
     22 ------------------------------ | ------ | ------ | ------ | ------ | ------ | --------- | --------- | ------  | --- | ------- | ------- | ----
     23 Codegen for all basic features | Yes    | Yes    | Yes    | Yes    | Yes    | Yes       | Yes       | Yes     | WiP | Yes     | Yes     | Yes
     24 JSON parsing                   | Yes    | No     | No     | No     | No     | No        | No        | Yes     | No  | No      | Yes     | No
     25 Simple mutation                | Yes    | Yes    | Yes    | Yes    | No     | No        | No        | No      | No  | No      | No      | No
     26 Reflection                     | Yes    | No     | No     | No     | No     | No        | No        | Basic   | No  | No      | No      | No
     27 Buffer verifier                | Yes    | No     | No     | No     | No     | No        | No        | Yes     | No  | No      | No      | No
     28 Testing: basic                 | Yes    | Yes    | Yes    | Yes    | Yes    | Yes       | Yes       | Yes     | ?   | Yes     | Yes     | Yes
     29 Testing: fuzz                  | Yes    | No     | No     | Yes    | Yes    | No        | No        | No      | ?   | No      | No      | Yes
     30 Performance:                   | Superb | Great  | Great  | Great  | Ok     | ?         | ?         | Superb  | ?   | ?       | Great   | Superb
     31 Platform: Windows              | VS2010 | Yes    | Yes    | ?      | ?      | ?         | Yes       | VS2010  | ?   | Yes     | Yes     | Yes
     32 Platform: Linux                | GCC282 | Yes    | ?      | Yes    | Yes    | ?         | Yes       | Yes     | ?   | Yes     | Yes     | Yes
     33 Platform: OS X                 | Xcode4 | ?      | ?      | ?      | Yes    | ?         | Yes       | Yes     | ?   | Yes     | Yes     | Yes
     34 Platform: Android              | NDK10d | Yes    | ?      | ?      | ?      | ?         | ?         | ?       | ?   | Flutter | Yes     | ?
     35 Platform: iOS                  | ?      | ?      | ?      | ?      | ?      | ?         | ?         | ?       | ?   | Flutter | Yes     | ?
     36 Engine: Unity                  | ?      | ?      | Yes    | ?      | ?      | ?         | ?         | ?       | ?   | ?       | No      | ?
     37 Primary authors (github)       | aard*  | aard*  | ev*/js*| rw     | rw     | evanw/ev* | kr*       | mik*    | ch* | dnfield | aard*   | rw
     38 
     39   * aard = aardappel (previously: gwvo)
     40   * ev = evolutional
     41   * js = jonsimantov
     42   * mik = mikkelfj
     43   * ch = chobie
     44   * kr = krojew
     45 
     46 <br>
     47