Node.js, Google Chrome'un JavaScript Motoru (V8 Motoru) üzerine kurulmuş açık kaynaklı bir platformdur. JavaScript kodunu bir web tarayıcısı dışında yürütür ve ölçeklenebilir ağ uygulamaları oluşturmak için tasarlanmıştır. Olay güdümlü, engellemeyen bir Girdi / Çıktı modeli kullanır ve Ruby'nin EventMachine ve Python'un Twisted'larından etkilenir. Node.js, geliştiricilerin komut satırı araçları yazmak ve her bir müşterinin web sitesine yönelik isteği için özelleştirilmiş bir yanıt üretmek üzere bir web sunucusundaki komut dosyalarını kullanan sunucu tarafı komut dosyalarını kullanmak için JavaScript'i kullanmasına olanak tanır.
Node.js, 2009 yılında Ryan Dahl tarafından geliştirilmiştir. İlk sürüm yalnızca Linux ve Mac OS X'i desteklemektedir. JavaScript kodu için standart dosya adı uzantısı .js olmasına rağmen, Node.js adı belirli bir dosyaya atıfta bulunmaz ve yalnızca Ürünün Adı.
Node.js nasıl çalışır?
Sunucu motoru, olay tabanlı, engellemeyen bir G / Ç modeli kullanır, yani JavaScript'in makine diline uyarlanması daha kolaydır ve kod hızlı ve basit bir şekilde yürütülebilir. Her isteğin yeni bir iş parçacığı oluşturduğu geleneksel web hizmeti teknikleriyle karşılaştırıldığında, Node.js tek iş parçacıklı bir olay döngüsü üzerinde çalışır. Bu, sunucuların engellemesiz bir şekilde yanıt vermesine yardımcı olur ve sunucuyu yüksek düzeyde ölçeklenebilir hale getirir.
Node.js, Node Package Manager (NPM) kullanarak paket yönetimi için yerleşik desteğe sahiptir. Her Node.js kurulumuyla birlikte gelen varsayılan bir araçtır. NPM, belirli gereksinimlere göre milyonlarca ücretsiz indirilebilir kitaplık içerir. Herkes, NPM havuzunda listelenmek üzere kendi modülünü yayınlayabilir. Popüler NPM modülleri şunları içerir:
- Ekspres: Sinatra'dan ilham alan bir web geliştirme çerçevesi (evet, Ol 'Blue Eyes olarak adlandırılan bir programlama dili var)
- Hapi: Web ve hizmet uygulamaları oluşturmak için modüler konfigürasyon merkezli bir çerçeve
- Sosyal medya: Ara yazılım olarak bilinen bir eklenti koleksiyonu sağlayan genişletilebilir bir HTTP sunucu çerçevesi
- Redis: Redis istemci kitaplığı
- Sonsuza dek: Belirli bir düğüm betiğinin sürekli çalışmasını sağlamak için en yaygın yardımcı programlardan biri
- Moment: Tarihleri ayrıştırmak, doğrulamak, değiştirmek ve biçimlendirmek için bir JavaScript tarih kitaplığı
Node.js kullanır
Node.js şunlar için kullanılabilir:
- Sosyal medya ağı için arka uç
- Tek sayfalı uygulama geliştirme
- Chatbots
- Veri akışı
- IoT uygulama geliştirme
- Veri yoğun gerçek zamanlı uygulamalar
Yoğun CPU uygulamaları için Node.js kullanılması tavsiye edilmez.