Node.JS nedir ve neden umursayayım? [Web Geliştirme]

  • Mark Lucas
  • 0
  • 1499
  • 195
reklâm

JavaScript sadece tarayıcıda çalışan bir istemci tarafı programlama dilidir, değil mi? Artık değil. Node.js, sunucuda JavaScript çalıştırmanın bir yoludur; ama bu çok daha fazlası. Web geliştirme ile ilgileniyorsanız, gerçekten Düğüm hakkında biraz bilgi edinmeli ve neden toplulukta dalgalar yarattığını öğrenmelisiniz..

Node.js nedir?

Düğüm, Chrome tarayıcıda çalışan süper hızlı JavaScript tercümanı olan V8 JavaScript çalışma zamanının bir arabirimidir. Olduğu gibi, V8'i de indirebilir ve herhangi bir yere gömebilirsiniz; Düğüm bunu web sunucuları için yapar. Her şeyden önce JavaScript sadece bir dildir - kullanıcının tarayıcısında olduğu gibi bir sunucuda da kullanılamayacağını söyleyen hiçbir şey yoktur. Tipik bir LAMP sunucusu yığınında 3 Kolay Adımda Apache Web Sunucusu Nasıl Kurulur 3 Kolay Adımda Apache Web Sunucusu Nasıl Kurulur Sebep ne olursa olsun, bir noktada bir web sunucusuna gitmeyi isteyebilirsiniz. Kendinize belirli sayfalara veya hizmetlere uzaktan erişim izni vermek isteseniz de, bir topluluk elde etmek istersiniz…, altında PHP çalışan bir Apache veya NGINX web sunucunuz var. Sunucuya yapılan her yeni bağlantı, yeni bir iş parçacığı doğurur ve hızlı bir şekilde performans kaybetmek veya bir sitenin “aşağı in” - daha fazla kullanıcıyı desteklemenin tek yolu daha fazla sunucu eklemek. Basitçe iyi ölçeklendirilmez. Node ile durum böyle değil. Gelen bağlantıları dinlemek ve HTTP durum kodlarını döndürmek için Apache yoktur - bu çekirdek sunucu mimarisini kendiniz halletmeniz gerekir. Neyse ki, bunu kolaylaştırmak için modüller var, ama başladığınızda hala biraz zor olabilir. Sonuçta, yüksek performanslı bir web uygulaması.

Klout - yüksek performans için Node.js üzerine kurulu bir sosyal istatistik web uygulaması

JavaScript etkinlik temelli bir dildir jQuery Tutorial (Bölüm 4) - Etkinlik Dinleyicileri jQuery Tutorial (Bölüm 4) - Etkinlik Dinleyicileri Bugün onu bir adım atacağız ve gerçekten jQuery'nin nerede parladığını göstereceğiz - etkinlikler. Geçmiş dersleri takip ettiyseniz, şimdi temel kodu iyi bir şekilde anlamış olmalısınız… yani sunucuda olan herhangi bir şey engellenmeyen bir olayı tetikler. Her yeni bağlantı bir etkinlik başlatır; bir yükleme formundan alınan veriler bir veri alınan olayı başlatır; Veritabanından veri istemek bir olayı tetikler. Uygulamada bu, bir Node sitesinin asla kilitlenmeyeceği ve on binlerce eşzamanlı kullanıcıyı destekleyebileceği anlamına gelir. Node.js sunucunun (Apache) rolünü oynar ve üzerinde çalışan uygulama kodunu yorumlar. Apache gibi, veri depoları, Zip dosyası desteği, Facebook oturumu açma veya ödeme ağ geçitleri gibi özellikler ve işlevler eklemek için kurulabilecek çeşitli modüller (kütüphaneler) vardır. Tabii ki, PHP kadar neredeyse yok, ama Düğüm hala erken aşamada ve arkasında güçlü bir topluluk var. Temel bir Düğüm kavramı asenkron fonksiyonlardır - yani her şey temelde arka planda çalışır. Çoğu sunucu tarafı kodlama diliyle, programın bir sonraki adıma geçmeden önce her bir işlev tamamlanıncaya kadar beklemesi gerekir. Düğüm ile, uygulamanızın geri kalanı devam ederken başka bir şeyin tamamlanması üzerine çalışması gereken işlevleri belirtirsiniz. Bugün çok fazla derinliğe girmeyeceğim karmaşık bir konudur, ancak Düğümü tanımlayan özelliklerden biri, bu yüzden onu kavramak önemlidir. Yine de yeterince sohbet - işte bu kavramların bazıları hakkında hızlı bir fikir vermek için bir Hello World örneği HTTP sunucusu..

 var http = Request ("http"); http.createServer (function (request, response) response.writeHead (200, 'Content-Type': 'text / plain'); response.write ('Hello World!'); response.end (); ) .listen (8080); console.log ("Sunucu çalışıyor!"); 

