Files
flatbuffers-bigfoot/docs/source/Support.md
mustiikhalil 04d80f255d [Swift] Swift implementation 🎉🎉 (#5603)
* Implemented the swift version of Flatbuffers

Implemented serailzing, reading, and mutating data from object monster

Fixes mis-aligned pointer issue

Fixes issue when shared strings are removed from table

Adds swift enum, structs code gen

Fixed namespace issues + started implementing the table gen

Added Mutate function to the code generator

Generated linux test cases

Fixed an issue with bools, and structs readers in table writer

Swift docker image added

Updated the test cases, and removed a method parameters in swift

Fixed createVector api when called with scalars

Fixed issues with scalar arrays, and fixed the code gen namespaces, added sample_binary.swift

Cleaned up project

Added enum vectors, and their readers

Refactored code

Added swift into the support document

Added documentation in docs, and fixed a small issue with Data() not being returned correctly

Fixes Lowercase issue, and prevents generating lookups for deprecated keys

* Made all the required funcs to have const + removed unneeded code + fix lowercase func

* Removed transform from lowercased and moved it to function

* Fixes an issue with iOS allocation from read

* Refactored cpp code to be more readable

* casts position into int for position

* Fix enums issue, moves scalar writer code to use memcpy

* Removed c_str from struct function

* Fixed script to generate new objects when ran on travis ci: fix

* Handles deallocating space allocated for structs

* Updated the test cases to adhere to the fileprivate lookup, no mutation for unions, and updated the names of the vector functions
2020-01-09 12:12:10 -08:00

3.6 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 Dart Lobster Rust Swift
Codegen for all basic features Yes Yes Yes Yes Yes Yes Yes Yes WiP Yes Yes Yes Yes
JSON parsing Yes No No No No No No Yes No No Yes No No
Simple mutation Yes Yes Yes Yes No No No No No No No No No
Reflection Yes No No No No No No Basic No No No No No
Buffer verifier Yes No No No No No No Yes No No No No No
Testing: basic Yes Yes Yes Yes Yes Yes Yes Yes ? Yes Yes Yes Yes
Testing: fuzz Yes No No Yes Yes No No No ? No No Yes No
Performance: Superb Great Great Great Ok ? ? Superb ? ? Great Superb ?
Platform: Windows VS2010 Yes Yes ? ? ? Yes VS2010 ? Yes Yes Yes No
Platform: Linux GCC282 Yes ? Yes Yes ? Yes Yes ? Yes Yes Yes Yes
Platform: OS X Xcode4 ? ? ? Yes ? Yes Yes ? Yes Yes Yes Yes
Platform: Android NDK10d Yes ? ? ? ? ? ? ? Flutter Yes ? No
Platform: iOS ? ? ? ? ? ? ? ? ? Flutter Yes ? Yes
Engine: Unity ? ? Yes ? ? ? ? ? ? ? No ? No
Primary authors (github) aard* aard* ev*/js* rw rw evanw/ev* kr* mik* ch* dnfield aard* rw mi*/mz*
  • aard = aardappel (previously: gwvo)
  • ev = evolutional
  • js = jonsimantov
  • mik = mikkelfj
  • ch = chobie
  • kr = krojew
  • mi = mustiikhalil
  • mz = mzaks