World Congress 2024 • Aug 20, 2024 • Session details

How AWS Generates Polyglot Libraries Based on a Single TypeScript Codebase

Markus Ziller

How did AWS scale the CDK across Java, Python, .NET, and Go without duplicating code? Discover their open-source JSII toolchain that turns one TypeScript codebase into native polyglot libraries.

Pause
Mute Enter Fullscreen
#1 about 3 min

Scaling microservices with multi-language cross-cutting concerns

Decomposing monolithic business architectures creates technical overlap and shared tooling challenges across multiple programming languages.

#2 about 2 min

Managing infrastructure as code with AWS CDK

The AWS Cloud Development Kit replaces complex CloudFormation declaration templates with functional programmatic resource definitions.

#3 about 2 min

Building hierarchical infrastructure constructs with AWS CDK

Combining individual cloud resources into higher-level logical constructs automates complex cloud infrastructure provisioning operations.

#4 about 2 min

Scaling developer adoption by supporting additional programming languages

Expanding open-source availability beyond initial typescript logic fulfills diverse customer technical and platform deployment requirements.

#5 about 2 min

Enabling cross-language library interoperability with the JSII framework

The JSII toolchain facilitates seamless interactions with native typescript processes directly from external runtime environments.

#6 about 2 min

Understanding JSII compiler operations and architecture components

Generating language-agnostic frameworks requires a compiler build step that isolates core class and type metadata mappings.

#7 about 1 min

Developing a foundational TypeScript catalog application

Standard applications written with standard typescript logic operate as the underlying functionality payload model.

#8 about 3 min

Configuring package manifests to invoke JSII compilation

Modifying module manifest file attributes with required framework definitions establishes functional code bindings execution models.

#9 about 1 min

Building and distributing polyglot libraries with JSII Pacmak

Specialized toolchains process generated typescript metadata completely automatically into globally deployable, native package manager artifacts.

#10 about 2 min

Adhering to strict typing constraints for Java bindings

Translating typescript methods into strictly typed Java interfaces mandates strategic naming conventions to bypass rigid compiler restrictions.

#11 about 2 min

Bridging dynamic typing paradigms for Python cross-language libraries

Enforcing type safety during flexible runtime execution heavily dictates establishing intentionally non-idiomatic library interaction techniques.

#12 about 2 min

Resolving structural execution differences in C# and Go bindings

Translating javascript object inheritance designs into composition-heavy ecosystems forces developers into adopting explicitly unique syntax workflows.

#13 about 2 min

Implementing generated polyglot bindings in target applications

Acquiring compiled package artifacts enables simple external invocations capable of natively rendering underlying logic computations.

#14 about 3 min

Mapping runtime execution models with background node processes

Invoked native libraries resolve class methods accurately by streaming marshaled JSON operations continuously against nested Node hosts.

#15 about 2 min

Evaluating development advantages in multi-language ecosystems

Single-source polyglot library foundations lower operational redundancy rates across separated engineering teams rapidly building specialized tools.

#16 about 2 min

Assessing JSII latency overhead and complex debugging concerns

Constant execution serialization loops heavily tax raw compute latency metrics while framework abstractions routinely complicate critical troubleshooting.

#17 about 2 min

Determining effective deployment patterns for JSII framework implementations

Centralized software abstractions focusing heavily on internal systems engineering or cloud operations present highly ideal implementation scenarios.

Matching moments

8:12 min

Lambda compatibility, interface security, and career advice

Alexander Günsche Alexander Günsche · LIVE

3:16 min

Selecting diverse programming languages across backend services

Markus Dorner · Coffee With Developers

2:33 min

Expanding JavaScript horizons with WebAssembly and backend possibilities

Sasha Shynkevich · LIVE

2:00 min

The origins and early problems solved by TypeScript

Dani Coll Dani Coll · World Congress 2026 Europe

1:53 min

Bringing JavaScript developers into web artificial intelligence

Jason Mayes · Coffee With Developers

2:20 min

Moving from the .NET ecosystem to JavaScript and Go

Brian Morrison · Coffee With Developers