
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