Google’nin Geliştirdiği Yepyeni dili : Node.js

5 dk okuma süresi
2,424

Bir Dönem internette deli gibi dolanan bir haber vardı: “Google keni Dilini OLuşturdu.” diye.
Gelin bu konuyu hep beraber inceleyelim..

Node.js nedir ?

Node.js ne işe yarar ?

Node.js ne kadar kullanışlı ?

Node.js öğrenmesi zor mu ?

Node.js avantajları nelerdir ?

Node.js için hazır paketler varmı ?

 

Node.js Nedir ?

Node.js, 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. Şöyle bir örnekle size açıklayalım.

Aklınızda bir sosyal medya platformu olan bir web site fikri var. bunun içinde mesaj atma-alma,bildirim paylaşma-paylaşılan bildirimleri görme, telefon görüşmesi, zaman senkronizesi gibi birçok panelin olduğu bir site düşünüyorsunuz. bunların hepsini yapmanız ve sistemin sağlıklı çalışması için yüzlerce sunucuya ihtiyacınız olacak. bunun maliyetinin nekdar olacağının hesabını size bırakıyorum. Peki bunun node ile alakası ne  yada diğer teknolojiler bu konuda yetersiz mi kalıyor ? elbetteki yetersiz kalmıyor. ama diğer dillerde ayrı ayrı sunucularda çalışmak gerekirken Node.js’de olay biraz hoşumuza gidecek şekilde işliyor.  Diğer teknolojilerle , en basitinden eş zamanlılık (concurrency) problemlerinin üstesinden gelmeniz gereklidir. Ayrıca klasik teknolojilerde uygulamayı ölçeklenebilir bir şekilde yazmakta son derece dikkat isteyen (Thread kullanımı) bir konudur. Node.js’yi tek kelime ile anlatmak yetersiz olabilir ama eğer tek kelimeyle anlatmak gerekirse javascriptin sunucu tarafında çalışan hali diyebiliriz.

Diğer teknolojilerde üzerinde bulunduğumuz sunucuda çalışıyorken Node.js’de kendimiz bir sunucu oluşturuyoruz. Buda çk büyük para ve zaman kazanıyoruz demek.

Örnek bir kodunu da sizinle hemen paylaşayım.

var http = require(‘http’);
http.createServer(function (req, res) {
res.writeHead(200, {‘Content-Type’: ‘text/plain’});
res.end(‘mühendis Arşivi\n’);
}).listen(1337, ‘127.0.0.1’);
console.log(‘Server running at <a href="http://127.0.0.1:1337/">http://127.0.0.1:1337/</a>‘);

Kodumuzun ne işe yaradığını ilerleyen makalelerde anlatacağım.

Node.js ne işe yarar ?

Node.js temel olarak web tabanlı çalışan yeni bir teknolojidir. PHP veya java ile yapacağımızı uzun ve kafa karıştırıcı kod yapılarını  Node ile çok rahat bir şekilde yazılabilir. hatta yazmayı da bırakın binlerce paketten birini import ederek kullanabilirsiniz.

 

Node.js ne kadar kullanışlı ve zormu?

Node.js’ın alt yapısında Chrome tarayıcısının için tasarlanan yüksek performanslı V8 Javascript motorun kullanmaktadır. Yani Node.js tüm alt yapısını Chrome için yazılan V8 Javascipt motorunu üzerinde inşa etmiştir. Diğer teknolojilerle kıyasladığımızda çok fazla değişik yanları olmadığı için çabuk  öğrenirsiniz. Daha önce PHP ile günlerce uğraştığınız basit bir chat programını Node ile saatler içinde yapabilirsiniz. (ben abartıyorum, yarım saatinizi almaz. )

Node.js avantajları nelerdir ?

bir Restorant Tezgahın arkasında hizmet veren çalışanları dikkatli bir şekilde gözlemlerseniz hiç bloklanmadan çalıştıklarını görürsünüz.

Yani 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.

 

 

Bu örneği yazılım dünyasına uyarlarsak; Cafe Latte’nin hazırlanmasını veritabanından veri çekmeye
benzetebiliriz; veritabanı işlemleri uygulama açısından bloklayıcı bir işlemlerdir. Eğer uygulamayı node.js ile yazarsanız, veritabanındaki bloklanma diğer kullanıcılara hizmet vermenizi etkilemeyecektir. Javascript ‘ın Callback yaklaşımı işte bu noktada çok iyi çözüm olmaktadır.

Node.js aynı starbucks çalışanı gibi bir hareket eder. Javascript’ın sunduğu ‘event driven‘ yapı sayesinde akışın bloklanma problemi ortadan kalkar. Buradaki en iyi nokta ise bu işlerin sadece BİR  iş parçacığı (thread)  ile gerçekleştirilmesidir.

Node.js için hazır paketler varmı ?

 

elbetteki var. Hatta en çok paketler bu dilde var. eğer kullanmayı düşünüyorsanız sizin için çok kullanışlı olacak paketleri web sitesinde mevcut.

Dilerseniz diğer diller ile paket karşılaştırmasını hep beraber yapalım.

Node.js

 

En çok paketi olan dil ise roby

 

arada ne kadar  fark olduğunu kendiniz inceleyebilirsiniz.

Bugünkü makalemiz burada sona erdi. başka bir Node.js makalesiyle görüşmek üzere

Daha Fazla İlgili Makale Yükleyin
Daha Fazla Yük Bilgisayar Mühendisliği

Bir cevap yazın

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

Ayrıca Kontrol Edin

GeForce Now Türkiye’de Beta Erişimine Açıldı!

Oyuncuların rüyası gerçek oluyor! Bulut oyun platformu Nvidia GeForce Now Türkiye sunucusu…