Node.js Nedir ve Avantajları Nelerdir?
İçindekiler
Node JS Nedir?
NodeJS, server-side, runtime environment uygulamalar geliştirebileceğimiz, Javascript ile kod geliştirilmesine imkan sağlayan “Google Chrome’un v8 Javascript Engine” üzerinde çalışan bir platformdur.
NodeJS 2009 yılında Joyent firması tarafından geliştirilmiştir. Açık kaynak kodludur. Google’ın V8 Javascript motorunun sunucu(server-side) tarafında çalıştırılması ile üretilmiştir.
V8 Google tarafından geliştirilen, Chrome web browserlarının da üzerinde çalıştığı C, C++ ve javascript dilleri ile kodlanan bir enginedir. Tek amacı Javascript kodunu makine koduna çevirmektir.
Neler yapılabilir?
Aşağı yukarı her türlü web uygulamaları geliştirilebilirsiniz. Node JS ölçeklenebilir, olay güdümlü (event-driven) asenkron, non-blocking I/O çalışma modelini kullanır. Bu da yüksek performans ile çalışmasını sağlar.
NodeJS yi cazip yapan bir konu ise IIS, Apache gibi yüksek kaynak tüketen web server kullanmak gerekmiyor. NodeJS de uygulama sunucusunu basit bir şekilde kendimiz yazabiliriz.
Gerçek zamanlı (real time) uygulamalar web soket teknolojisi kullanılarak nodeJS ile performanslı bir şekilde yapılabilir.
Linkedin mobil sunucu tarafında nodejs ye geçtikten sonra sunucu sayısını 30 dan 3 e düşürdüğünü ve bazı işlemlerde 20 kata kadar daha hızlı olduğunu açıklamıştır.
Node JS Avantajları?
Eğer projenizin bir front-end kısmı olacaksa, JavaScript kullanmaktan kaçınmanız mümkün değildir. Bu durumda back-end kısmında farklı bir dil kullandığınızda geliştiricilerin birbirinin işini yapması pek kolay olmayabilir. NodeJS ile bütün ürününüzü tek dil ile çıkaracağınız için geliştiriciler arası uyum, anlayış ve işbirliği en üst seviyede oluyor.
Tek bir iş parçacığı (thread) ile bloklanmadan çalışabilme imkanı sunması, onun getirdiği en büyük avantajlardan bir tanesidir çünkü ne kadar çok iş parçacığı (thread) o kadar risk ve yerine göre performans kaybına neden olabilir.
Asenkron mimari günümüz uygulamaları için oldukça uygun. JavaScript’in olay güdümlü (event-driven), asenkron yapısı ise bunu oldukça kolaylaştırıyor. Veritabanı, başka bir web servise erişim vb. konularda, buralardan cevap gelene kadar beklemek yerine yeni istekleri hazırlayabilirsiniz.
Npm package manager sayesinde, node ve npm yükledikten sonra verimli, stabil web servisi geliştirme ortamını bizlere sunmaktadır. Ne yapmak isterseniz isteyin istediğiniz şey büyük ihtimalle modül olarak bulunmaktadır. Npm üzerinden yapacağınız arama ile istediğiniz paketi bulabilir ve kolaylıkla kullanmaya başlayabilirsiniz.
Sonuç
Node JS nedir, büyük ölçekli, ciddi projelerde kullanmak isteyen geliştiriciler için ideal bir platformdur. NodeJS hayatımızı çok kolaylaştıran, servisleri ve web siteleri yazmamızı sağlamaktadır. Projenizi taşımayı düşünüyorsanız, ya da yeni bir projeye başlayacaksanız mutlaka göz atmanızı tavsiye ederim.
Kaynaklar
https://nodejs.org/en/
http://highscalability.com/blog/2012/10/4/linkedin-moved-from-rails-to-node-27-servers-cut-and-up-to-2.html
2 Yorumlar
İlgilenen arkadaşlar framework olarak express ya da hapi.js öneririm.
İlginiz için çok teşekkür ederim. Yorumlara her zaman açığız. Denemekte faide var. İlginenen arkadaşlara tavsiye edelim.