Bun Js İle Hızlı Projeler Üret

Bun, Node veya Deno gibi modern bir JavaScript çalışma zamanıdır(runtime). Üç ana şeye odaklanmak için sıfırdan inşa edildi:

Hızlı başlayın (akılda avantajı vardır).
Yeni performans seviyeleri (extending  JavaScriptCore, engine).
Harika ve eksiksiz bir araç olmak (paketleyici, aktarıcı, paket yöneticisi).
Bun, yerel bilgisayarınızdaki, sunucunuzdaki veya uçtaki mevcut JavaScript ve TypeScript uygulamalarınız veya komut dosyalarınızın yerini alacak şekilde tasarlanmıştır. Bun, Node-API işlevlerinin (yerel modüller), fs, path, Buffer ve daha fazlasının ~%90‘ı dahil olmak üzere yüzlerce Node.js ve Web API‘sini yerel olarak uygular.
Bun’un amacı, dünyadaki JavaScript’lerin çoğunu tarayıcıların dışında çalıştırarak, gelecekteki altyapınıza performans ve karmaşıklık geliştirmelerinin yanı sıra daha iyi, daha basit araçlarla geliştirici üretkenliği getirmektir.

bun js github
bun js github

Özellikler

  • Web API ler  fetchWebSocket, veReadableStream gibi yerleşiktir.
  • node_modules bun, Node.js’nin modül çözümleme algoritmasını uygular, böylece bun.js‘de npm paketlerini kullanabilirsiniz. ESM ve CommonJS desteklenir, ancak Bun dahili olarak ESM’yi kullanır.
  • Bun.js’de her dosya aktarılır, sadece TypeScript ve JSX çalışır.
  • Bun “paths”,”jsxImportSource” ve daha fazlasını tsconfig.json dosyalarından destekler.
  • JSX & TypeScript transpiler Bun.js API içerisinde mevcuttur.
  • Dosyaları yazmak, kopyalamak, yönlendirmek, göndermek ve klonlamak için Bun.write ile kullanılabilen en hızlı sistem çağrılarını kullanır.
  • Bun.js, ortam değişkenlerini .env dosyalarından otomatik olarak yükler. Artık require(“dotenv”).load() kullanımına gerek yok.
  • Bun ile hızlı bir SQLite3 istemci bun:sqlite ile birlikte gelir.
  • Node-API bun.js, Node-API’nin (N-API) çoğunu uygular. Birçok Node.js yerel modülü sadece çalışır.
  • node:fs node:path bun.js, Buffer ve process gibi globallerle birlikte büyüyen Node.js çekirdek modülleri listesini yerel olarak destekler.

Bun Js Nedir, Nasıl Çalışır ?

Bun.js, V8 gibi daha geleneksel seçeneklerden biraz daha hızlı başlama ve performans gösterme eğiliminde olan JavaScriptCore motorunu kullanır. Bun, manuel bellek yönetimine sahip düşük seviyeli bir programlama dilinde yazılmıştır.

Bun’un çoğu, JSX/TypeScript aktarıcısı, npm istemcisi, paketleyici, SQLite istemcisi, HTTP istemcisi, WebSocket istemcisi ve daha fazlası dahil olmak üzere sıfırdan yazılmıştır.

Bun neden hızlı?

Profil oluşturmak, kıyaslama yapmak ve bir şeyleri optimize etmek için muazzam miktarda zaman harcandı. Bun’un her bölümü için cevap farklıdır, ancak genel bir tema vardır: ‘hafıza üzerindeki düşük seviyeli kontrol ve gizli kontrol akışının olmaması, hızlı yazılım yazmayı çok daha basit hale getirir.

Hızlı Başlangıç

Bun’u yüklemek için bu yükleme komut dosyasını terminalinizde çalıştırın. Bun’u GitHub‘dan indirir.

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

Bun’ın HTTP sunucusu, Request ve Response gibi web standartları üzerine kurulmuştur.

// http.js
export default {
  port: 3000,
  fetch(request) {
    return new Response("Welcome to Bun!");
  },
};

Bun ile çalıştırın

bun run http.js

Ardından tarayıcınızda http://localhost:3000’i açın.

Bun CLI

bun run

JavaScript ve TypeScript dosyalarını Bun‘ un JavaScript çalışma zamanı ile çalıştırmak için kullanılan aynı komut ayrıca package.json “komut dosyalarını” çalıştırır. npm çalıştırmasını Bun çalıştırma ile değiştirin ve her çalıştırmada 160 ms tasarruf edin. Bun, package.json komut dosyalarını npm çalıştırmasından 30 kat daha hızlı çalıştırır.

bun install

Bun install, npm uyumlu bir paket yöneticisidir. Dosyaların ne kadar hızlı kopyalanabileceğine muhtemelen şaşıracaksınız.

Yarn ‘ı Burn kurulumuyla değiştirin ve 20 kat daha hızlı paket kurulumu elde edin.
Burn yükleme, dosyaları kopyalamak için mevcut olan en hızlı sistem çağrılarını kullanır.

bun wiptest

Bun için yerleşik JavaScript ve TypeScript projeleri için Jest benzeri bir test çalıştırıcısı. JavaScript test çalıştırıcı olarak oldukça iddialı.

Özet

Deno, yarn, npm paket yükleyicilerinin kusurlarını örtmek, hızlı projeler üretebilmek için tasarlanmıştır. Bellekleme sistemi ile projeye hızlı başlangıç yapılabilmektedir. İlk izlenim oldukça başarılı npm install komutu ile indirilen paket süresinde oldukça hız kazanmış durumda, ilerleyen zamanlarda Deno gibi bir anda parlaması ve sönmesi mümkün olabilir. Son günlerde trend olan proje destek kazanmaya devam ediyor.

Not: suggesion@masterdark.net mail adresine görüş ve önerilerinizi bizlerle paylaşabilirsiniz.

One Comment

Add a Comment

E-posta hesabınız yayımlanmayacak.