fbpx

jsii:將 TypeScript 編譯成 Javascript/Java/C#/Python 等程式語言

jsii允許任何語言的程式碼與 JavaScript classes 自然互動。它是使 AWS 雲端開發工具套件( AWS Cloud Development Kit )能夠從單一程式碼庫中提供多種程式語言程式庫的技術

用 TypeScript 編寫的類別庫可以用在用 TypeScript 或 Javascript 編寫的專案中(像往常一樣),但也可以用在 C#(和其他來自.NET家族的語言)、Go、Java、Python…。更多的語言將在未來加入!

警告

由於 JSON 抓取的成本和缺乏分散式垃圾收集器功能,jsii 模組最適合開發和建構工具,而不是效能敏感或資源有限的應用程式。

一個範例勝過千言萬語

請考慮以下 TypeScript 類別

/**
 * A simple greeter, hello world style.
 */
export class Greeter {
  /**
   * Greets the designated person.
   *
   * @param name the person to greet.
   *
   * @returns a greeting.
   */
  public greet(name: string) {
    return `Hello, ${name}!`;
  }
}

透過使用 jsii 編譯原始碼模組,現在可以把它打包成支援的目標語言之一的模組。每個目標模組都有與原始語言完全相同的 API。這使得該目標語言的使用者可以像其他原生型別一樣使用 Greeter。

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!

專案網址


追蹤 Soft & Share

✍ 不受社群推薦演算法影響,建議 Telegram/Discord/e-mail

幫我們個小忙!

Image by Heejin Jeong from Pixabay

Comments are closed.

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: