Yeni Başlayanlar İçin Node.js

Mustafa Erdem Köşk - 20/08/2018
yeni-baslayanlar-icin-nodejs

Herkese Merhabalar,

Yazılım sektörü için konuşmam gerekirse, son zamanlarda trend akımlardan biri olan javascript dünyasına bir giriş yapmak istedim. Günümüzde çok hızlı büyüyen dillerin başında node.js geliyor desek sanırım abartmış olmayız. Siz bu yazıları okurken bile npm (node package manager) dünyasında bir sürü yeni paket kullanıcılar tarafından eklenmiş olabilir smiley  Şuan için npm'de 700.000'den fazla kullanımınıza açık ve işinizi kolaylaştırmayı hedefleyen paket bulunmaktadır. NPM

 

Şimdi gelelim nedir bu Node.js ne işe yarar yada neden tercih etmeliyim? Güçlü yanları neler zayıf yanları nelerdir? Bunların üzerinde konuşmaya.. 

Artıları

 1)Asenkron olarak çalışan çoklu event yapılarının tamamında performans canavarı olan Node.js küçük yoğunluk ancak yüksek istek gerektiren işler için bulunmaz bir nimet konumundadır.

2) Javascript ve Typescript temelli olduğundan dolayı frontend teknolojilerine hakim biri çok rahatça backend tarafında kod geliştirmeye hazırdır. Bu baştan aşağı tüm sitenizi yada programınızı tek dil bilerek halledebileceğiniz anlamına gelmektedir.

3) Asenkron çalışması başta çok kafa karıştırıcı gelse de alışık olduğumuz program yapısı açısından ufkumuzu açması nedeni ile oldukça başarılı buluyorum. Temelinde kahve dükkanlarındaki sistemin bir benzeri gibi düşünebileceğimiz bu yapı biri işlemin yapılmasına kadar geçen sürede elinizi kolunuzu bağlamaz. (Threadlerle biz bunu zaten yapıyoruz diyeceksiniz hakkınız var )

Siz yeni bir kahve için sipariş vermek istediğinizde siparişiniz sizden alınır ancak sizin kahveniz yapılana kadar sistem sizin kahvenizi beklemez.(Keşke bekleselerlaugh)

Başka bir üretici tarafından kahveniz üretilirken yeni bir müşteriden yeni sipariş alınmaya devam etmektedir. Kahveniz olduğundan (callback) aracılığı ile size söylenir ve bu sayede kahvenizin olduğundan haberdar olursunuz. Şimdi kafanızda bişiler canlandığını görür gibiyim wink 

Tek bir iş parçacığı (thread) ile bloklanmadan çalışabilme imkanı sunması, onun getirdiği en büyük avantajlardan biri olduğu su götürmez bir geçrektir. Çünkü ne kadar çok iş parçacığı (thread) o kadar risk ve yerine göre performans kaybına neden olabilir.

Eksileri

1) Klasik programlama dillerinin aksine Node.js başlangıçta kulağa çok güzel gelsede aktif şekilde kod yazmaya başladığınızda şunu görüyorsunuz ki anonim methodlar ve callback yapıları bir yerden sonra kodu okumayı, ilk bakışta rahatça göz gezdirmenizi güçleştiricek hale getiriyor. Kod bir yerden sonra o kadar hızlı kontrol edilmez boyutlara gelmeye başlıyor ki sürekli kafanızın karışması kaçınılmaz görünüyor.

 

 

"Node.js serüvenime son hız devam ediyorum. Asenkron yapısı kafa karıştırsa da klasik programlama dillerine göre kolay ölçeklendirilmesi ,arkasında çok ağır ve hantal bir framework olmaması çok büyük artıları diyebilirim"

 Ufak tefek kendi projelerimde kullanmaya başlıyacağım Node.js ile beraberliğim umarım çalkantısız şekilde devam eder . Kendinize çok iyi bakın! smiley