Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

    1. Protocol Buffers (from Google) is a strong solution for defining objects (and implementation) that comply with RPC semantics using the strongly-typed binary data format (of protocol buffers); for this reason, generated objects and interfaces comply with a custom data format, they are not plain old objects. Another peculiarity is the lack of support for object inheritance or the removal of field optional/required from version 2 to 3. We've been playing around with some object definitions taken from the FDC3 ContextData codebase, while collecting questions that are still open for debate
      1. Which version to use? 3 or 2?
      2. Any best practice to work around inheritance absence?
      3. Style guide: does the default one suffice, or needs to be extended?
      4. Nested types: what are the use cases where nested types are better than simple composition?
    2. Kotlin is a JVM-based programming language, so it’s natively compatible with Java, which provides Interop capabilities for Javascript, C, Swift and others. For Typescript, there’s a Gradle plugin that allows Typescript generation from Kotlin, although it’s maintained by a humble community (3 contributors). Kotlin is also the most trending language in 2018, with a growth of 260% on GitHub public repositories.
    3. Haxe, similar to Kotlin, but with a wider support for language bindings; the downside is that there is some custom coding needed in order to bind to TypeScript, which is - by far - the most important binding to deliver

...