Reason: ابزاری برای کدنویسی ساده و سریع در اکوسیستم‌های JavaScript و OCaml

Reason: ابزاری برای کدنویسی ساده و سریع در اکوسیستم‌های JavaScript و OCaml

Reason ابزاری اپن‌سورس تحت لیسانس MIT است که توسط فیسبوک در سال 2015 به بازار عرضه شد که این امکان را در اختیار دولوپرهای JavaScript و OCaml قرار می‌دهد تا با در نظر گرفتن سورس‌کدی به اصطلاح Type-safe، بتوانند ساده و در عین حال سریع دست به کدنویسی پروژه‌های خود بزنند (OCaml که نام اورجینال آن Objective Caml است، یک زبان برنامه‌نویسی همه‌منظوره می‌باشد که از سبک‌های کدنویسی اصطلاحاً Functional ،Imperative و Object-oriented پشتیبانی می‌کند.)

در پاسخ به این سؤال که منظور از اصطلاح Type-safe چیست، به طور خلاصه می‌توان گفت که کامپایلر سورس‌کد به اصطلاح Type-safe، قبل از کامپایل کردن برنامه دیتاتایپ‌ها را چک می‌کند و چنانچه با مشکلی مواجه بود، اِکسپشنی در معرض دید دولوپر قرار می‌دهد و این مسئله باعث می‌گردد تا کاربران با ارورهای عجیب و غریب مواجه نشوند! به عنوان نمونه، برای ساخت یک ماژول با استفاده از Reason داریم:

module School = {
  type profession = Teacher | Director;

  let person1 = Teacher;
  let getProfession = (person) =>
    switch (person) {
    | Teacher => "A teacher"
    | Director => "A director"
    };
};

دستیابی به این ماژول هم به صورت زیر امکان‌پذیر است:

let anotherPerson: School.profession = School.Teacher;
print_endline(School.getProfession(anotherPerson)); /* "A teacher" */

آشنایی با قابلیت‌های Reason
همان‌طور که پیش از این اشاره شد، تمرکز این ابزار روی کدنویسی Type-safe است. در همین راستا، برخی از بارزترین فیچرهای Reason عبارتند از:

- در حین کدنویسی، Reason به صورت خودکار دیتاتایپ‌ها چک می‌کند
- امکان استفاده از پکیج‌های NPM/Yarn به ساده‌ترین حالت ممکن
- امکان توسعهٔ سایت، گیم، انیمیشن و ... با استفاده از Reason