From 201699288bed9be5f11d80024e9e52f63d5d467c Mon Sep 17 00:00:00 2001 From: Wouter van Oortmerssen Date: Wed, 12 Aug 2015 12:05:55 -0700 Subject: [PATCH] Added a platform / language / feature support matrix to docs. This is just a start, will need to be extended. Change-Id: I5a9ad671911942dcb83fdd2bae537deed751cbfd --- docs/html/index.html | 1 + docs/html/md__support.html | 116 +++++++++++++++++++++++++++++++++++++ docs/html/navtree.js | 1 + docs/html/navtreeindex0.js | 9 +-- docs/html/pages.html | 9 +-- docs/source/FlatBuffers.md | 1 + docs/source/Support.md | 37 ++++++++++++ docs/source/doxyfile | 1 + 8 files changed, 167 insertions(+), 8 deletions(-) create mode 100644 docs/html/md__support.html create mode 100755 docs/source/Support.md diff --git a/docs/html/index.html b/docs/html/index.html index 07d36bbc230..634adef3a58 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -97,6 +97,7 @@

In-depth documentation

  • How to use the generated C++ code in your own programs.
  • How to use the generated Java/C# code in your own programs.
  • How to use the generated Go code in your own programs.
  • +
  • Support matrix for platforms/languages/features.
  • Some benchmarks showing the advantage of using FlatBuffers.
  • A white paper explaining the "why" of FlatBuffers.
  • A description of the internals of FlatBuffers.
  • diff --git a/docs/html/md__support.html b/docs/html/md__support.html new file mode 100644 index 00000000000..3fcb4da9809 --- /dev/null +++ b/docs/html/md__support.html @@ -0,0 +1,116 @@ + + + + + + + +FlatBuffers: Platform / Language / Feature support + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    FlatBuffers +
    +
    + An open source project by FPL. +
    +
    +
    + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    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
    Codegen for all basic features Yes Yes Yes Yes Yes WIP
    JSON parsing Yes No No No No No
    Simple mutation Yes WIP WIP No No No
    Reflection Yes No No No No No
    Buffer verifier Yes No No No No No
    Testing: basic Yes Yes Yes Yes Yes WIP
    Testing: fuzz Yes No No Yes Yes No
    Performance: Superb Great Great Great Ok ?
    Platform: Windows VS2010 Yes Yes ? ? ?
    Platform: Linux GCC282 Yes ? Yes Yes ?
    Platform: OS X Xcode4 ? ? ? Yes ?
    Platform: Android NDK10d Yes ? ? ? ?
    Platform: iOS ? ? ? ? ? ?
    Engine: Unity ? ? Yes ? ? ?
    +
    +
    + + + + diff --git a/docs/html/navtree.js b/docs/html/navtree.js index 58fba48aba6..0bbc4dc2ada 100644 --- a/docs/html/navtree.js +++ b/docs/html/navtree.js @@ -8,6 +8,7 @@ var NAVTREE = [ "Use in Go", "md__go_usage.html", null ], [ "Use in Java/C-sharp", "md__java_usage.html", null ], [ "Use in Python", "md__python_usage.html", null ], + [ "Platform / Language / Feature support", "md__support.html", null ], [ "Benchmarks", "md__benchmarks.html", null ], [ "FlatBuffers white paper", "md__white_paper.html", null ], [ "FlatBuffer Internals", "md__internals.html", null ], diff --git a/docs/html/navtreeindex0.js b/docs/html/navtreeindex0.js index 92e8403cda2..912552ff2df 100644 --- a/docs/html/navtreeindex0.js +++ b/docs/html/navtreeindex0.js @@ -1,16 +1,17 @@ var NAVTREEINDEX0 = { "index.html":[], -"md__benchmarks.html":[7], +"md__benchmarks.html":[8], "md__building.html":[0], "md__compiler.html":[1], "md__cpp_usage.html":[3], "md__go_usage.html":[4], -"md__grammar.html":[10], -"md__internals.html":[9], +"md__grammar.html":[11], +"md__internals.html":[10], "md__java_usage.html":[5], "md__python_usage.html":[6], "md__schemas.html":[2], -"md__white_paper.html":[8], +"md__support.html":[7], +"md__white_paper.html":[9], "pages.html":[] }; diff --git a/docs/html/pages.html b/docs/html/pages.html index 5cefb95b287..fef29f96977 100644 --- a/docs/html/pages.html +++ b/docs/html/pages.html @@ -70,10 +70,11 @@  Use in Go  Use in Java/C-sharp  Use in Python - Benchmarks - FlatBuffers white paper - FlatBuffer Internals - Grammar of the schema language + Platform / Language / Feature support + Benchmarks + FlatBuffers white paper + FlatBuffer Internals + Grammar of the schema language diff --git a/docs/source/FlatBuffers.md b/docs/source/FlatBuffers.md index 8e78337f4e7..b7708695145 100644 --- a/docs/source/FlatBuffers.md +++ b/docs/source/FlatBuffers.md @@ -115,6 +115,7 @@ sections provide a more in-depth usage guide. programs. - How to [use the generated Go code](md__go_usage.html) in your own programs. +- [Support matrix](md__support.html) for platforms/languages/features. - Some [benchmarks](md__benchmarks.html) showing the advantage of using FlatBuffers. - A [white paper](md__white_paper.html) explaining the "why" of FlatBuffers. diff --git a/docs/source/Support.md b/docs/source/Support.md new file mode 100755 index 00000000000..f5c4018a7d2 --- /dev/null +++ b/docs/source/Support.md @@ -0,0 +1,37 @@ +# 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 +------------------------------ | ------ | ------ | ------ | ------ | ------ | ------ +Codegen for all basic features | Yes | Yes | Yes | Yes | Yes | WIP +JSON parsing | Yes | No | No | No | No | No +Simple mutation | Yes | WIP | WIP | No | No | No +Reflection | Yes | No | No | No | No | No +Buffer verifier | Yes | No | No | No | No | No +Testing: basic | Yes | Yes | Yes | Yes | Yes | WIP +Testing: fuzz | Yes | No | No | Yes | Yes | No +Performance: | Superb | Great | Great | Great | Ok | ? +Platform: Windows | VS2010 | Yes | Yes | ? | ? | ? +Platform: Linux | GCC282 | Yes | ? | Yes | Yes | ? +Platform: OS X | Xcode4 | ? | ? | ? | Yes | ? +Platform: Android | NDK10d | Yes | ? | ? | ? | ? +Platform: iOS | ? | ? | ? | ? | ? | ? +Engine: Unity | ? | ? | Yes | ? | ? | ? + + diff --git a/docs/source/doxyfile b/docs/source/doxyfile index 808c77c5640..2cb373bc6b3 100755 --- a/docs/source/doxyfile +++ b/docs/source/doxyfile @@ -751,6 +751,7 @@ INPUT = "FlatBuffers.md" \ "GoUsage.md" \ "JavaUsage.md" \ "PythonUsage.md" \ + "Support.md" \ "Benchmarks.md" \ "WhitePaper.md" \ "Internals.md" \