Anophel-آنوفل Bun.js چیست؟ سریع ترین و مدرن ترین runtime جاوا اسکریپت

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

انتشار:
1
0

در دنیای پر سرعت توسعه وب، سرعت و کارایی کلیدی است. جاوا اسکریپت، به عنوان ستون فقرات برنامه های کاربردی وب، نقشی اساسی در تعیین تجربه کاربر ایفا می کند. اینجاست که Bun  وارد میدان می شود. در این مقاله، به این می پردازیم که Bun چیست و چرا به عنوان runtime جاوا اسکریپت سریعتر و مدرن در نظر گرفته می شود.

Bun.js چیست؟

BunJS یک زمان اجرای جاوا اسکریپت نسل جدید است که برای بهینه سازی و سرعت بخشیدن به اجرای کد جاوا اسکریپت طراحی شده است. این برنامه با هدف ارائه یک محیط زمان اجرا به توسعه دهندگان ساخته شده است که نه تنها انتظارات عملکرد آنها را برآورده می کند، بلکه از آنها نیز فراتر می رود.

Bun.js  ابتدا برای خدمت به اکوسیستم جاوا اسکریپت مدرن ساخته شده است.
اما آیا واقعاً به ابزارهای جاوا اسکریپت بیشتری نیاز داریم؟

خب، دنیای جاوا اسکریپت با 15 سال پیش که NodeJS برای اولین بار منتشر شد، کاملاً متفاوت شد.

نسخه های جدید سالانه ECMAScript.
تایپ اسکریپت به دلیل تجربه توسعه‌دهنده پیشرفته تبدیل به یک عرف می‌شود.
استفاده از JSX تقریباً در هر فریمورک توسعه.


این موارد باعث شده تا زمان اجرا جاوا اسکریپت سبکتر و سریعتر شود.

Deno شکست خورده است؟

مدتی پیش از Deno اسفتاده می کردیم، در حالی که فقط No-De به صورت De-No معکوس می شود، بیشتر از این کار می کند.

اما، Deno اساسا شکست خورد، زیرا:

Deno فقط از دیدگاه کاربران "ویژگی های جزئی" را به نمایش می گذارد. این یک پایگاه کد تمیز تر داشت، از بهترین روش‌های به‌روز استفاده می‌کرد، و امنیت بهتری داشت، اما این چیزها در واقع فقط ویژگی‌های برای یک کاربر هستند، نه یک محصول به خودی خود.

فناوری پشت Bun.js چیست؟

Bun یک زمان اجرا جاوا اسکریپت است. اما در واقع به چه معناست؟
با یک موتور شروع می شود - کامپوننت یک زمان اجرا که کد جاوا اسکریپت را اجرا می کند.

همه ما V8 را می شناسیم، موتور JS پشت کروم و NodeJS.


اما Bun از چیز متفاوتی استفاده می کند از JavascriptCore استفاده می کند.

JavaScriptCore توسط اپل توسعه یافته و استفاده‌های متعددی در سیستم‌عامل iOS و macOS دارد. JavaScriptCore به عنوان یک موتور جاوااسکریپت سریع و کارآمد می‌شود و توسط Bun برای اجرای کدهای جاوااسکریپت به کار می‌رود.

استفاده از JavaScriptCore توسط Bun نشان از تلاش برای بهبود عملکرد و بهینه‌تر کردن اجرای جاوااسکریپت دارد. این متمایز Bun از سایر رانتایم‌ها و موتورهای جاوااسکریپت می‌کند و به توسعه‌دهندگان امکان اجرای سریع‌تر و بهتر در پروژه‌های خود می‌پردازد.

موتور JS نمی تواند به تنهایی کار کند. بنابراین با API های خارجی و صف های پیام و حلقه رویداد بدنام ترکیب می شود تا یک Javascript Runtime ایجاد کند.

در Bun، از ابتدا با استفاده از Zig که یک زبان عمومی سطح پایین مانند C یا Rust برای ساخت برنامه‌های سریع است، پیاده‌سازی می‌شود.

پیاده سازی فوق عملکرد و مدیریت حافظه بهتری را در طول Start و Runtimes فراهم می کند، همراه با وعده سرعت شگفت انگیز، شما یک رقیب واقعی NodeJS خواهید داشت.

ویژگی های Bun.js چیست؟

Bun دارای بسیاری از ویژگی های عالی است که آن را شایسته می کند.

1. پشتیبانی از بسته های NodeJS
Bun به لطف اجرای بومی 100 ماژول Node مانند یک جایگزین Drop-In برای NodeJS است.

Bun همچنین از فایل package.json برای وابستگی ها استفاده می کند، بنابراین منحنی یادگیری کمتر از NodeJS و نصب bun واقعا سریع است.

2. ساخته شده و پشتیبانی از تایپ اسکریپت که آن را سریع 
قبل از bun ، اجرای typescript خسته کننده و کند بود. Bun دارای پشتیبانی داخلی برای اجرای Typescript در پروژه های شما است و آن را سریعتر می کند.

3. پشتیبانی از CommonJS و ESModules  
آن روزهایی را به خاطر دارید که مجبور بودید پروژه خود را از سینتکس قدیمی require به سینکتس import تبدیل کنید؟ برخی از کتابخانه‌ها هنوز دستور import را به طور کامل با Typescript پشتیبانی نمی‌کنند.

همه آن ها با Bun از بین می رود. می توانید یکی یا هر دو را بنویسید.

4. پشتیبانی از تست داخلی
آیا توسعه تست محور را دوست دارید؟ یا تازه با آن شروع می کنید؟ مهم نیست. زیرا برای انجام کار لازم نیست بروید و یک چارچوب تست جدید یاد بگیرید.

Bun با پشتیبانی از تست داخلی عرضه می شود، و بنابراین از سایر موارد موجود در بازار بسیار سریعتر است.

و اینا ویژگی های bun بودند. حال بریم نصب کنیم.

نصب و اجرای Bun JS

نصب Bun

نصب Bun به سادگی زیر است:

curl -fsSL https://bun.sh/install | bash

راه اندازی سرور

آماده توسعه خدمات خود هستید؟ یک فایل جدید ایجاد کنید: server.ts و کد زیر را اضافه کنید:

const server = Bun.serve({
  port: 3000,
  fetch(request) {
    return new Response("Welcome to Bun!");
  },
});

console.log(`Listening on localhost:${server.port}`);

سرور را راه اندازی کنید
اکنون برای شروع به گوش دادن به درخواست ها، دستور زیر را اجرا کنید (بدون مرحله میانی تبدیل به js. به طور جداگانه):

bun index.tsx

برای آشنایی با Vite.js می توانید این مقاله را بررسی کنید.

کامپوننت های React با Bun JS

Bun از فایل های jsx. و tsx. خارج از جعبه پشتیبانی می کند. ترانسپایلر داخلی Bun سینتکس JSX را قبل از اجرا به جاوا اسکریپت وانیلی تبدیل می کند.

function Component(props: {message: string}) {
  return (
    <body>
      <h1 style={{color: 'red'}}>{props.message}</h1>
    </body>
  );
}

console.log(<Component message="Hello world!" />);

همچنین با کامپوننت React فوق کار می کند.

با ویژگی های فوق و بسیاری دیگر، Bun آماده است تا به یک استاندارد جدید در بازار زمان اجرا جاوا اسکریپت تبدیل شود.

نتیجه

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

#Bun#Bun.js#runtime#deno#js#javascript#javascript_runtime#bun_react#جاوااسکریپت
نظرات ارزشمند شما :
Loading...