خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

Bun.js چیست و چرا جامعه جاوا اسکریپت از آن هیجان زده است؟

Bun.js یک زمان اجرا جدید جاوا اسکریپت است، اما چرا بسیاری از توسعه دهندگان از آن هیجان زده هستند؟

دریافت دائمی چارچوب ها و کتابخانه های جدید چیزی است که جاوا اسکریپت به آن معروف است. در جولای 2022، اکوسیستم از عضو جدیدی استقبال کرد: Bun.js. در اینجا نگاهی به Bun.js خواهیم داشت و می‌بینیم که چگونه بر اکوسیستم جاوا اسکریپت تأثیر می‌گذارد.

Bun.js چیست؟

Bun به عنوان “یک زمان اجرای سریع جاوا اسکریپت همه در یک” تعریف می شود. این سومین مورد از نوع خود پس از Node.js و Deno.js است که توسط Jarred Sumner با استفاده از زبان برنامه نویسی Zig ایجاد شده است.

هدف اصلی آن ارائه یک پلتفرم برای اجرای جاوا اسکریپت در خارج از مرورگر درست مانند Node.js و Deno.js است، اما Bun برای ارائه سطوح جدیدی از سرعت و پیچیدگی افزایش یافته پیشرفت می کند.

جاوا اسکریپت چگونه تکامل یافته است

جاوا اسکریپت در ابتدا برای اجرا در داخل مرورگرها ساخته شده بود که توسط موتورهایی مانند SpiderMonkey و V8 پشتیبانی می شد. در سال 2009، رایان دال موتور V8 را در یک برنامه C++ که Node.js نامید، تعبیه کرد. جاوا اسکریپت، از آن زمان برای استفاده های مختلف مانند برنامه های سمت سرور و برنامه های زمان واقعی مرتبط شد.

Promises و ماژول‌های ES نمونه‌هایی از ویژگی‌های جاوا اسکریپت مدرن هستند که در زمان ایجاد Node.js وجود نداشتند. رایان همچنین در سال 2018 در مورد چیزهایی که از Node.js پشیمان بود سخنرانی کرد. پشیمانی او باعث ایجاد Deno.js شد که در سال 2020 منتشر کرد.

مطلب مرتبط:   چگونه دکمه های اشتراک گذاری اجتماعی را به برنامه React خود اضافه کنید

Deno یک فایل اجرایی است که با Rust ساخته شده است و هدف آن رفع تمام نقص های Node مانند امنیت، عملکرد و پشتیبانی از TypeScript بومی است. این به طور قابل توجهی سریعتر و ایمن تر از Node است و با ابزارهای موجود در Node.js ارائه می شود.

با این حال، Deno حتی پس از چهار سال انتشار به استقبال گسترده‌ای که انتظار می‌رفت، نرسیده است، زیرا بیشتر سیستم‌های مدرن در حال حاضر مبتنی بر Node هستند و تغییر می‌تواند برای توسعه‌دهندگان دردسرساز باشد. نیاز به بازنویسی بیشتر بسته های npm برای پشتیبانی Deno نیز پذیرش آن را به چالش می کشد.

در ژوئیه 2022، زمان اجرا جدیدی در نسخه بتا ظاهر شد – “Bun.js” – که موضوعی پرطرفدار در داخل و خارج از جامعه جاوا اسکریپت بوده است. قابلیت همکاری با Node.js و عملکرد پرسرعتی که ادعا می‌کند ارائه می‌کند، نکته‌ای مهم بوده است. همچنین بحث هایی را مطرح کرده است که بالاخره یک «نابودگر گره» در اطراف وجود دارد.

چگونه Bun.js با Node.js و Deno.js مقایسه می شود؟

طراحی لوگو Node، Deno، Bun و JavaScript

Node، Deno و Bun همگی زمان اجرا برای جاوا اسکریپت خارج از مرورگر هستند، این تفاوت بین آنها را خنثی نمی کند.

Node.js در C++، Deno در Rust و Bun در Zig نوشته شده است. وب سایت Bun می گوید: “کنترل سطح پایین بر حافظه و عدم وجود جریان کنترل پنهان در Zig، نوشتن نرم افزار سریع را آسان تر می کند.”

