Markus Ziller

How AWS Generates Polyglot Libraries Based on a Single TypeScript Codebase

Write libraries once in TypeScript and ship them for Python, Java, and Go. Learn the surprising architecture and hidden trade-offs behind the AWS Cloud Development Kit.

How AWS Generates Polyglot Libraries Based on a Single TypeScript Codebase
#1about 2 minutes

Why polyglot libraries are needed for microservices

Microservice architectures create a challenge by requiring cross-cutting concerns to be implemented across multiple programming languages.

#2about 3 minutes

Simplifying infrastructure as code with AWS CDK

The AWS Cloud Development Kit (CDK) provides a high-level abstraction over CloudFormation, allowing developers to define infrastructure using familiar programming languages.

#3about 1 minute

Maintaining feature parity across multiple languages

Supporting multiple languages like Python, Java, and Go in the AWS CDK required a solution to maintain feature parity without rewriting the library for each language.

#4about 2 minutes

Introducing JSii for building polyglot libraries

JSii is a toolchain that generates language-native bindings from a TypeScript codebase, allowing code in languages like Java or Python to interact with JavaScript classes.

#5about 4 minutes

Configuring a TypeScript project for JSii

A TypeScript project is configured for polyglot support by adding specific metadata and target language definitions to the package.json file.

#6about 5 minutes

Navigating language-specific binding challenges

JSii generates bindings for languages like Java, Python, and Go, but developers must handle non-idiomatic code patterns and language-specific constraints.

#7about 3 minutes

Understanding the JSii runtime execution model

JSii operates by running a Node.js child process alongside the host language's runtime, communicating between them by marshalling JSON objects over standard I/O.

#8about 4 minutes

Evaluating the pros, cons, and use cases of JSii

JSii excels at creating cross-language SDKs and tooling but introduces performance overhead and debugging complexity that must be considered.

Related jobs
Jobs that call for the skills explored in this talk.
SabIna compys

SabIna compys
Vienna, Austria

Remote
20-100K
Intermediate
JavaScript
.NET
+1

Featured Partners

Related Articles

View all articles
CH
Chris Heilmann
Dev Digest 136 - No JS(on) of mine
News and ArticlesDouglas Crockford is our featured video, so let's talk about evolving JavaScript and all things JSON. Judicious JSON explains all the weird things in it, you can learn why it can be incredibly slow, people wonder what even is a JSON ...
Dev Digest 136 - No JS(on) of mine
BB
Benedikt Bischof
How we Build The Software of Tomorrow
Welcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Thomas Dohmke who introduced us to the future of AI – coding.This is how Thomas describes himself:I am the CEO of GitHub and drive the company’s...
How we Build The Software of Tomorrow
CH
Chris Heilmann
Dev Digest 131 - AI'm not sure about OSS
News and ArticlesRust and Typescript are rising stars in programming languages 2024 survey, the State of CSS 2024 survey is open and here is what's new in ECMAScript.In security news, a Microsoft update bricks Linux dual-boot systems, they patched a ...
Dev Digest 131 - AI'm not sure about OSS
CH
Chris Heilmann
All the videos of Halfstack London 2024!
Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
All the videos of Halfstack London 2024!

From learning to earning

Jobs that call for the skills explored in this talk.