Radi.js: سریع‌ترین فریمورک جاوااسکریپت برای طراحی فرانت‌اند

Radi.js: سریع‌ترین فریمورک جاوااسکریپت برای طراحی فرانت‌اند

Radi یک فریمورک جاوااسکریپت کوچک به اندازۀ 3 کیلوبایت است! ساختار این فریمورک تا حدودی متفاوت از فریمورک‌های دیگر است و در آن هیچ نوع الگوریتم و تکنولوژی Virtual Dom متفاوتی استفاده نشده است و همین مسئله منجر به سرعت بالای این فریمورک شده است.

آشنایی با مفهوم DOM
پیش از پرداختن به مفهوم Virtual Dom ابتدا به توضیح مفهوم DOM خواهیم پرداخت؛ DOM مخفف واژگان Document Object Model بوده و به‌ عنوان واسطی است که قابلیت استفاده در پلتفرم‌ها و زبان‌های مختلف را دارا است که به دولوپر این امکان را می‌دهد تا به محتوا، ساختار و طرز کار داکیومنت‌ها دسترسی داشته و آن‌ها را به‌روزرسانی کند (امروزه واسط DOM روی مرورگرهای مختلف نیز قابل‌استفاده است).

مشکل بزرگ DOM این است که برای ایجاد رابط‌های کاربری پویا و در عین حال پیچیده، بهینه نشده است. برای حل این مشکل، روش‌های مختلفی ارائه شده اما در نهایت، مشکل کار با صفحات بزرگ و رابط‌های کاربری پویا همچنان پابرجا باقی مانده است. در همین راستا، برای حل مشکلِ کار با صفحات بزرگ و رابط‌های کاربری پویا، تکنیک Virtual Dom معرفی شد.

Virtual Dom چیست؟
Virtual Dom یک تکنیک و مجموعه‌ای از لایبرری‌ها، الگوریتم‌ها و ماژول‌ها است که یک نسخهٔ انتزاعی (Abstarct) از DOM می‌سازد و به دولوپرها این امکان را می‌دهد تا در صورت تغییر حالت برنامۀ‌شان، به‌ جای به‌روزرسانی DOM، به‌سادگی یک VTree از آن ایجاد کنند (VTree که در واقع یک کپی از DOM هست، همان کارایی DOM را خواهد داشت، بدون آنکه نیاز به بازسازی تمام قسمت‌های آن باشد).

همچنین این قابلیت منجر به افزایش سرعت کار با DOM خواهد شد. این تکنیک با جلوگیری از کار مستقیم با DOM و صرفاً کار با آبجکت‌هایی از جاوااسکریپت که دام‌ها را انتزاعی می‌کنند، امکان بهبود پرفورمنس در قسمت فرانت‌اند را برای دولوپرها فراهم می‌سازد.

فریمورک Radi این امکان را برای دولوپرها فراهم می‌کند تا هر نوع وب‌اپلیکیشن تک‌صفحه‌ای یا اپلیکیشن‌های پیچیده‌تر را بدون نیاز به هیچ‌گونه وابستگی به اجزای دیگر، ایجاد کنند. لازم به ذکر است که Radi.js سریع‌ترین فریمورک در میان فریمورک‌های محبوب است و همچنین در حال حاضر این فریمورک با مرورگرهایی که استاندارد ES6 را ساپورت می‌کنند، سازگاری دارد و در نسخۀ پایدار آن، مرورگرهای سازگار با استاندارد ES5 و همچنین نسخه‌های پایین‌تر از آن مانند IE8 را نیز ساپورت خواهد کرد (ES6 در واقع مخفف عبارت EcmaScript 6 است. EcmaScript یک زبان اسکریپتی نیست بلکه یک استاندارد برای جاوااسکریپت است؛ بنابراین، ES6 یک نسخهٔ جدید یا یک استاندارد جدید برای جاوااسکریپت محسوب می‌شود).