Bunu yıkmaya çalışalım. İlk olarak, biz dahil ediyoruz http modülü projenin içinde. Daha sonra bir sunucu yaratıyoruz ve anonim bir fonksiyona parametre olarak geçiyoruz - bu fonksiyon yapılan her yeni bağlantı için çağrılacak. İki argüman alır - istek, kullanıcıdan istek parametrelerini içeren; ve tepki, hangi şeyleri geri göndermek için kullanacağız. Daha sonra, yanıt HTTP koduyla kullanıcıya geri başlık yazmak için yanıt nesnesini kullanıyoruz. 200 (“tamam”) ve içerik türü “Selam Dünya!” mesajı ve yanıtı bitirme Son olarak, sunucuya gelen talepler için 8080 numaralı bağlantı noktasını dinlemesini ve çalıştığını bize bildirmek için konsola hızlı bir mesaj göndermesini söyleriz. Bunu kendiniz denemek istiyorsanız, yukarıdaki kodu test.js, Düğüm yükleyiciyi indirin ve komut satırından çalıştırın. -

düğüm test.js

Bir tarayıcı açın ve test uygulamanızı görmek için localhost: 8080'e gidin! Şimdi bu eşzamansız olayın nasıl çalıştığı ve olaya dayalı modeller hakkında küçük bir fikriniz olmalı. JavaScript'te yeniyseniz, işlevleri diğer işlevlere argüman olarak geçirme kavramı muhtemelen biraz gariptir.

Neden düğüm kullanın?

İlk olarak, performans ve ölçeklenebilirlik için. Düğüm hızlı. Bu, bir sonraki büyük şeyi yapmaya çalışırken yeni bir şey yapmaya başladığınızda ve siteniz büyüdükçe bir kullanıcı akışıyla başa çıkabilmek için hızla ölçeklenebildiğinizden emin olmak için oldukça önemli bir gerekliliktir. Düğüm ayrıca bir teklif için mükemmel RESTful API - Birkaç girdi parametresi alan ve az miktarda veri geri gönderen bir web servisi - büyük miktarda hesaplama yapmadan basit veri işleme. Düğüm binlerce PHP'nin çökeceği yerde aynı anda idare edebilir. Performans avantajları ve ölçeklenebilirlik bir yana, zaten biraz JavaScript bildiğiniz için iyi bir şans var, öyleyse neden PHP gibi yepyeni bir dil öğrenmekle uğraşmıyorsunuz? Ve sonra - yeni ve göreceli olarak keşfedilmemiş bir şey öğrenme heyecanı var. Ne zaman yeni bir şey geldiğinde o kadar her yerde olur ki, daha önce öğrenemediğiniz için sonsuza dek avlanmaya pişman olduğunuz için pişman olur musunuz? Bunu bu sefer yapma. Düğüm büyük olacak.

Downsides

Çoğu yeni teknolojide olduğu gibi, Düğüm'ü mevcut ana makinelere dağıtmak o kadar kolay değildir. Paylaşılan bir web barındırma sunucunuz varsa, yalnızca bir Node uygulaması yükleyemez ve çalışmasını bekleyemezsiniz. VPS ve özel sunucular daha iyi konumlandırılmıştır - Düğümü bunlara yükleyebilirsiniz. Daha da kolay olan, sitenizi geliştirmek için tamamen ücretsiz olan Heroku gibi ölçeklenebilir bir hizmeti kullanmaktır - yalnızca daha fazla kaynağa ihtiyacınız olduğunda ödeme yapmanız gerekir. Heroku kullanarak daha önce bir Facebook fangate oluşturmak için kullandığımızdan bir örnek verdim, ancak Düğüm için de kullanılabilir. Öte yandan, Node’u yerel olarak Windows, Mac veya Linux PC’nize kurmak ve hemen geliştirmeye başlamak çok kolaydır - Download Node’a gidin. Ayrıca Düğüm'ün Apache'nin yerine geçmediğini de not etmek önemlidir - mevcut web uygulamaları uyumlu değildir ve etkin bir şekilde baştan başlayacaksınız. (Ortak özellikler konusunda size yardımcı olacak pek çok çerçeve olmasına rağmen). Düğümün diğer önemli dezavantajı, hala gelişimin erken aşamalarında olmasıdır, yani bazı gelişmeler gelişme ilerledikçe değişebilir. Aslında, belgelere bakarsanız, şu anda her özelliğin kullanımının ne kadar riskli olduğunu gösteren bir istikrar endeksi içerir.. Bilirsiniz - bir web geliştiricisi olmak için hiç bu kadar heyecan verici bir zaman olmamıştı. Açık web servisleri ve veri alışverişi ile bir şey yapmak her zamankinden daha kolay müthiş. Düğüm öğrenmeyi düşünüyor musunuz? İyi. İlerleyin ve bir sonraki Twitter'da olun! Muhtemelen ayrıca Javascript jQuery kütüphanesinin iyi bir temelini de isteyeceksiniz müthiş. Bu hafta, sanırım bir kodla ellerimizi kirletme ve bunun nasıl olacağını öğrenmenin zamanı geldi..




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.