Joy: کامپایلری اپن‌سورس برای تبدیل کدهای Go به JavaScript

Joy: کامپایلری اپن‌سورس برای تبدیل کدهای Go به JavaScript

Joy کامپایلری اپن‌سورس است که دیزاین و ابزارهای منحصر به فرد زبان برنامه‌نویسی Go را وارد حوزهٔ فرانت‌اند کرده است.

پیش از پرداختن به قابلیت‌های کامپایلر Joy، بهتر است کمی با قابلیت‌های زبان برنامه‌نویسی Go آشنا شویم:
- زبان گو با شعار «یک بار بنویس، چندین بار بخوان» عرضه شده است.
- سینتکس گو بسیار باثبات است.
- چک کردن دیتاتایپ‌ها در زبان گو بسیار سریع است.
- زبان گو حاوی لایبرری استاندارد و ابزارهای متنوعی است.
- قابلیت پیاده‌سازی اپلیکیشن‌های به اصطلاح Asynchronous را با زبان گو خواهید داشت.

Joy با هدف راحت‌تر کردن کار علاقمندان به زبان‌های Go و JS به بازار عرضه شده است. برخی از مهم‌ترین قابلیت‌های این ابزار عبارتند از:
- کامپایل سریع Go به JS
- استفاده از ابزارهای تحلیل کد زبان گو به منظور حذف کدهای غیرضروری
- امکان پشتیبانی از فریمورک React
- اپن‌سورس

به طور مثال، برنامهٔ معروف Hello World که به زبان Go نوشته شده است را مد نظر قرار دهید:

package main

func main() {
  println("hi world!")
}

حال این برنامه‌ به شکل زیر به کدهای JavaScript کامپایل شده است:

;(function() {
  var pkg = {};
  pkg["01-hello-world"] = (function() {
    function main () {
      console.log("hi world!")
    };
    return {
      main: main
    };
  })();
  return pkg["01-hello-world"].main();
})()

لازم به ذکر است که ریپازیتوری Joy در گیت‌هاب به صورت آزاد و اپن‌سورس در اختیار دولوپرهای گو و جاوااسکریپت قرار گرفته است.