JQuery ile AngularJS ile Node.js arasındaki fark [kapalı]


106

Web geliştirmeye yeni başlıyorum ve şu ana kadar biliyorum ki:

HTML - web sitesi düzeni

CSS - güzel görünmesini sağlayın

JavaScript - işlevsellik

O halde jQuery , AngularJS ve Node.js nedir?

Hızlı bir arama yaptıktan sonra, jQuery'nin bir "JavaScript kitaplığı", AngularJS'nin "JavaScript tabanlı açık kaynaklı ön uç web uygulama çerçevesi" ve Node.js'nin "JavaScript çalışma zamanı ortamı" olduğunu buldum.

Görünüşe göre hepsi JavaScript ile ilişkili, peki bunlar yeni diller mi? 'Çerçeve / kitaplık' ne anlama geliyor?

Basit bir cevap takdir edilecektir. (Web programlamaya yeni başladım, ancak programlamaya aşinayım).


2
"Kitaplık", temelde, başka birinin sizin için yazıp test ettiği yararlı işlevlerin bir koleksiyonudur - jQuery, JavaScript işlevlerinin bir koleksiyonudur. Bir "çerçeve", ortak uygulama yapısı kodunun sizin için yazıldığı bir tür soyutlamadır ve belirli uygulamanızın ihtiyaçlarına uygun olarak bunun bitlerini geçersiz kılabilirsiniz. NodeJS, JavaScript'i tarayıcı dışında bir yerde çalıştırmanıza izin veren bir araçtır (genellikle bir web sunucusunda, yani Java veya DotNET veya PHP veya her neyse yerine).
nnnnnn

3
İyi olacaksın. Neden biliyormusun? Çünkü sen İngilizce konuşuyorsun. Zaten sizin için tonlarca şey var. Sadece zaman ayırıp öğrenmen gerekiyor. Benim ülkemde İngilizce büyük bir sorun. Pek çok insan tanıyorum, programlama öğrenmede zorluk çekiyor (çoğu kişi pes etti ve başka işlere geçti) çünkü İngilizce iyi değil. Yine de dediğim gibi, senden çok zaman alacak.
vothaison

Ayrıca bu soruya bakın .
nnnnnn

Yanıtlar:


202

jQuery bir kitaplıktır (istemci tarafı)

jQuery , hızlı, küçük, hafif, "daha az yazın, daha fazlasını yapın" ve zengin özelliklere sahip bir JavaScript kitaplığıdır.

Çok sayıda tarayıcıda çalışan, kullanımı kolay bir API ile HTML belge geçişi ve manipülasyonu, olay işleme, animasyon ve Ajax gibi şeyleri çok daha basit hale getirir .

AngularJS bir MVC çerçevesidir (istemci tarafı)

AngularJS , dinamik bir web uygulaması geliştirmek için istemci tarafı bir JavaScript MVC çerçevesidir.

HTML'yi şablon diliniz olarak kullanmanıza ve uygulamanızın bileşenlerini açık ve kısa bir şekilde ifade etmek için HTML'nin sözdizimini genişletmenize olanak tanır. AngularJS'nin veri bağlama ve bağımlılık ekleme, aksi takdirde yazmak zorunda kalacağınız kodun çoğunu ortadan kaldırır. Ve bunların hepsi tarayıcı içinde gerçekleşir, bu da onu herhangi bir sunucu teknolojisi ile ideal bir ortak yapar. AngularJS başlangıçta Google'da bir proje olarak başlatıldı, ancak şimdi açık kaynaklı bir çerçevedir.

Node.js bir platform ve çalışma zamanı ortamıdır (sunucu tarafı)

Node.js , Google Chrome'un JavaScript Motoru (V8 Motoru) üzerine kurulu sunucu tarafı ve ağ uygulamaları geliştirmek için açık kaynaklı, platformlar arası bir çalışma zamanı ortamıdır. Node.js uygulamaları JavaScript'te yazılmıştır ve OS X, Microsoft Windows ve Linux'ta Node.js çalışma zamanında çalıştırılabilir.

Node.js ayrıca, Node.js kullanarak web uygulamalarının geliştirilmesini büyük ölçüde basitleştiren çeşitli JavaScript modüllerinden oluşan zengin bir kitaplık sağlar. Node.js, onu hafif ve verimli kılan olay odaklı, engellemeyen bir G / Ç modeli kullanır, dağıtılmış cihazlarda çalışan, veri yoğun gerçek zamanlı uygulamalar için mükemmeldir.

Kütüphane ve Çerçeve

Bir kütüphane ile çerçeve arasındaki temel fark, "Kontrolün Tersine Çevrilmesi" dir. Bir kitaplıktan bir yöntemi çağırdığınızda, kontrol sizdedir. Ancak bir çerçeve ile kontrol tersine çevrilir: çerçeve sizi çağırır.

Buraya resim açıklamasını girin

Kütüphane

