CodeBlanks Logo Icon CodeBlanks

N-API

N-API ile native addon yazmayı öğrenirsin.

N-API nedir?

N-API, Node.js'in C/C++ kodu yazmak için sunduğu kararlı uygulama programlama arayüzüdür (API). N-API, Node.js sürümleri arasında değişmeyen bir sözleşme sağlar; böylece bir native addon bir kez yazılıp birçok Node.js sürümünde çalışır.

Eskiden addon'lar doğrudan V8 başlıklarına bağlıydı; V8 güncellenince addon bozulurdu. N-API bu bağımlılığı kaldırır: sen N-API çağrıları yazarsın, Node.js bunu içten V8'e çevirir. Bir napiModule(name) fonksiyonu bu fikri modeller: {name: name, api: 'N-API', version: 9} döndürür. N-API sürüm 9, Node.js 22 ile gelir. Bu soyutlama, addon bakımını büyük ölçüde azaltır.

N-API modülü

Bir N-API modülü, JS tarafına bir nesne döndüren bir kayıt fonksiyonudur. napiModule(name) bunu modeller: ad, API adı ve sürüm döndürür. Gerçek N-API'de bu C ile yazılır; burada JS ile modelliyoruz.

Örnek: function napiModule(name) { return {name: name, api: 'N-API', version: 9}; }. napiModule('myaddon') {name: 'myaddon', api: 'N-API', version: 9} döndürür. console.log(napiModule('myaddon').api + ' v' + napiModule('myaddon').version) ile N-API v9 yazdırılır. Bu, N-API modül kaydının basit bir modelidir; gerçek kayıt NAPI_MODULE makrosuyla yapılır ama fikir aynıdır: bir ad ve bir dizi dışa aktarma.

Uygulama N-API modülü yaz

function napiModule(name) yaz. {name: name, api: 'N-API', version: 9} döndür. console.log(napiModule('myaddon').api + ' v' + napiModule('myaddon').version) yazdır.

Başlangıç kodu

index.js
// napiModule fonksiyonu yaz
// {name, api: 'N-API', version: 9} döndürsün
// api ve sürümü 'api vX' biçiminde yazdır
// buraya yaz

Örnek çözüm

index.js
function napiModule(name) {
  return {name: name, api: 'N-API', version: 9};
}
console.log(napiModule('myaddon').api + ' v' + napiModule('myaddon').version);

Beklenen çıktı

N-API v9

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 N-API neyi çözer?

  • Düşük bellek kullanımını
  • Sürümler arası addon uyumluluğunu Doğru cevap
  • Otomatik testi
  • Daha hızlı ağ isteklerini

Açıklama: N-API, addon'ların Node.js sürümleri arasında bozulmadan kalmasını sağlar.

2 N-API sürümünü döndür

Soru
function napiModule(name) { return {name: name, api: 'N-API', version: ____}; }
Cevap
function napiModule(name) { return {name: name, api: 'N-API', version: 9}; }

Açıklama: N-API sürüm 9 Node.js 22 ile gelir.

3 Kavramı açıklamasına eşle

Kavram Anlamı
N-API Kararlı addon arayüzü
V8 JavaScript motoru
addon C/C++ eklentisi
Node.js 22 N-API v9 ile gelir

Uzman bölümündeki tüm dersler