Node.js Nedir?

Yazıda node js nedir, ne işe yarar ve nerelerde kullanıldığı ile ilgili bilgiler yer almaktadır.

Node.js nedir sorusunun en belirgin cevabı JavaScript komutlarının sunucu tarafında çalışması diyebiliriz.

Tarihçesi

Node.js Ryan Dahl tarafından 2009 yılında Google Chrome tarayıcısının JavaScript komutlarını çalıştırmak için kullandığı V8 JavaScript motoruna çeşitli eklemeler yaparak JavaScript komutlarının sunucu tarafında çalışması için geliştirilmiştir.

V8 motoru C/C++ ile geliştirilmiş JavaScript komutlarını makine diline çevirmek için kullanılan bir ara yazılımdır.

Komutların makine koduna çevrilmesi JavaScript komutlarının daha hızlı ve performanslı çalışmasını sağlar.

Neden popüler

Node.js popüler olmasının sebebi hızlı ve performanslı olmasının yanında JavaScript komutlarının esnek oluşu, komutların bloklanmadan işlenmesi ve olay tabanlı çalışması ayrıca diğer sunucu taraflı çalışan programlama dilleri gibi ek bir web sunucusuna (Apache HTTP, IIS, Nginx vb.) ihtiyaç duymamasıdır.

Diğer sunucu taraflı çalışan programlama dilleri (PHP, ASP.NET vb.) ile yazılmış uygulamalar web sunucu (Apache HTTP, IIS, Nginx vb.) denilen istemci ve sunucu arasında bağlantıyı kuran ek yazılımlara ihtiyaç duyar.

Web sunucusuna gelen istekler daha sonra sunucu taraflı çalışan programlama dillerine iletilir ve istenilen komutlar çalıştırılır.

Node.js içerisinde gelen çekirdek modülleri sayesinde ek bir web sunucusuna ihtiyaç duymadan komutların çalıştırılmasını sağlar.

Farkı

Diğer sunucu taraflı çalışan programlama dillerine herhangi bir kullanıcı istekte bulunduğunda sunucu sadece o isteğe cevap verir ve diğer istekler kuyruğa alınır.

Bir isteğin uzun sürmesi diğer kullanıcıları etkiler ancak Node.js komutları bloklamadan işlediğinden işlemi uzun süren komut sistemi yavaşlatmaz ve Node.js diğer kullanıcılara da cevap verir.

Bununla ilgili en güzel örnek yemek sipariş sistemi diyebiliriz.

Klasik sunucu taraflı programlama dilleri bir yemek siparişi geldiğinde sırada duran diğer müşteriler siparişin hazırlanmasını bekler.

Node.js ise herhangi bir yemek siparişi geldiğinde siparişi arka tarafa bildirir ve not alır ve daha sonra sıradaki müşterinin siparişini alır.

Verilen yemek siparişlerinin hangisi daha önce hazırlanırsa o yemek siparişine cevap verir.

Böylece müşteri daha önce ve hızlı hazırlanacak bir yemek için sırada fazladan beklemez.

Bloklamadan işlem yapılmasına non-blocking I/O, ölçeklenebilir uygulama geliştirme gibi çeşitli isimler verilmiştir.

Bu yapı sayesinde anlık mesajlaşma, oyun sistemleri gibi gerçek zamanlı uygulamalar kolaylıkla ve daha az maliyetle yapılır.

Ne yapılabilir

Node.js modüler yapısı ve NPM paket yöneticisi sayesinde diğer geliştiriciler tarafından hazırlanmış modülleri projenize kolaylıkla dahil edebilmenizi ve daha hızlı uygulamalar geliştirmeyi sağlar.

Örneğin; veritabanına bağlanmak için oluşturulmuş modülleri projenize dahil ederek MySQL, SQLite, MongoDB, PostgreSQL gibi veritabanı sistemlerini kullanan uygulamaları kolaylıkla geliştirebilirsiniz.

Node.js Derslerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!