آمازون کامپایلر jsii 1.31 را منتشر کرده است که اصلاحی از کامپایلر TypeScript است که به شما امکان می دهد اطلاعات API را از ماژول های کامپایل شده استخراج کنید و یک نمایش جهانی از این API برای دسترسی به کلاس های جاوا اسکریپت از برنامه های کاربردی در زبان های برنامه نویسی مختلف ایجاد کنید. کد پروژه در TypeScript نوشته شده و تحت مجوز Apache 2.0 توزیع شده است.
Jsii امکان ایجاد کتابخانههای کلاس در TypeScript را فراهم میکند که میتوانند در پروژههای C#، Go، Java و Python با ترجمه به ماژولهای بومی برای این زبانها که همان API را ارائه میکنند، استفاده شوند. Tooling در کیت توسعه ابری AWS برای ارائه کتابخانههایی برای زبانهای برنامهنویسی مختلف، ساخته شده از یک پایه کد استفاده میشود.
نسخه جدید به دلیل افزودن دستور "jsii-rosetta transliterate" قابل توجه است، که به شما امکان می دهد فایل های ".jsii" را با نمایش کد میانی به یک یا چند زبان برنامه نویسی هدف ترجمه کنید.
برای مثال، بر اساس کد جاوا اسکریپت/تایپ اسکریپت: export class HelloWorld { public sayHello(name: string) { return `Hello, ${name}`; } عمومی فیبوناچی (تعداد: عدد) { let array = [0, 1]; برای (بگذارید i = 2; i < num + 1; i++) { array.push(array[i - 2] + array[i - 1]); } آرایه بازگشتی[num]; } }
jsii کد پایتون را تولید می کند: کلاس HelloWorld: def say_hello(self, name): بازگشت 'Hello,' + name def fibonacci(self, n): جدول = [0, 1] برای i در محدوده (2, n + 1) : table.append(table[i - 2] + table[i - 1]) جدول برگشتی[n]
منبع: opennet.ru