همانطور که می دانید دنیای جاوا اسکریپت پر از انواع و اقسام فریم ورک های مختلف است که هیچ کدام پایانی ندارند. Svelte نسبتا یکی از تازه کارهای این میدان است. معمولا ابزارهای جاوا اسکریپتی به دلیل تعداد بالای آن ها در حوزه وب سریعا به فراموشی سپرده می شوند یا اصلا هیچگاه شناخته نمی شوند اما Svelte با توانایی های که دارد توانسته است که خودش را به دنیا بشناساند.
Svelte یک چارچوب جاوا اسکریپت منبع باز و فرانت اند برای ساخت صفحات وب است. مفهوم کلی Svelte شبیه به فریمورک های از قبل موجود مانند React و Vue است که به توسعه دهندگان امکان می دهد برنامه های وب بسازند. با این حال، Svelte چندین تجربه منحصر به فرد را در اختیار توسعه دهندگان قرار می دهد.
ویژگی های خاص Svelte عبارتند از:
کمحجم بودن
یک برنامهی کامپایل شده در Svelte نسبت به سایر فریمورکهای جاوا اسکرپت از حجم کمتری برخوردار است. به طوری که حجم یک برنامهی سادهی hello world ساخته شده در آن حدود 124 کیلوبایت است. این حجم کم برای برنامههای تلفن همراه بسیار مناسب میباشد. به نظر شما دلیل آن چیست؟ Svelte علاوه بر فریمورک، یک کامپایلر هم هست.
البته باید توجه داشت که این برنامهی کامپایل شده هنوز هم تعدادی کد Svelte را در خود دارد که حجم آنها صددرصد بهینه نیست اما نسبت به روشی که بسیاری از فریمورکهای جاوا اسکریپت مانند React و... با آن کار میکنند، بهینهتر است. چرا که اغلب این فریمورکها در زمان اجرا، برنامه را به طور کامل روی مرورگر کاربر ارائه میدهند که این امر موجب بالا رفتن پهنای باند میشود.
کد کمتر
نوشتن خطوط کمتر کد باعث صرفه جویی در زمان، کاهش باگ ها و افزایش خوانایی می شود. Svelte سعی می کند با معرفی یک قالب ساده که در TypeScript نوشته شده است، این را اعمال کند. Svelte توسعه دهنده را تنها به یک عنصر سطح بالای اضافی محدود نمی کند. علاوه بر این، Svelte به شما این امکان را می دهد تا با استفاده از عملگر انتساب (=) وضعیت محلی یک متغیر را به راحتی به روز کنید. اما در React، کاربران باید از useState استفاده کنند که باعث سنگینتر شدن کد میشود.
حذف DOM مجازی
با توجه به اینکه پیمایش های درختی می توانند هم از نظر منابع و هم از نظر زمان دردسر هایی را ایجاد کنند، یکی از معایبی بود که در فریم ورک های جاوا اسکریپتی به صورت کامل مشاهده می شود. اما باید گفت که Svelte اوضاع را به خوبی تغییر داده است و این فریم ورک بدون اینکه خود را درگیر یک DOM مجازی پردردسر کند کار تغییر صفحات سایت را بدون رفرش شدن و به صورت کاملا پویا انجام می دهد.
در واقع روند کاری ای که برای تغییر DOM در صفحات برای فریم ورک های دیگر وجود دارد این است که به دلیل اینکه تغییر DOM اصلی کاری پر دردسر است و می تواند برای ما گران تمام شود و نیرو پردازشی زیادی را باید داشته باشیم، از یک DOM مجازی و تغییر روی آن استفاده می شد. اما در مورد اینکه اوضاع کاری Svelte چیست باید گفت که از آنجا که تغییرات DOM در این فریم ورک بسیار بهینه و کم می باشد و لازم نیست که بخش بزرگی تغییر کند بدون استفاده از یک DOM مجازی هم می توان این کار را انجام داد و تغییرات روی DOM اصلی انجام می شود.
سادگی در استفاده
مورد دیگری که باید در رابطه با مزایای استفاده از Svelte معرفی کرد، این است که به کار گرفتن این فریم ورک یک کار ساده است که می تواند به راحتی مورد استفاده قرار بگیرد و شما بدون هیچ دردسری می توانید از آن برای کار خود استفاده کنید. در واقع باید گفت که یادگیری و استفاده از این فریم ورک می تواند به صورت همزمان انجام گیرد و در صورتی که شما بخواهید پروژه ای را با این فریم ورک بسازید، می توانید کار خود را در کنار یادگیری مراحل مورد نیاز دنبال کنید این در حالی است که برای فریم ورک هایی مانند ویوی جی اس و همینطور انگولار جی اس این موضوع غیر ممکن است.