Nodejs nedir?

Nodejs: server-side uygulamalar geliştirebileceğimiz, Javascript ile kod geliştirilmesine imkan sağlayan “Google Chrome’un v8 Javascript Engine”  üzerinde çalışan bir platformdur. Nodejs 2009 yılında joyent firmasında çalışan Ryan Dahl tarafından geliştirilmeye başlanmıştır. Tamamen açık kaynak kodludur. Java değildir.

V8 Javascript Engine nedir ?

V8 Google tarafından geliştirilen, Chrome web browserlarının da üzerinde çalıştığı C, C++ ve javascript dilleri ile kodlanan bir enginedir. Tek amacı Javascript kodunu makine koduna çevirmektir.

Peki nodejs neye yarar ?

Bir yazılımın hem arkayüz (backend) hem önyüz (frontend) kodlarını aynı dilde yazmaya imkan verir. Günümüzde çoğu uygulama, zamanının çoğunu veritabanlarına veya Internet’deki çeşitli servislere istek yapıp gelen sonuçları beklemekle geçirmektedir. Node.js, yapı gereği asenkrondur. İstekleri teker teker yapmak yerine paralel olarak yapar. Bu sayede anlık olarak çok sayıda istek hızlı bir şekilde işlenebilir.

Avantajları nelerdir ?

Tek bir iş parçacığı (thread) ile bloklanmadan çalışabilme imkanı sunması, nodejs'in getirdiği en büyük avantajlardan bir tanesidir. Asenkron mimari günümüz uygulamaları için oldukça uygundur. JavaScript’in olay güdümlü (event-driven), asenkron yapısı ise bunu oldukça kolaylaştırmaktadır. Veritabanı, başka bir web servise erişim vb. konularda, buralardan cevap gelene kadar beklemek yerine yeni istekleri hazırlayabilirsiniz.

Nodejs npm adı verilen paket sistemine sahiptir. Bu paket sistemi sayesinde, node ve npm yükledikten sonra verimli, stabil web servisi geliştirme ortamını bizlere sunmaktadır. Ne yapmak isterseniz isteyin istediğiniz şey büyük ihtimalle modül olarak bulunmaktadır. Npm üzerinden yapacağınız arama ile istediğiniz paketi bulabilir ve kolaylıkla kullanmaya başlayabilirsiniz. Şu an npm üzerinde aktif olarak 250000 paket bulunmaktadır. 

Kimler Kullanıyor?

Nodejs ilk çıktığı yıllardan beri popülerliğini koruyor ve her yıl popüleritesi daha da artıyor. Startup’lardan büyük şirketlere hemen herkes nodejs kullanmakta. Birkaç örnek: Apple, Google, IBM, Microsoft, NASA, Netflix, PayPal, Pinterest.