jsii allows code in any language to naturally interact with JavaScript classes. It is the technology that enables the AWS Cloud Development Kit to deliver polyglot libraries from a single codebase! A class library written in TypeScript can be used in projects authored in TypeScript or Javascript (as usual), but also in C# (and other languages from the .NET family), Go, Java, Python, etc. More languages will be added in the future! Due to JSON marshaling costs and the absence of a distributed garbage collector feature, jsii modules are best suited for development and build tools, as opposed to performance-sensitive or resource-constrained applications. By compiling our source module using jsii, we can now package it as modules in one of the supported target languages. Each target module has the exact same API as the source. This allows users of that target language to use Greeter like any other native type.
Features
- Naturally interact with JavaScript classes
- Deliver polyglot libraries from a single codebase!
- A class library written in TypeScript can be used in projects authored in TypeScript
- Python, Java, C# (and other languages from the .NET family)
- The Specification provides detailed information on the internal components of jsii.
- The jsii project welcomes all kind of contributions