سولت

از ویکی‌پدیا، دانشنامهٔ آزاد
سولت
نویسنده(های)
اصلی
ریچ هریس
مخزن
نوشته‌شده باتایپ‌اسکریپت
بن‌سازه رایانشپلتفرم وب
گونهچارچوب وب
پروانهپروانه ام‌آی‌تی
وبگاه

سولت (به انگلیسی: svelte) یک کامپایلر فرانت‌اند متن‌باز و رایگان است[۱] که توسط ریچ هریس (Rich Harris) ایجاد شده و توسط اعضای اصلی تیم سولت توسعه می‌یابد.[۲]

برنامه‌های سولت تنها شامل اسکریپت‌نویسی بر پایه فریمورک نمی‌شوند؛ بلکه در ساختن یک برنامه سولت، کدهای لازم برای تبدیل کردن به دام در هر کامپوننت تولید می‌شود که ممکن است اندازه فایل‌های انتقال‌یافته را کاهش دهد و کارایی بهتری برای راه‌اندازی برای کاربر و زمان اجرا داشته باشد. سولت کامپایلر خود را برای تبدیل کد برنامه به جاوااسکریپت سمت کاربر در زمان ساخت دارد.

سولت با زبان برنامه‌نویسی تایپ‌اسکریپت نوشته شده‌است.[۳][۴] بر خلاف چارچوب‌های سنتی نظیر ری‌اکت و ویو جی‌اس که بخش عمده‌ای از کار خود را سمت مرورگر انجام می‌دهند، سولت کار را در مرحله کامپایل انجام می‌دهد که در هنگام ساخت یک برنامه اتفاق می‌افتد.[۵]

کد منبع سولت تحت پروانه ام‌آی‌تی و در گیت‌هاب میزبانی می‌شود.[۶]

تاریخچه[ویرایش]

Ractivejs ایده قبل‌تر سولت بود که ریچ هریس (Rich Harris) آن را ایجاد کرده‌بود.[۷]

نسخه ۱ سولت با جاوا اسکریپت نوشته شده‌بود که در ۲۹ نوامبر ۲۰۱۶ منتشر شد.

نسخه ۲ سولت در ۱۹ آوریل ۲۰۱۹ منتشر شد.

نسخه ۳ سولت این بار با تایپ‌اسکریپت نوشته شده‌است و در ۲۱ آوریل ۲۰۱۹ منتشر شد.

چارچوب وب سولت‌کیت در اکتبر ۲۰۲۰ معرفی شد و در مارس ۲۰۱ وارد نسخهٔ بتا شد.[۸][۹]

مثال[ویرایش]

برنامه‌ها و کامپوننت‌های سولت در فایل‌هایی با فرمت .svelte تعریف می‌شوند. این فایل‌ها همان اچ‌تی‌ام‌ال هستند با این تفاوت که با سینتکس قالب‌بندی شبیه به جی‌اس‌ایکس گسترش یافته‌اند.

سولت از برچسب از پیش تعریف شدهٔ جاوااسکریپت $: برای علامت گذاری عبارات واکنشی استفاده می‌کند. متغیرهای سطح بالا به حالت کامپوننت تبدیل می‌شوند و متغیرهای ایکسپورت شده (export) به پروپرتی (property)هایی تبدیل می‌شوند که کامپوننت دریافت می‌کند.

<script>
    let count = 1
    $: doubled = count * 2
</script>

<p>{count} * 2 = {doubled}</p>

<button on:click={() => count = count + 1}>Count</button>

پروژه‌های مرتبط[ویرایش]

سازندگان سولت سولت‌کیت را به عنوان روش رسمی برای ساخت پروژه‌ها با سولت ایجاد کرده‌اند.[۱۰]

ساپر (sapper) نسخه قبلی‌تر سولت‌کیت یک چارچوب به سبک نکست‌جی‌اس است که به‌طور چشمگیری میزان کد ارسال شده به مرورگر را کاهش می‌دهد.[۱۱]

تاثیرپذیری[ویرایش]

ویو جی‌اس ای‌پی‌آی‌ها و کامپوننت‌های تک‌صفحه‌ای خود را از Ractivejs نسخه قبلی سولت الگوبرداری کرده‌است.[۷]

استفاده[ویرایش]

سولت به‌طور گسترده توسط توسعه‌دهندگان تحسین شده‌است؛ با کسب رتبهٔ برتر در چندین نظرسنجی توسعه‌دهندگان در مقیاس بزرگ توسط وب‌سایت استک اورفلو، به عنوان محبوب‌ترین چارچوب وب در سال ۲۰۲۱[۱۲] و فریمورک فرانت‌اند جاوااسکریپت با بیشترین تعداد توسعه‌دهنگان راضی انتخاب شد.[۱۳]

سولت توسط تعدادی از شرکت‌های وب معروف از جمله نیویورک تایمز، اپل، اسپاتیفای، اسکویر، راکوتن، بلومبرگ، رویترز، آیکیا، فیس‌بوک و بریو مورد استفاده قرار گرفته‌است.[۱۴][۱۵][۱۶]

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. "React vs. Svelte, the JavaScript build-time framework". react-etc.net.
  2. "Svelte 3 Front-End Framework Moves Reactivity into the JavaScript Language, Q&A with Rich Harris". InfoQ.
  3. "8 Most Interesting JavaScript Frameworks to Learn in 2019 - Developer Drive". www.developerdrive.com.
  4. Krill, Paul (December 2, 2016). "Slim, speedy Svelte framework puts JavaScript on a diet". InfoWorld.
  5. Apr 22 2019, Rich Harris Mon. "Svelte 3: Rethinking reactivity". svelte.dev (به انگلیسی). Retrieved 2021-08-07.
  6. "GitHub - sveltejs/svelte: Cybernetically enhanced web apps". January 11, 2020.
  7. ۷٫۰ ۷٫۱ "About the Svelte JavaScript framework". ValueLogic | Blog. 2020-11-19. Retrieved 2021-06-10. By the way, Vue’s syntax has been influenced by Ractive.js, a direct predecessor of Svelte.
  8. Rich Harris: Futuristic Web Development (به انگلیسی), archived from the original on 22 February 2022, retrieved 2021-08-03{{citation}}: نگهداری یادکرد:ربات:وضعیت نامعلوم پیوند اصلی (link)
  9. Mar 23 2021, Rich Harris Tue. "SvelteKit is in public beta". svelte.dev (به انگلیسی). Retrieved 2021-08-03.
  10. "Svelte". GitHub (به انگلیسی). Retrieved 2021-08-03.
  11. Dec 31 2017, Rich Harris Sun. "Sapper: Towards the ideal web app framework". svelte.dev (به انگلیسی). Retrieved 2021-08-15.
  12. "Stack Overflow Developer Survey 2021". Stack Overflow (به انگلیسی). Retrieved 2021-10-26.
  13. "State of JS 2020: Front-end Frameworks". 2020.stateofjs.com (به انگلیسی). Retrieved 2021-10-26.
  14. "Svelte • Cybernetically enhanced web apps". svelte.dev (به انگلیسی). Retrieved 2021-08-03.
  15. "Websites using Svelte - Wappalyzer". www.wappalyzer.com. Retrieved 2021-08-03.
  16. "Your Profile, Your Home Experience". yourhome.fb.com (به انگلیسی). Retrieved 2021-12-01.

پیوند به بیرون[ویرایش]