Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из TypeScript
Дата публикации:Sat, 07 Oct 2023 13:43:00 +0300
Компания Amazon опубликовала компилятор jsii 1.90, представляющий собой модификацию компилятора TypeScript, позволяющую извлечь из компилируемых модулей информацию об API и сгенерировать универсальное представление данного API для обращения к JavaScript-классам из приложений на различных языках программирования. Код проекта написан на TypeScript и распространяется под лицензией Apache 2.0.
Jsii даёт возможность создавать на языке TypeScript библиотеки классов, которые могут использоваться в проектах на языках C#, Go, Java и Python, благодаря трансляции в родные для этих языков модули, предоставляющие тот же самый API. Инструментарий используется в AWS Cloud Development Kit для поставки библиотек для разных языков программирования, формируемых из одной кодовой базы. В новой версии реализовано кэширование списка классов для каждой сборки и документирована возможность перевода свойств в разряд необязательных.
Пример исходного кода на TypeScript:
export class Greeter {
public greet(name: string) {
return `Hello, ${name}!`;
}
}
Представление, скомпилированное в C#
var greeter = new Greeter();
greeter.Greet("World"); // => Hello, World!
Представление, скомпилированное в Go
greeter := NewGreeter()
greeter.Greet("World") // => Hello, World!
Представление, скомпилированное в Java
final Greeter greeter = new Greeter();
greeter.greet("World"); // => Hello, World!
Представление, скомпилированное в JavaScript
const greeter = new Greeter();
greeter.greet("World"); // => Hello, World!
Представление, скомпилированное в Python
greeter = Greeter()
greeter.greet("World") # => Hello, World!
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=59884