Merhabalar bu yazımda IT Kavramları arasında ele alıp üzerine fikirlerimi paylaşmak istediğim konu Node JS olacak.

Javascript programlama dili bildiğiniz üzere eskiden sadece istemci tarafında (client-side) çalışan bir dildi. Chrome’un V8 motorunun sunucu tarafında kullanılabilir hale gelmesiyle birlikte büyük bir evrim geçirdi. Bu değişim, Node.js’in ortaya çıkmasına ve JavaScript’in istemci tarafının ötesinde sunucu tarafında da güçlü bir dil haline gelmesine yol açtı.

Node.js, bu motoru temel alarak sunucu tarafında JavaScript çalıştırmamıza imkan tanıyan bir çalışma zamanı ortamıdır.

Artık sadece JavaScript bilerek, React gibi popüler JavaScript kütüphaneleri ve framework’leri kullanarak full-stack web uygulamaları geliştirebilirsiniz. Node ve React ile bir startup fikrinizi hızlıca hayata geçirebilir, MVP’nizi oluşturup yayınlayabilirsiniz.

Asenkron Çalışma ve Non-Blocking Yapısı

Node.js’in en büyük kozlarından biri ise asenkron çalışma ve non-blocking yapısı.

Bu kavramları tam anlamak için bir kargo şirketinin dağıtım merkezini düşünün. Müşteriler çeşitli yerlerden paketlerini gönderiyorlar ve bu paketler dağıtım merkezine gelip işlenmeyi bekliyor.

Geleneksel bir senaryoda, her bir paketin işlenmesi bitene kadar diğer paketler beklemek zorunda kalırız. Ancak asenkron ve non-blocking özellikleri ile Node.js, bu süreci optimize eder. Diyelim ki bir paketin adres etiketi okunduğunda, bu işlemi beklemek yerine hemen bir sonraki pakete geçebilir ve diğer işlemleri sırayla halledebilir.

Bu örnekte, asenkron bir şekilde paketleri işleyerek diğer paketlerin işlenmesini beklemek zorunda kalmıyoruz. Her bir paketin işlenmesi sırasında diğer paketlerin işlemleri de devam edebiliyor.

Aynı zamanda, birden çok kullanıcıya hızlı cevap verebilme özelliği sayesinde ölçeklenebilirlik konusunda da başarılı. Diğer teknolojiler (Python, Asp.Net, Java, Php, Ruby gibi) tabii ki ölçeklenebilirlik sorununu çözebilir, ancak genellikle daha maliyetli olur. Bu yüzden büyük oyuncular, özellikle LinkedIn ve Netflix gibi, Node.js’i tercih ediyor.

Modüler Yapı ve Package Manager’lar

Node.js’in bir diğer büyük avantajı ise modüler yapısı ve npm (Node.js Package Manager) ile entegrasyonu. Bu, projelerinizi daha yönetilebilir hale getirir. Şu an içinde 1 milyondan fazla paket barındıran npm, açık kaynak topluluğu tarafından geliştirilen bir depo gibidir.

Sonuç olarak, Node.js’i kurarız ve o bize ihtiyaç duyduğumuz her şeyi sunar. Projelerimizi ayağa kaldırır, istek yönetimlerini yapar ve biz geliştirirken sıkılmayız.

İşte bu, Node.js’in kendi sınırlarını aşan ve geliştiricilere geniş bir esneklik sağlayan bir teknoloji olmasının temelidir.

NodeJS geliştirme dünyasına girdiğimizde anlatılacak çok fazla özelliği olan bir teknoloji ancak genel itibariyle nereden doğdu neden doğdu bu yazı bunu anlamak içindi.

Bir sonraki yazımda görüşmek üzere.


Murat Bilginer
21 Şubat 1992'de doğdum. Endüstri Mühendisi olarak lisansımı 2016 yılında tamamladım. Industryolog Akademi - NGenius oluşumlarının kurucusuyum. Şu anda kendi şirketim Brainy Tech ile Web ve Mobil Geliştirme, AWS, Google Cloud Platform Sistemleri için DevOps, Big Data Analiz ve Görselleştirme hizmetleri sunmakta ve Online Eğitimler vermekteyiz.