Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из TypeScript

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3258
Зарегистрирован: 20.08.2022

#

Выпуск 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

Жизнь за Нер'зула!

Ответить