Blog
Node.js nedir sorusu günümüzde yazılımların kendilerini güncellemesiyle birlikte oldukça fazla sorulmaya başlanmıştır. Node JS, son yıllarda en popüler teknolojilerden biridir ve şu anda eBay veya AliExpress gibi dünyaca ünlü web siteleri için node js backend olarak kullanılmaktadır. Node JS kullanıcıları arasında Netflix, Uber, LinkedIn ve hatta NASA gibi platformlar da bulunuyor. 2018’de 23 milyon geliştirici Node JS kullanıyordu ve kullanıcı listesi büyümeye devam ediyor. Node JS, Google’ın V8 motoru için geliştirilmiş açık kaynaklı bir Javascript çalışma zamanı ortamıdır. Ölçeklenebilir web uygulamaları, Node JS kullanılarak hızla geliştirilebilir. Olaya dayalı blokajsız G/Ç modeli, veri yoğun gerçek zamanlı uygulamalar için kolay ve verimli bir şekilde kullanılabilir.
Node JS Nasıl Çalışır?
Sunucu motoru, olaya dayalı ve engelleme yapmayan bir G/Ç modeli kullanır. Kod çok hızlı çalıştığı için JavaScript’in benimsenmesini kolaylaştırır. JavaScript ve Node JS sayesinde kod, sunucu istemcisi yönünde daha hızlı çalışır. Bu, web uygulamalarının yeni bir performans düzeyi sunduğu anlamına gelir. Node JS, Google’ın V8 Javascript motorunda çalışır. Burada web uygulaması olay tabanlıdır. Node JS platformu bir “tek iş parçacıklı olay döngüsü” kullanır. “Çok iş parçacıklı istek-yanıt” mimarisi de aynı anda birden çok iş parçacığını işleyemeyen çok yavaş bir olay döngüsüdür. Platform bir istek/yanıt modeli değil, daha basit bir tek iş parçacıklı olay döngüsü modeli kullanır. Bu amaçla, Node JS geliştiricilerine Libuv kitaplığı sağlanmıştır.
Node JS Mimarisi
Her isteğin sistem RAM’inde yeni bir iş parçacığı oluşturduğu geleneksel web hizmeti tekniklerinden farklı olarak, Node JS tek bir iş parçacığı kullanır. Bu, aynı anda yüzlerce bağlantıyı işlemesine izin verir. Node JS, npm kullanarak paket yönetimi desteği de sağlar. Popüler paket kitaplığı npm, Node JS geliştiricileri için en büyük kolaylıklardan biridir. Belirli ihtiyaçlar için milyonlarca indirilebilir kitaplık vardır. Bu harika kütüphanelerin bir diğer özelliği de ücretsiz olmalarıdır. Bugün, tüm bu kütüphaneler hızla büyüyor ve Node JS, topluluğu daha güçlü hale getiriyor. Dünyanın her yerindeki açık kaynak geliştiricileri, paketleri paylaşmak veya ödünç almak için npm kullanır. 11.0 güncellemesi ile Node JS, yerel Node.js kullanarak daha kararlı hale geldi. Avustralya’da daha iyi performans ve daha iyi hata yapmak da mümkündür. Günümüzde sıklıkla kullanımda olan npm modelleri arasında Meteor.js, Kod.js, Express.js, Mongo.js, Hapi.js, Sails.js, Socket.js, Loopback.js modülleri yer almaktadır. Bu npm modüllerini tercih ederek projelerde yüksek hız ve performans elde etmek, zamana dayalı işlemleri otomatik hale getirmek veya büyük bir test laboratuvarı oluşturmak son derece mümkün bir hale gelmiştir.
Node JS Ne İçin Kullanılır?
Node JS ile neler yapılabilir? İlgili alt yapısıgeliştiriciler için sınırsız ortam sağlar. Bugün Node.js’yi çok başarılı bir şekilde kullanan birçok platform var. Bunlara sosyal medya ağları, tek sayfalık uygulamalar, sohbet uygulamaları, veri akışı ve IoT uygulamaları dahildir.
Sosyal Medya Uygulamaları
LinkedIn ve Medium gibi birçok sosyal medya platformu Node.js kullanılarak yeniden düzenlendi. Node.js, V8 motoru sayesinde çok hızlı yönlendirme ve güvenli kimlik doğrulama sağlar. Ayrıca sosyal medya platformlarında kullanılmasının en büyük nedenlerinden biri ölçeklenebilir olmasıdır.
Tek Sayfa Uygulama Geliştirme
Tek sayfalık uygulamalar, tek sayfalık web siteleri gibi masaüstü uygulamalarına çok benzer bir şekilde geliştirilebilir. Bu platformun sağladığı özellikler sayesinde dinamik web siteleri ve mailini çözümlerinde oldukça başarılıdır. Asenkron veri akışı kalitesi sayesinde tek sayfalık uygulamalar geliştirilebilir.
Chatbot
Platform, canlı sohbet uygulamaları veya chatbotlar için önemli avantajlar sunuyor. Çok kullanıcılı uygulamalar, büyük veri ve yüksek trafik gibi özellikler sohbet robotları için olmazsa olmazdır. Node JS’nin farklı cihazlarda çalışabilmesi de büyük bir avantajdır. Anlık bildirimlerin çok kolay çalıştırılması ve sunucu tarafında olay döngüsü olması nedeniyle gerçek zamanlı uygulamalarda tercih edilmektedir.
Data Streaming
Günümüzün en popüler platformlarından biri olarak kabul edilen Netflix, 190 ülkede 120 milyondan fazla kullanıcıya 100 milyon saatin üzerinde içerik sunmak için Node JS’yi kullanıyor. Dosyaları çok hızlı işlemesi ve kolayca kodlanabilmesi nedeniyle bu alanda tercih edilmektedir. Ayrıca çok sayıda videoya sahip birçok e-ticaret firması bu özelliklerinden dolayı Node JS’yi tercih etmektedir.
IoT Uygulamaları
Son on yılda, IoT cihazları inanılmaz bir hızla gelişti ve herkesin hayatına girmeye başladı. IoT çözümleri için en popüler çözümlerden biri Node JS’dir. Bu platform sayesinde Node JS, olay odaklı sunucu mimarisine ve IoT ağlarında I/O işlemlerinin asenkron çalışmasına olanak tanır. Ayrıca, yazılabilir ve okunabilir kanalların ve yayınların yönetimini sağlayan Node JS, IoT uygulama geliştirme alanında en popüler platformlardan biri haline geliyor.
Node.js Nasıl Kurulur?
Node.js kurulumu yapmak için aşağıda verilen adımları dikkatle takip ediniz.
Hızlı bir şekilde Node.js dosyalarını kurmak için öncelikle Node.js Downloads sayfasına giriş yapın. Daha sonra kullanmış olduğunuz işletim sistemine en uygun yükleme dosyasını indiriniz. Kurulum işlemi tamamlandıktan sonra konsol ekranına giriş yapın ve node -v komutunu çalıştırın. Ekranda sürüm numarasını görüyorsanız node.js kurulumu tamamlanmıştır.
Node.js’yi kurduğunuzda, onunla npm uygulaması da yüklenecektir. npm -v komutu ile bilgisayarınızda kurulu olup olmadığını kontrol edebilir, aktif olarak kurulmuş npm sürümünü görebilirsiniz. Bu satırı çalıştırdığımızda node.js içerisinde version çıktısını veriyor.
NOT: React, Vue.js, Angular vb. Platformlar minimum node.js veya npm sürümü gerektirebilir. Bu durumun geliştirmeden önce dikkate alınması gerekebilir.
Sizlerde İakademi Node.js ve Javascript kurslarını tercih ederek günümüzde yaygın olarak teknolojileri yakından öğrenebilirsiniz. Kurumumuzda bulunan ders içeriklerinin tamamı güncel müfredata uygun olarak sürekli olarak güncellenmektedir.