در حالی که Node و Deno هر دو موتور V8 گوگل را اجرا می کنند، Bun از عملکرد “شروع سریع” موتور JavaScriptCore Webkit که سافاری اپل استفاده می کند، استفاده می کند. نتایج بنچمارک از وب سایت نشان می دهد که چگونه Bun در عملکرد هر دو Node و Deno را شکست می دهد و حداقل 3 برابر سریعتر از هر دو زمان اجرا عمل می کند.

مطلب مرتبط:   درک توابع در Rust

Bun دارای npm (مدیر بسته گره) داخلی است که نصب بسته را از npm آسان و سریع می کند (20 برابر سرعت در Node)، همچنین از TypeScript پشتیبانی می کند و فایل های TS و JSX را به صورت خودکار ترانسپایل می کند. سایر ویژگی‌های هیجان‌انگیز Bun شامل کلاینت SQLite3 داخلی، APIهای وب مانند fetch و WebSocket، بارگذاری خودکار متغیرهای محیطی و اجرای آزمایشی است.

از هر سه، Bun کیک را برای اجرا می گیرد. Node با یک جامعه بسیار بزرگ پایدارترین است، در حالی که Deno در حال حاضر امن ترین است.

آیا Bun.js واقعاً بر اکوسیستم تأثیر می گذارد؟

اکوسیستم از انتشار Bun هیجان زده شده است. قابل قبول است که هیاهوی تبلیغاتی پیرامون Bun از زمان اعلام این خبر بسیار زیاد بوده است. این کاملاً یک معامله بزرگ است. توسعه دهندگان جاوا اسکریپت با توجه به سرعت “شعله ور” و ابزار قوی برای بهره وری آن را واقعا دوست دارند.

علاوه بر این، سرور Bun’s Discord در حال حاضر بیش از 2000 عضو دارد که نشان دهنده هیجان در جامعه برای این فناوری جدید است.

آینده Node.js، Deno.js و Bun.js چیست؟

جاوا اسکریپت به این زودی ها از بین نمی رود. در واقع، این یکی از فناوری‌هایی است که ما مطمئن هستیم تا 10 سال آینده هنوز هم وجود خواهد داشت. Node، Deno، و Bun نیز آینده ای دارند.

Node هنوز به طور مرتب به روز می شود، نسخه 18.0 اخیراً منتشر شده است، بنابراین آینده آن حتی با Deno و Bun دست نخورده باقی می ماند. بسیاری از شرکت‌ها مانند PayPal از Node در زیرساخت‌های خود استفاده می‌کنند و حتی استارت‌آپ‌های جدید نیز از این روش پیروی می‌کنند.

مطلب مرتبط:   نحوه استفاده از Postman برای تست یک API

مورد مشابه برای Deno است که به طور فعال توسعه یافته و بزرگتر می شود. Deno همچنین در حال پیشرفت در راه حل SaaS برای ارائه خدمات زمان اجرا جاوا اسکریپت مدیریت شده است.

Bun.js هنوز ناپایدار است و پشتیبانی محدودی دارد (برای اجرای آن در ویندوز به Windows Subsystem برای لینوکس نیاز دارید). اگرچه قابلیت های زیادی دارد، اما اکنون نمی تواند گزینه ای برای نرم افزارهای آماده تولید باشد، زیرا هنوز کارهای زیادی برای انجام دادن روی آن وجود دارد.

در حالی که آینده قطعاً برای Bun امیدوارکننده است، منطقی است که باور کنیم این سه فناوری به احتمال زیاد در اکوسیستم وجود خواهند داشت، نه اینکه یکی جایگزین دیگری شود.

Bun.js ممکن است یک تغییر دهنده بازی باشد

با Bun، بسیاری از چیزها ممکن است در مورد جاوا اسکریپت بهتر شوند. احتمالاً زمان آن فرا رسیده است که جاوا اسکریپت در زمینه‌های حیاتی عملکرد مانند AI/ML، توسعه بازی و غیره مورد استفاده قرار گیرد. برای یادگیری نحوه نصب و شروع توسعه با Bun، به وب‌سایت Bun.sh بروید.