Node.js Nedir?

Node.js, ücretsiz ve açık kaynaklı olarak geliştirilen sunucu taraflı bir framework yapısıdır. Çapraz platform desteğiyle öne çıkan Node.js’i; Windows, Linux, Unix, macOS ve birçok işletim sistemi mimarisi üzerinde sorunsuz olarak kullanabilirsiniz. Sunucu tarafında JavaScript’i kullanan Node.js ile istediğiniz internet projelerini geliştirebilir ve gerçek zamanlı ihtiyaçlara çözüm sunan web yazılımlarını üretebilirsiniz.

İnternette yazılım geliştiricilerinin en sık başvurduğu kurtarıcı framework yapılarından biri Node.js… Hatta belki Node.js en çok tercih edilen framework yapısı bile olabilir. Yüksek performans sunması, kolayca ölçeklenebilir olması, ziyaretçi ile sunucu arasında geçen süreci kısaltılması gibi önemli avantajlara sahip olan Node.js’in webmaster ve geliştiriciler tarafından tercih edilmesinin birçok nedeni var. Modüler yapısıyla gönüllerde taht kurmayı başaran Node.js’i kullanırken NPM paket yöneticisi yardımıyla diğer geliştiricilerin sizler için hazırladığı atıştırmalık hazır paketleri kendi projenize dahil edebilirsiniz.

Node.js bir Framework olarak Ryan Dahl tarafından 2009 yılında geliştirildi. Ryan Dahl, Node.js’i geliştirirken Google Chrome’un JavaScript komutlarını çalıştırma konusunda yardım aldığı V8 JavaScript motorundan yardım aldı. Modifiye ettiği bu motor sayesinde JavaScript kodlarının istemci tarafından sıyrılarak sunucu tarafında çalışması sağlandı. V8 motoru hakkında bilginiz yoksa o da C/C + + ile yazılan JS kodlarını makine diline çevirmemize yardımcı olan bir çeşit yazılım. V8’in yardımıyla komutlar makine koduna çevriliyor ve düşük seviyeli programlama dillerinin hız avantajı kazanılmış oluyor.

İyi de geliştiricilerin Node.js’in sevmesinin nedeni herhalde kara kaşı kara gözü değildir, değil mi? Elbette değil! İşte size Node.js’i leb demeden leblebi olarak anlatacak basit bir karşılaştırmalı örnek:

PHP ve ASP dosya isteğini nasıl işler?

Taslak sunucu bilgisayarının dosya sisteminden gönderilir.
Dosya sistemi açılıp, dosya okunana kadar beklenir.
İçerik istemciye (Client) geri döndürülür.
Bir sonraki işlem sıraya alınır.
Node.js’de dosya isteği nasıl işlenir?

Taslak sunucu bilgisayarının dosya sisteminden gönderilir.
Bir sonraki işlem, işleme alınmaya hazırdır.
Dosya sistemi dosyayı açıp okuduğunda, sunucu içeriği kullanıcıya geri döndürür.
Buraya kadar Node.js’in performans ve bekleme süresini azaltması ve hatta sistem kaynağını bol keseden kullanmayacağını görmüş olduk. Diyelim ki, Node.js’i öğrenmek istiyoruz, öğrendikten sonra Node.js ile neler yapabilir?

Dinamik içeriğe sahip internet siteleri tasarlanabilir.
Sunucu tarafında dosyalar oluşturulabilir, açılabilir, düzenlenebilir, değiştirilebilir, silinebilir ve kapatılabilir.
Node.js yapısı kullanılarak veriler toplanabilir.
Node.js veritabanınız üzerine ekleme yapabilir, düzenlenebilir, değiştirebilir ve silinebilir.
Bir geliştirici olmamanıza rağmen karşınıza node.js dosyaları çıkabilir. Eğer bunun için buraya geldiyseniz, node.js dosyaları hakkında bir şeyler söylememiz faydalı olabilir. Node.js dosyaları, içinde gerçekleştirilecek kesin olayları içeren yürütülebilir dosyalardır ve dosya uzantıları JavaScript dosyalarında olduğu gibi “.JS” biçimindedir. Bu JS dosyaları sunucu tarafında yer alarak içindeki yürütülebilir kod satırlarını çalıştırırlar.

