Node.js

Node.js, JavaScript'i sunucuda çalıştıran araçtır ve böylece tek bir dil hem müşterinin gördüğü ekranı hem de arkasındaki sistemi yürütür.

Şu adla da bilinir Node sunucu tarafı JavaScript NodeJS

Tanım

Node.js, JavaScript'in bir sunucuda çalışmasını sağlar ve bunun önemi, JavaScript'in eskiden nerede yaşadığını hatırlayınca anlaşılır. Yıllarca yalnızca tarayıcının içinde çalıştı ve orada menüleri oynatıp gönder tuşuna basmadan önce formunuzu denetlerdi. Node aynı dili alıp sitenin arkasındaki makineye taşıdı; fiyatları, siparişleri ve müşteri listesini tutan makineye. Böylece artık tek bir dil iki tarafı birden yürütüyor.

Bunun ilk sonucu makinelerle değil insanlarla ilgilidir, çünkü JavaScript bilen bir ekip iki tarafta da çalışabilir. Küçük bir değişiklik artık iki uzman ve iki toplantı istemez, böylece küçük bir ekip büyük bir sistemi ayakta tutar.

İkinci sonuç beklemeyle ilgilidir ve bir sunucunun yaptığı işin çoğu zaten beklemektir. Veritabanını bekler, ödeme şirketini bekler, cevap verecek başka bir servisi bekler. Eski sistemler bekleyen her ziyaretçiye ayrı bir işçi verirdi ve bu işçilerin her biri cevap gelene kadar boş boş dururdu. Node ise tek bir işçi tutar ve önceki iş beklerken ona bir sonrakini başlatır. Bu yüzden binlerce açık bağlantı ona çok az yük getirir ve sohbet ile canlı sipariş takibi ona çok yakışır.

Aynı tasarım onun zayıf noktasıdır ve insanları yanıltır, çünkü olay olurken hiçbir şey bozuk görünmez. Tek işçinin üstündeki ağır bir iş bekleyen herkesi durdurur. Bir çalışan ayın satışlarını hesap tablosuna aktarır ve o sekiz saniye boyunca sitedeki her müşteri de bekler. Sunucu çöküyor gibi görünür, oysa sunucu gayet iyidir. Çare sıradandır, çünkü ağır işler ayrı bir sürece taşınabilir, ama bunun önceden planlanması gerekir. Öteki sürpriz alışveriş listesidir, çünkü sıradan bir Node projesi yabancıların yazdığı yüzlerce küçük ücretsiz kod parçasını sessizce ödünç alır. Bu parçalardan herhangi biri bir giriş kapısına dönüşebilir.

Linkysoft bir web uygulamasına fiyat vermeden önce iki soruyu da sorar, çünkü cevaplar hem planı hem fiyatı değiştirir. Bu sistemden istenecek en ağır iş nedir ve ödünç alınan kodu her ay kim denetliyor? İkinci soru siber güvenlik çalışmamızın parçasıdır ve isteğe bağlı bir ek değildir, çünkü kimsenin izlemediği ödünç bir parça en ucuz giriş kapısıdır. Bir telefon uygulamasıyla bir site altta aynı sistemi paylaştığında da Node yerinde bir seçim olur. Linkysoft ikisini birden isteyen projelerin çoğunu böyle kurar.

Node.js hakkında sorular

Node.js basitçe nedir?
JavaScript'i tarayıcı yerine sunucuda çalıştırmanın yoludur; böylece aynı dil hem müşterinin gördüğü ekranı hem de veriyi saklayan sistemi kurar.
Node.js bir programlama dili mi?
Hayır. Dil JavaScript'tir. Node ise JavaScript'in tarayıcı dışında, sıradan bir sunucuda çalışmasını sağlayan programdır.
Node.js ne için uygundur?
Aynı anda çok kişinin bağlı olduğu ve bilginin canlı güncellenmesi gereken her şey: sohbet, teslimat takibi, canlı panolar, bildirimler ve birlikte izlenen randevu ekranları.
Node.js PHP'den hızlı mı?
Çoğunlukla başka bir şeyi bekleyen çok sayıda küçük istekte genellikle evet. Tek bir ağır hesapta çoğu zaman hayır. Dürüst cevap, sisteminizin zamanını neye harcadığına bağlı.
Node.js bir iş sistemi için güvenli mi?
Evet, ödünç aldığı ücretsiz paketleri biri izleyip düzenli güncellediği sürece. Asıl maliyet bu sürekli denetimdir ve yeri bakım sözleşmesidir.

Bunun projenize nasıl uyduğundan hâlâ emin değil misiniz?

Ne inşa ettiğinizi bize anlatın, size sade bir dille yanıt verelim.