Node.js 22 ile birlikte ws gibi üçüncü parti kütüphanelere olan bağımlılığımız azalıyor. Artık tarayıcı standartlarına uygun native WebSocket desteği hayatımızın bir parçası.
Yıllardır Node.js projelerinde gerçek zamanlı iletişim (realtime) kurmak istediğimizde ilk işimiz projeye ws veya socket.io paketini dahil etmek oluyordu. Ancak Node.js 22 ile birlikte, tarayıcılarda alışık olduğumuz WebSockets API doğrudan Node.js çekirdeğine eklendi.
Nasıl Kullanılır?
Artık herhangi bir paket yüklemeden, doğrudan tarayıcıda yazar gibi WebSocket istemcisi oluşturabilirsiniz:
// Sadece Node.js 22+ (Native Destek)
const ws = new WebSocket('wss://ornek-sunucu.com/socket');
ws.onopen = () => {
console.log('Sunucuya bağlanıldı!');
ws.send('Merhaba Sunucu!');
};
ws.onmessage = (event) => {
console.log('Gelen veri:', event.data);
};
Eski Paketleri Bırakmalı mıyız?
Eğer Socket.IO'nun sunduğu oda sistemi (rooms), otomatik yeniden bağlanma (auto-reconnect) veya yedek mekanizmalar (fallback) gibi gelişmiş özelliklere ihtiyacınız varsa, hala bu araçları kullanmaya devam edebilirsiniz. Ancak standart, hafif ve yalın bir WebSocket bağlantısına ihtiyacınız varsa, native API hem projenizi hafifletecek hem de performans kazancı sağlayacaktır.
Sunucu tarafında Supabase gibi araçlar (Realtime Client) kullanırken eski Node versiyonlarında hala WebSocket polyfill'lerine ihtiyaç duyulabilmektedir. Ancak Node.js 22+ sunucularda realtime.transport yapılandırmalarıyla doğrudan native desteği devreye sokabilirsiniz.
