Node.js Ryan Dahl tarafından geliştirilmiş web sektörünün tamamında kullanılan Javascript’in sadece kullanıcı tarafından kullanılabilmesine neden olan eksikliği doldurmuş bir Back End dilidir. Node.js ortaya çıkmadan önce Javascript sadece kullanıcı tarafında kullanılabiliyordu. Bu butona tıklandığında şu olsun vb şekillerde bazı eventler tanımlanarak sadece kullanıcıların karşısına çıkan sayfalar üzerinde çalıştırılabiliyordu.
Node.js ortaya çıktıktan sonra artık Javascript sadece kullanıcı tarafında kullanılan basit bir programlama dili olmaktan çıkarak veri tabanı işlemleri gibi Back End işlemlerinin yapılabildiği bir dil haline gelmiştir. Javascript neden popüler şeklinde bir soru soracak olursanız da öğrenmesi kolay, olay tabanlı ve arkasında büyük bir topluluk olan bir dil olması denilebilir. Çünkü Javascript gördüğünüz tüm web sitelerinde kullanıldığından oldukça yaygın ve daha önce karşılaşılmış problemlere çok kolay çözümler bulabileceğiniz bir dildir. Bu çevreyle birlikte Node.js de oldukça destek almış ve yaygınlaşmıştır.
Node.js Avantajları
Node.js’in en büyük avantajı bloklamadan işlemleri yürütmesidir. Normal bir web sitesine gönderdiğiniz istekler veri tabanından ilgili kayıt gelene kadar bekleyip diğer istekleri durdururken Node.js anlık olarak birden fazla işlem yaparak diğer isteği buloklamadan cevaplayabilmektedir. İnternet üzerinde gördüğünüz chat sistemlerinin çok büyük bir kısmı Node.js ile kodlanmıştır.
Bu tür chat sistemlerinde Socket.io kullanılarak Web Socket teknolojisiyle anlık bilgi akışı sağlanmaktadır. Node.js’in ne kadar sade, kolay ve anlaşılır olduğunu görmek için Socket.io linkine gidip ana sayfasındaki örnek kodu inceleyebilirsiniz. Bir MVC projesi oluşturmak istediğinizde Binlerce dosyayla uğraşıp saçma sapan hataları gidermeye çalışırken Node.js kullanmak için bir .js uzantılı dosya açıp direkt kod yazmaya başlayabilirsiniz.
Ben web sektörüne ilk adımlarımı .net core mvc ile atmıştım. Back End yazmak o zamanlar bana mvc sebebiyle işkence gibi geliyordu. Node.js ile tanıştıktan sonra Back End tarafında neredeyse her şeyi kolay bir şekilde yapabilir hale geldim. Bunları Node.js tutkunu biri olarak yazmıyorum. Javascript tutkunu biri olarak yazıyorum. Hiç Node.js bilmeyen birisi bile javascript bilgisiyle Back End yazabilir ancak mvc ile yazamaz. Avantajları toparlamak gerekirse:
- non-blocking I/O (Okuma yazma işlemlerinde sistemi bloklamaz)
- Çok büyük verilerle işlemler yapılabilir.
- NO SQL ile tamamen uyumlu bir yapıdadır.
- Olay tabanlıdır.
- Javascript kullanılır
- Öğrenmesi kolaydır ve hiç karmaşık değildir
- Çok hızlıdır
- Arkasında büyük bir topluluk ve destekçi vardır
- En popüler dillerdendir (stackoverflow.com)
- Hem linux hosting hem de windows hosting üzerinde çalışabilir ve neredeyse tüm paneller tarafından desteklenir.
Bu şekilde onlarca avantaj sayabiliriz. Node.js Javascript kadar zevkli ve kolay bir programlama dilidir. Ayrıca Google, Apple, Linkedin vb birçok platform Node.js kullanmaktadır.
Node.js Ne İçin Kullanılır?
Önceki paragraflarımızda da bahsettiğimiz gibi Node.js Back End tarafında kullanılan ve javascript ile çalışan bir Back End dilidir. Veri tabanı işlemleri gibi Back End gerektiren işlemlerin yapılabilmesini sağlar. Gördüğünüz chat sistemlerinde siz ve karşı tarafın arasındaki bağlantı, bir web sitesine girdiğinizde içeriğin size gösterilmesi, kayıt ekleme – silme – güncelleme gibi işlemler vb alanlarda kullanılır.
Hangi Yazılım Dilini Öğrenmeliyim? Şeklinde soracak olursanız tavsiyem web sektöründe Javascript öğrenmeniz zorunlu olduğundan Javascript’i Back End tarafında da kullanarak Node.js ile devam etmeniz olur.
Node.js Zor Mu?
Kesinlikle hayır. Hatta Back End dillerinden en kolaylarından birisidir. Bazı dilleri bilseniz dahi kod yazarken zorlanabilirsiniz ancak bazı diller de Senior derecesinde kod yazmak için yıllarınızın gitmesine gerek kalmaz. Node.js’de işte tam olarak bu tarza bir dildir.
Ben mvc den Node.js’e geçerken korkmuştum ancak 20 şer dakikalık 10 video ile Node.js öğrendim ve Node.js üzerinden devam ettim. Anlaşılması kolay, hata çözümleri yaygın, büyük bir topluluğun desteklediği ve öğrenilmesi kolay bir Back End dilidir.
Sonuç
Sonuç olarak Node.js Javascript kullanarak veri tabanı işlemleri gibi Back end işlemlerini yapabileceğiniz yaygın, kolay, hızlı ve güçlü bir Back End dilidir. Javascript her geçen gün popülerleşen ve destekçisi artan yaygın, güncel ve çok platformlu bir teknolojidir. Javascript ile mobil uygulama, masaüstü uygulama ve web uygulamalarınızı yapabilirsiniz. Node.js Nedir? Node.js farklı dillerde yaşadığınız sorun ve zaman kayıplarına bir çaredir. Başka bir Back End dili öğrenmeyi ddüşünüyor veya yeni başlıyorsanız Node.js’i tercih etmenizi kesinlikle tavsiye ederim.