Node.js’in bir değil belki binlerce avantajı var. Fakat bir geliştirici olarak Node.js ile ciddi düşünmeye başlamadan önce onun size neler sunduğu ve öne çıkan avantajlarının neler olacağını bilmelisiniz. Node.js’i daha yakından tanımak isteyenler için sadece bunlar yeterli olmayacaktır. Onun için bir alt başlıkta Node.js’in avantajlarına değineceğiz.

Node.js Avantajları
Node.js, sunucu tarafındaki bekleme süresi kısaltarak bir sonraki istekle devam edilmesini sağlıyor. Single-threaded yürütmesi, engellenememesi, eşzamansız programlanması ve belleği tasarruflu kullanmasıyla dikkat çekiyor. Sahip olduğu karakteristik özellikleri, komutların bloklanmadan işlenmesi ve esnek yapısı, onu performansı yüksek bir framework haline getiriyor. Sonuçta tüm bu artılarını düşünürsek Node.js hem hızlı hem performansı yüksek hem de JavaScript komutlarının esnekliğiyle web yazılım pistinin ayrılmaz bir yarışçısı haline geliyor.

Node.js sunucu taraflı çalışan yazılımların veya web uygulamaların aksine özel ihtiyaçlar listesine sahip değil. PHP ve ASP gibi diller çalışmaları için Apache, IIS ve farklı istemci ya da platformlara ihtiyaç duyuyor. Node.js bu konuda da alçakgönüllülük avantajını elinde tutarak elinizdekiyle idare etmenizi sağlıyor.

Node.js’in yazılımcıların bireysel olarak iş yükünü azalttığı kadar ekip halinde çalışan yazılımcılar için de sunduğu spesiyal avantajlar var. Hazırladığınız yazılımınızın bir arayüzü olacaksa (ki olmadığını şu zamanda düşünemeyiz) Node.js tıkır tıkır yazılım sürecinin işlemesine yardımcı oluyor. Yazılımcılar arasında iletişim kopukluğu minimum seviyeye indirgenmiş oluyor. Hatta bazen arkaplanda yazılan kodlar ufak değişikliklerle önplana aktarılarak arayüze dahil edilebiliyor. Zaten hazırladığınızın yazılımının arayüzünde JavaScript kullanmama ihtimaliniz pek olası değil. Node.js ile bu eksiklik gideriliyor ve ekip üyelerinin birbirini daha iyi anlaması, çözüm odaklı geliştirmeler yapılması sağlanıyor.

Bir web tabanlı yazılım geliştiriyorsak, bu yazılımın verilerimizi güvenli veritabanı ortamına iletmesi gerekecek. Node.js veri işlemesi konusundada MongoDB desteğiyle sorunları çözüme kavuşturma yeteneğine sahip. NoSQL yapısının en popüler seçeneği olan MongoDB’yi Node.js ile kullanarak JSON olarak verilerinizi saklayabilirsiniz. Sadece MongoDB değil, Node.js’i kullanarak veri işlemenize çözüm üretebileceğiniz birçok çıkış yolunuz var.

Çok bahsetme fırsatımız olmadı fakat Node.js’in modüler yanını es geçmemeliyiz. Node.js’in yapı taşı modüler olması temelleri üzerine inşa edilmiş. Projeleriniz için ihtiyaçlarınızı karşılayabileceğiniz binlerce modül var. Açık kaynağa gönül vermiş bir Framework olması Node.js’in taraftar safının kalabalık olduğu anlamına geliyor. Yerli ve yabancı olarak aktif şekilde online mecralarda yer alan Node.js destekçilerine her yerde rastlamanız mümkün. Hareketli bir topluluk soru/cevap ilişkisinin daha hızlı yürümesine yardımcı oluyor. İşin içinden çıkılmaz durumlar için ise global olarak Node.js topluluklarından yardım almak çocuk oyuncağı.

Node.js ile Yapılmış Siteler
Açık kaynağın babalarından ve Linux çekirdeğinin emektarı Linus Torvalds’ın dediği gibi “Talk is cheap. Show me the code.” Yani; “Konuşması kolay, bana kodu göster.”… Node.js ile interaktif internet sayfaları ve web yazılımları yapılandırabileceğinizden söz etmiştik. Node.js ile yapılmış bazı büyük internet sitelerine göz atmaya ne dersiniz?

event_note Mart 2, 2018

account_box admin

Bir cevap yazın

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