Web uygulamaları yazarken yararlı olan işlevler koleksiyonu. Kodunuz yetkilidir ve uygun gördüğünde kütüphaneye çağrı yapar. Örneğin, jQuery.

Çerçeve

Kodunuzun ayrıntıları doldurduğu belirli bir web uygulaması uygulaması. Çerçeve görevlidir ve uygulamaya özel bir şeye ihtiyaç duyduğunda kodunuzu çağırır. Örneğin, AngularJS, Durandal , Ember.js vb.


27

Basit bir deyişle,

  • jQuery - HTML ve CSS'yi değiştirmek için JavaScript işlevleri koleksiyonudur
  • AngularJS - HTML ve CSS'yi düzenlemenize yardımcı olan bir JavaScript çerçevesidir
  • Node.js- bir JavaScript çalışma zamanıdır ... sunucunuzdaki veya yerel makinenizdeki bir tarayıcı gibi, ancak tüm tarayıcı oluşturma motoru ve ekstralar olmadan .. sadece bir çalışma zamanı

Basit bir deyişle, kütüphane ile çerçevenin temel farkı:
Çerçeve, belirli bir mimariyi empoze eder ve uygulamanın beklentilerini karşılamasını bekler
Kütüphane , genellikle çok özel sorunları çözmeyi amaçlayan granüler işlevler sağlayan düşük seviyeli yapı taşlarının bir koleksiyonudur (örn. Jquery.post () işlevi) *


17

jQuery

jQuery, sizin için çok şey yapan bir kitaplıktır. Çok sayıda kullanışlı, yaygın kullanılan işlev içerir, böylece bu kodu kendiniz yazmanıza gerek kalmaz. Taş devrinde bir marangoz olmak ile emrinizde bir dizi elektrikli alete sahip olmak arasındaki fark bu.

AngularJS

