2009 yılında Joyent şirketi çalışanı Ryan Dahl tarafından başlatılan node.js, bir JavaScript Runtime platformudur ve ücretsiz olarak kullanılabilir. Web tarayıcılarına bağımlı olmadan herhangi bir yerde çalışabilir ve Google tarafından geliştirilen V8 JavaScript motoru üzerinde çalışır.
Node.js’un Fonksiyonları Nelerdir?
Node.js, yazılımın ön yüz ve arka yüz kodlarını aynı dilde ve aynı anda yazmanın en pratik yoludur. Ayrıca, asenkron yapısı sayesinde veritabanlarına veya çeşitli online servislere istek gönderip bekleme zorunluluğu yoktur. Node.js, istekleri paralel olarak işler ve talepler anında hızlı bir şekilde işlenir.
Node.js, modüler kod yazmaya teşvik eder ve kod yazmak adeta lego parçalarını birleştirmek gibidir. NPM’nin (Node Package Manager) binlerce açık kaynaklı paketi, modüler yapıda kullanılabilir. Node.js ekosistemi geniş bir kullanıcı kitlesi tarafından benimsenmiştir; küçük start-up’lardan büyük şirketlere kadar birçok kişi ve kuruluş Node.js’u tercih ediyor. Google, NASA, Apple, IBM, Microsoft, Pinterest, Netflix ve PayPal, bu platformu kullanan sadece birkaç örnektir.
Node.js’un Temel Özellikleri Nelerdir?
Node.js’un temel özellikleri arasında ücretsiz ve açık kaynaklı olması, olaylara dayalı olması ve asenkron çalışması bulunmaktadır.
Ayrıca, çok hızlı ve düşük maliyetli olması da Node.js’un özellikleri arasında sayılabilir. NPM, sürekli gelişen ve ihtiyaçlara hızlı bir şekilde cevap veren bir paket yönetim sistemine sahip bir platformdur. Eşzamanlı bağlantıları etkili bir şekilde işleyebilir ve hem istemci hem de sunucu tarafında aynı dili kullanmanın avantajlarına sahiptir. Örneğin, MongoDB gibi veritabanları kullanıldığında, hem istemci hem de sunucu tarafında yüzde 100 JavaScript kullanılır.
Node.js’un İşleyiş Mekanizması
Node.js, JavaScript tabanlı betikleri yorumlayan ve çalıştıran, hızlı ve ölçeklenebilir ağ uygulamalarını geliştirmeye olanak tanıyan bir platformdur. Node.js, Event Loop (Olay Döngüsü) adı verilen bir işlemle olay tabanlı yapısını gerçekleştirir.
Olaya dayalı bir uygulama olan Node.js, değişkenleri başlatarak işlevleri bildirir ve olayların gerçekleşmesini bekler. Uygulamada olayları dinleyen ana bir döngü bulunur ve bu döngü, bir olay gerçekleştiğinde geri çağrı işlevini tetikler. Olay işleme gözlemci modelini kullanarak, uygulamada olayları dinleyen işlevler “gözlemci” olarak işlev görür.
Node.js, 250.000’den fazla NPM paketi ve modüler yapısı ile çeşitli görevleri etkili bir şekilde yerine getirebilir ve aynı anda birden fazla kullanıcıya sorunsuz bir şekilde hizmet verebilir.