NodeJS’le tanışın!

Kod kısmına bir anda girmeyeceğim önce nedir ne değildir avantajları neler dezavantajları neler neden kullanmalıyız kısmını bir öğrenelim sonrasında öğrenme kısmına geçeriz. Öncelikle nedir kısmına geçelim;

NodeJS Nedir?

NodeJS 2009 yılında Joyent firmasında çalışan Ryan Dahl tarafından geliştirilen JavaScript çalışma ortamıdır.(Javascript Runtime Enviroment). Joyent firmasının desteği ve V8 motorunun gücü ile Dahl Javascript’i Backend kısmına taşıdı. NodeJS, Chrome web tarayıcısının da üzerinde çalıştığı gibi, V8 JavaScript motoru üzerinde çalışan, event-driven, nonblocking I/O modeli kullanan, ölçeklenebilir uygulamalar geliştirmek için dizayn edilmiş bir platformdur.

“Nodejs backend tarafında çalışan, javascript tabanlı scriptleri yorumlanabilen ve çalıştırabilen, hızlı, ölçeklenebilir  network uygulamaları geliştirmeyi sağlayan bir çalışma zamanı ortamıdır(runtime enviroment).”

İyi de nasıl çalışıyor?

Nasıl çalışıyor kısmına bodoslama dalmacan önce V8 JavaScript motorundan biraz konuşalım. V8 daha öncede belirttiğimiz gibi Chrome web tarayıcılarının da üzerinde çalıştığı Google tarafından geliştirilen , C/C++ ve JavaScript dilleriyle geliştirilen esasında yaptığı iş JavaScript kodunu makine koduna (native machine code) çevirmek olan bir JavaScript motoru. NodeJS’de bu yüksek performanslı JavaScript motorunun üzerine inşa edilmiş bir platform. NodeJS şu anda Windows, Mac ve Linux ortamlarına kurulum paketleri mevcut. Kurulum detayları için http://nodejs.org/ adresini ziyaret edebilirsiniz.

NodeJS platformunda iş parçacığı mantığının yerine her bir olayın sıraya atılarak işlenmesi söz konusu. Non-blocking I/O yapısı ile birleşince bu yapı yüksek performanslı uygulamalar çıkarmamıza, düşük özellikli sunucularla bile milyonlarca web istemini (web request) karşılamamıza imkan sağlıyor. JavaScript’in doğasında olan asenkron programlama yapısı da bu modele bire bir uyum sağlıyor.

Bu Javascript nedir peki? Diyecekleri şuraya alayım; JavaScript Nedir? 

Frontend & Backend kavramını henüz öğrenmeyenleri de şuraya alayım; Frontend & Backend Kavramı 

Avantajları nedir ?

Basit bir örnek:  Tezgahın arkasında hizmet veren çalışanları dikkatli bir şekilde gözlemlerseniz hiç bloklanmadan çalıştıklarını görürsünüz. Sıradaki kişiye ne sipariş vereceği sorulur ve sonra alınan bu siparişi arka tarafa aktarılır ve hemen sıradaki diğer müşteriyle ilgilenir; Cafe Latte hazırlanınca kahveyi müşteriye verir (callback). Bu noktada Cafe Latte’nin hazırlanması bloklayıcı bir işlemdir  ama bu bloklanma diğer müşterileri kabul etmemeye neden olmamaktadır. Bu akışta 1 çalışan birden çok kişiye bloklanmadan hızlı bir şekilde cevap verebilir.

Dezavantajları nedir ?

NodeJS henüz çok genç bu yüzden klasik teknolojilerde ki gibi uygulama geliştirme rahatlığı NodeJS dünyasında henüz yok.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


Günlük 1 İpucu

Tarayıcınızda o anki güncel sekmeyi kapatmak için CTRL + W kısayolunu kullanabilirsiniz.