AngularJS, etkileşimli web siteleri ve web uygulamaları için ön uç, grafik kullanıcı arabirimleri (GUI'ler) oluşturmak için kullanılan bir çerçevedir . Node.js ile birlikte kullanıldığında güçlü bir kombinasyon oluşturur

Node.js

Düğüm, arka planda sizin için veri çeken API REST uç noktaları gibi arka uç web hizmetleri oluşturmak için kullanılan bir çerçevedir . Zengin, veri odaklı web uygulamaları ve web raporları oluşturmak için AngularJS kullanarak düğmeleri ve GUI öğelerini bu uç noktalara bağlayabilirsiniz. RESTful olarak, bu hizmetler, ön uç onlara bir istek gönderene kadar (kullanıcı bir düğmeyi tıklatana) ve bir veritabanı sorgusu yürütene veya bir dosyayı okuyup bazı verileri geri gönderene kadar beklerler, bu da web uygulamasının daha sonra kullanıcıya görüntüleyebilir.

Genel olarak çerçeveler

Önceki marangoz benzetmesindeki çerçeveler, işi sizin için yapması için profesyonel inşaatçılardan oluşan bir ekiple sözleşme yapmaya benzer. İşi yeterince ayrıntılı olarak tanımlıyorsunuz ve onlar devralıyor ve gerçekten yapıyorlar. Böylece göreviniz, işi kendiniz yapmaktan ziyade inşaatçı ekibinin anlaması için doğru dilde iş şartnamelerini bulmaya indirgenir.

AngularJS, elektrikle birlikte iç tasarım ekibi gibi olurdu ve Node.js diğer her şey olurdu. Fazla basitleştirilmiş mi? Olabilir. Ama basit bir açıklama istedin.

Böylece AngularJS ve Node.js'yi zıt olarak düşünebilirsiniz, ancak aynı uygulama veya projede birlikte kullanılabilirler. Farklı amaçları yerine getiriyorlar, ancak bunu yapmak için her ikisi de JavaScript (ve bir dereceye kadar jQuery) kullanıyorlar.


7
  • Çerçeve : Bu , kodunuzu nasıl sunmanız gerektiğine ilişkin belirli bir yapıyı açıklar . Belirli bir sorunu çözmek / basitleştirmek veya mimarinizi "düzene" getirmek için bazı yardımcılar, kurucular vb. İle birlikte bir kod şablonu gibi. Örnekler, Backbone.js , RequireJS, Socket.IO . Bir çerçeve kapsüller geliştirici, uygulama için benzersiz olan kısımlarına odaklanmasını sağlayan ortak uygulama işlevselliğini.

  • Kitaplık : Tarayıcılar, DOM modelleri vb. Gibi farklı katmanları yüksek oranda özetleyen eksiksiz bir araç setidir. Ayrıca iyi bir araç seti olarak, genel olarak kodlama deneyiminizi basitleştiren çok sayıda araç ve birlikte çalışacak düzgün şeyler sunar. Örnekler jQuery ve MooTools'tur .

Daha fazla bilgi için buraya bakın .


"Kitaplık: Bütün bir araç takımıdır" - Amacı, örneğin sadece tarih / saat verileriyle uğraşmaksa, çok küçük bir araç takımı olabileceğini not ederek.
nnnnnn

7

İşte her geçen gün daha popüler hale gelmelerinin nedenleri:

jQuery

  • Jquery kodları nispeten daha kısadır. Bazen sadece beş satır jQuery kodu, 25 satırlık geleneksel JavaScript koduna eşdeğerdir (örneğin, AJAX ile bir veri dosyası yükleme). Bu, daha az kod ve çok daha küçük dosyalar anlamına gelir.
  • Büyük kitaplık: jQuery, diğer JavaScript kitaplıklarına kıyasla çok sayıda işlevi gerçekleştirmenizi sağlar.
  • Ajax ile Süper Kolay çalışma: jQuery, Ajax şablonlarını çok kolay bir şekilde geliştirmenizi sağlar, Ajax, tüm sayfanın yeniden yüklenmesini gerektirmeden sayfalarda eylemlerin gerçekleştirilebileceği daha şık bir arayüz sağlar.

AngularJS

  • İki yönlü veri bağlama: jQuery'de basit bir iki yönlü veri bağlama olayı yazabilirken, JavaScript MVC kitaplıkları, modelleri görünümünüze bağlamak için daha açıklayıcı (HTML kullanarak) bir yol sağlar.
  • SPA için harika ( tek sayfalık uygulamalar ): AngularJS, Aurelia, Ember.js ve Meteor gibi kitaplıklar, hepsini jQuery'de yazmak yerine sizin için tüm su tesisatı sağlar

Node.js

  • Hızlıdır: Işık hızında JavaScript yürütmeye ek olarak, Node.js'nin arkasındaki gerçek sihir olay döngüsüdür. Olay döngüsü, tüm G / Ç işlemlerini eşzamansız olarak gerçekleştiren tek bir iş parçacığıdır. Geleneksel olarak, G / Ç işlemleri, işi gerçekleştirmek için paralel iş parçacıkları oluşturarak eşzamanlı (engelleme) veya eşzamansız olarak çalışır.
  • Gerçek Zamanlı Daha Kolay: Node.js birçok eşzamanlı bağlantıda üstünse, sohbet ve oyunlar gibi çok kullanıcılı, gerçek zamanlı web uygulamalarında üstün olduğu anlamlıdır. Node.js'nin olay döngüsü, çoklu kullanıcı gereksinimini karşılar.

2
"5 satırlık jQuery kodu, 25 satırlık geleneksel JavaScript koduna eşdeğerdir" - Ne yapmaya çalıştığınıza bağlı olarak. Bazı görevler için minimum fark vardır, diğerleri için büyük fark vardır. "Bu, daha küçük dosyalar ve daha hızlı yüklenen web sayfaları anlamına gelir." - jQuery'nin sizi kendiniz için yazmaktan kurtardığı kodun tümü, tarayıcıya da indirilmesi gereken jQuery dosyasında bulunur. Yani toplam kod miktarı muhtemelen daha fazladır.
nnnnnn

bu dosyalar belge yüklenirken yüklenir. çünkü en iyi uygulama DOM yüklenene kadar js kullanmamaktır. tıklama veya fareyle üzerine gelme etkinliklerinizin yürütme hızında bir fark
yaratmazlar

Cevabınızda "daha hızlı yükleniyor" dediniz. Bu doğru değil veya kesinlikle evrensel olarak doğru değil. "Belge yüklenirken" yüklenen dosyaların yine de indirilmesi ve (sayfaya bağlı olarak), kullanıcının sayfayla anlamlı bir şekilde etkileşime girebilmesi için indirilmesi gerekir. (Not: jQuery'nin hiç de kötü bir şey olduğunu söylemiyorum, açıklamanızın en iyi ihtimalle yanıltıcı olduğunu söylemiyorum.)
nnnnnn

tamam .. eğer öyle düşünüyorsan daha hızlı yüklemeyi kaldırırım
ab29007

JQuery ve javascript'i aynı programda yazabilir miyim
K Split X

6

Etkileşimli web siteleri oluşturmak için HTML, CSS ve JavaScript kullanırsınız.

jQuery, JavaScript ile yazılmış bir araçtır.

AngularJS, JavaScript ile yazılmış bir araçtır.

React, JavaScript ile yazılmış bir araçtır.

Bu araçlar, HTML, CSS ve JavaScript arasındaki etkileşimleri kendi kurallarına göre yönetmenize yardımcı olur. Bir araç gerçekten büyüdüğünde, özelliklerine bağlı olarak "kütüphane" veya "çerçeve" gibi bir ad alabilir.

JavaScript'i genellikle bir web tarayıcısında çalıştırırız. Ancak birkaç yıl önce, JavaScript'i tarayıcının dışında kolayca çalıştırmamıza izin veren Node.js adlı bu şey ortaya çıktı. Ben bunu "tarayıcının dışında JavaScript çalıştıran bir program" olarak düşünmeyi seviyorum (bu, bakılacak HTML veya CSS olmadığı anlamına gelir).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.