AngularJS'nin jQuery'den farkı nedir


388

Ben sadece bir js kütüphanesi biliyorum ve bu jQuery .
Ancak gruptaki diğer kodlayıcılarım yeni projede varsayılan kütüphane olarak AngularJS'yi değiştiriyor .

Bunun hakkında hiçbir şey bilmiyorum. JQuery'den farkı nedir?
Zaten jQuery benzer görevleri için yapılmış bir dizi işlev var. AngularJS ile jQuery öğelerini kullanmaya devam edebilir miyim?

Yanıtlar:


414
  1. Açısal 1 bir çerçeve iken, Açısal 2 bir platformdur . ( ref )

Geliştiriciler için Angular2, verileri ekranda göstermenin ötesinde bazı özellikler sunar. Örneğin, angular2 cli aracını kullanmak, kodunuzu "önceden derlemenize" ve indirme boyutunu 35Kish'e küçültmek için gerekli javascript kodunu ( ağaç sallama ) oluşturmanıza yardımcı olabilir.

  1. Açısal2 benzetilmiş Gölge DOM. ( ref )

Bu, SEO sorununu çözebilen ve tarayıcılarda çalışmayan Nativescript vb.İle çalışabilen sunucu oluşturma için bir kapı açar.

AngularJS bir çerçevedir . Aşağıdaki özelliklere sahiptir

  1. İki yönlü veri bağlama
  2. MVW şablonu (MVC-ish)
  3. şablon
  4. Özel yönerge (yeniden kullanılabilir bileşenler, özel işaretleme)
  5. DİNLENME dostu
  6. Derin Bağlantı (herhangi bir dinamik sayfa için bir bağlantı oluşturun)
  7. Form Doğrulama
  8. Sunucu İletişimi
  9. yerelleştirme
  10. Bağımlılık enjeksiyonu
  11. Tam test ortamı (her iki ünite, e2e)

bu sunuyu ve bu harika tanıtımı kontrol edin

Resmi geliştirici kılavuzunu okumayı unutmayın

Veya bu harika video eğiticilerinden öğrenin

Daha fazla öğretici video izlemek istiyorsanız, bu yazıya bakın, En iyi 60+ AngularJS öğreticilerinin toplanması .

JQuery'yi AngularJS ile herhangi bir sorun olmadan kullanabilirsiniz.

Aslında, AngularJS içinde harika bir araç olan jQuery lite kullanır.

Gönderen SSS

Angular jQuery kütüphanesini kullanıyor mu?

Evet, Açısal uygulama önyükleme yapılırken uygulamanızda varsa jQuery kullanabilir. Komut dosyası yolunuzda jQuery yoksa, Angular, jQLite dediğimiz jQuery alt kümesinin kendi uygulamasına geri döner.

Ancak, AngularJS denetleyicilerinde DOM değiştirmek için jQuery kullanmaya çalışmayın, bunu yönergelerinizde yapın.

Güncelleme:

Açısal2 serbest bırakıldı. İşte yeni başlayanlar için harika bir kaynak listesi


8
Açısal js tam uygulamayı geliştirmek zorunda mıyım yoksa birkaç sayfada ve birkaç yaşta basit jquery kullanabilirsiniz
Mirage

8
+1 Harika cevap. Yine de Angular'ın MVVM modeline yaklaştığını söyleyebilirim.
GFoley83

8
Eminim Angular bir MVW
iConnor

2
Birkaç yıl boyunca MVC'ye yakındı. Ama şimdi yeniden faktoring ve api iyileştirme, MVVM daha yakın. Açısal $ kapsamında VM (görünüm Modeli) gibi çalışır.
Yenilmez

14
Merak ediyorum gelecekteki insanlar için (ben olduğum gibi), MVW == Model-View-Whatever , " m odel- v iew- w hatever-sizin için çalışıyor" . Başka bir deyişle, MV * .
David Frye

40

Bir geliştiricinin bakış açısıyla jQuery ile AngularJS farkı hakkında bir şeyler eklemek istiyorum .

AngularJS'de neyi başarmak istediğinize dair çok yapılandırılmış bir görüş ve yaklaşıma sahip olmalısınız. Bir görevi tamamlamak için doğrusal bir modayı takip etmek neredeyse imkansızdır , ancak daha ziyade, çeşitli nesneler arasındaki değişim, talepler ve eylemlerle ilgilenir, bu da açısal bir MVC Tabanlı çerçevedir. Kodlama, etkileşimlerin nasıl tamamlanmasını istediğinize bağlı olduğundan, sonlandırılmış uygulamanın en az genel bir planını gerektirir.

jQuery ücretsiz bir şiir gibidir, satırlar yazar ve görevinizin yerine getirilmesi için bazı ilişkiler ve momentum tutarsınız.

Açısal JS'de, ivme ve ilişkileri doğru tutmanın yanı sıra bazı kuralları izlemelisiniz, belki de daha çok şiiri yapısal ve birçok kurala bağlı olan klasik Spencerian sonnet (ünlü bir klasik şair) gibidir.

AngularJS ile karşılaştırıldığında, jQuery daha çok kodlar ve işlevler (daha önce de belirtildiği gibi, DOM manipülasyonu ve hızlı etki başarısı için harika) koleksiyonuna benzerken, AngularJS, geliştiriciye kurumsal bir web oluşturma yeteneği sağlayan gerçek bir çerçevedir. - süper organize bir yönlendirme ve yönetim içinde bir çok veri bağlama ve değişim ile uygulama.

Ayrıca, AngularJS'nin görevini tamamlamak için jQuery'ye bağımlılığı yoktur . Herhangi bir anlamda jQuery'de bulunmayan iki çok üstün özelliğe sahiptir:

1- Açısal JS, sadece herhangi bir yolla bir hedefe ulaşmak için değil, bir KODU nasıl gerçekleştireceğinizi öğretir. AngularJS'nin Javascripts'in çekirdeğini ve kalbini tam olarak kullandığını ve uygulamanıza, DI (bağımlılık-enjeksiyon) gibi tekniklere dahil olmanın yolunu açtığını belirtmek gerekir. AngularJS ile çalışmak için Javascript ile daha yüksek kodlama teknikleri öğrenmelisiniz.

2- Açısal JS direktifleri işlemek ve uygulamanızı yapılandırmak için tamamen bağımsızdır; o zaman jQuery'nin aynı şeyi (bağımsızlık) yapabileceğini iddia edebilirsiniz, ancak aslında, yukarıdaki satırlarda birkaç kez bahsedildiği gibi AngularJS'nin bağımsızlığı mümkün olan en mükemmel yapısal MVC Tabanlı şekilde bağımsızdır.

Son not, İsimler savaşı olmadığıdır, çünkü önyargılı veya öznel olmak çok rahatsız edicidir. jQuery'nin büyüklüğü ve büyüklüğü kanıtlanmıştır, ancak bunların kullanımları ve sınırlamaları (herhangi bir çerçeve veya yazılımın), tartışmanın ve etrafındaki benzer tartışmaların endişeleridir.

Güncelleme:

AngularJS kullanımı, uygulama açısından pahalı olduğu için belirleyicidir, ancak uygulamanın gelecekteki genişlemesi, dönüşümü ve bakımı için güçlü bir temel oluşturur. AngularJS Web'in Yeni Dünyası içindir. En düşük kaynak tüketimi (sunucudan yalnızca gerekli kaynakları yükleme), hızlı yanıt süresi ve yapılandırılmış bir sistem etrafına sarılmış yüksek derecede sürdürülebilirlik ve genişletilebilirlik ile karakterize edilen uygulamaların oluşturulması hedeflenir.


"AngularJS ile çalışmak için Javascript ile daha yüksek kodlama tekniklerini öğrenmelisiniz (ya da öğrenmelisiniz) - lütfen bana yükseltilmiş teknikler demek istediğinizin örneklerini verin?
antew

@MostafaTalebi, sadece şaka yapıyordum, ama "JavaScript daha çok bir kavram mı?" Ne anlama geliyor?? daha fazla açıklayabilir misin ehh yine de temasa geçelim mi ??
azerafati

Yani bir senaryo :)))
Mostafa Talebi

Bir şeyi karıştırdım! örneğin sunucu tarafı için php kullanıyoruz ve MVC konseptine dayanarak çerçevemizi alıyoruz ve javascript kullandığımız şablonda açısal js de kullanıyoruz, bu yüzden burada açısal js MVC işe yaramaz, değil mi?
Farhad

28

AngularJS: AngularJS, ağır web uygulamaları geliştirmek içindir. AngularJS, uygulama önyükleme yapılırken web uygulamasında varsa jQuery kullanabilir. Komut dosyası yolunda yoksa, AngularJS jQuery alt kümesinin kendi uygulamasına geri döner.

JQuery: jQuery küçük, hızlı ve zengin özelliklere sahip bir JavaScript kütüphanesidir. HTML belgesi geçişi ve manipülasyonu, olay işleme, animasyon ve Ajax gibi şeyleri çok daha basit hale getirir. jQuery, AJAX çağrıları ve DOM manipülasyonu gibi JavaScript'teki birçok karmaşık şeyi basitleştirir.

Daha fazla ayrıntıyı buradan okuyun: angularjs-vs-jquery


20

Bu kısa farkları açıklayan çok iyi bir grafik olduğunu düşünüyorum . Hızlı bir bakış, farklılıkların çoğunu gösterir.

resim açıklamasını buraya girin

Eklemek istediğim bir şey, jQuery standart Nesne Tabanlı kalıpların hiçbirini takip etmezken , MVVM tasarım desenini takip etmek için AngularJS yapılabileceği .


12

Farklı seviyelerde çalışırlar.

Fark, görüntülemek için en basit yolu bir acemi perspektifinden olmasıdır jQuery temelde JavaScript soyut, bu yüzden JavaScript için bir sayfa tasarlamak yolu biz bunu nasıl oldukça fazla olduğunu jQuery . DOM ile başlayın, ardından bunun üzerine bir davranış katmanı oluşturun. Angular.Js ile öyle değil . Süreç gerçekten sıfırdan başlar, bu yüzden sonuç istenen görüntüdür.

İle jQuery sizinle, dom-manipülasyonlar yapmak angularjs Eğer bütün web uygulamaları oluşturmak.


jQuery , çeşitli tarayıcı kimliklerini soyutlamak ve IE6 kontrolleri eklemek zorunda kalmadan DOM ile çalışmak için oluşturuldu. Zamanla, çok şey yapmamıza izin veren güzel, sağlam bir API geliştirdi, ancak özünde DOM ile uğraşmak, öğeleri bulmak, kullanıcı arayüzünü değiştirmek vb. Doğrudan somun ve cıvatalarla çalıştığını düşünün.

Angular.Js ön uç mühendisliğine MVC kavramları eklemek için jQuery üzerine bir katman olarak inşa edildi . DOM ile çalışmanız için API'ler vermek yerine Angular.Js , veri bağlama, şablon oluşturma, özel bileşenler ( jQuery kullanıcı arayüzüne benzer , ancak JS ile tetiklemek yerine bildirici ) ve çok daha fazlasını sunar. Bunu, doğrudan somun ve cıvata seviyesinde değil, birbirine bağlayabileceğiniz bileşenlerle daha yüksek bir seviyede çalıştığını düşünün.

Ek olarak , Angular.Js , Denetleyiciler, Hizmetler ve Yönergeler gibi çeşitli projeler için geçerli yapıları ve kavramları sunar. jQuery kendisi aynı şeyi yapmak için birden fazla (gazillion) şekilde kullanılabilir. Neyse ki, projelere girmeyi ve projeyi çıkarmayı kolaylaştıran Angular.Js ile çok daha az . Bir sistemi sıfırdan yeniden öğrenmek zorunda kalmadan birden fazla insanın aynı projeye katkıda bulunması için akılcı bir yol sunar.


Kısa bir karşılaştırma bu olabilir-

jQuery

  • CSS seçicileri hakkında yeterli bilgiye sahip olanlar tarafından kolayca kullanılabilir
  • DOM Manipülasyonları için kullanılan bir kütüphanedir.
  • Modellerle ilgisi yok
  • Bir web sayfasının içeriğini kolayca değiştirin
  • Kullanıcı arayüzünü daha çekici hale getirmek için stiller uygulayın
  • Kolay DOM geçişi
  • Efektler ve animasyon
  • AJAX aramaları yapmak ve
  • Yardımcı programların kullanılabilirliği
  • iki yönlü ciltleme özelliği yok
  • bir projenin büyüklüğü arttığında karmaşık ve bakımı zorlaşır
  • Bazen Angular.Js ile aynı işlevselliği elde etmek için daha fazla kod yazmanız gerekir.

angularjs

  • Bu bir MVVM Çerçevesidir
  • SPA oluşturmak için kullanılır (Tek Sayfa Uygulamaları)
  • Yönlendirme, direktifler, iki yönlü veri bağlama, modeller, bağımlılık enjeksiyonu, birim testleri vb.
  • modüler
  • Proje büyüklüğü arttığında sürdürülebilir
  • hızlı
  • İki Yönlü veri bağlama REST dostu MVC tabanlı Desen
  • Derin bağlantı
  • şablonu
  • Yerleşik form Doğrulama
  • Bağımlılık Enjeksiyonu
  • yerelleştirme
  • Tam Test Ortamı
  • Sunucu İletişimi

Ve daha fazlası

resim açıklamasını buraya girin

Bunun yardımcı olduğunu düşünün.

Daha fazlası bulunabilir -


3

Jquery: -

jQuery is a lightweight and feature-rich JavaScript Library that helps web developers
by simplifying the usage of client-side scripting for web applications using JavaScript.
It extensively simplifies using JavaScript on a website and its lightweight as well as fast.

So, using jQuery, we can:

easily manipulate the contents of a webpage
apply styles to make UI more attractive
easy DOM traversal
effects and animation
simple to make AJAX calls and
utilities and much more 

Açısal JS: -

AngularJS is a product by none other the Search Engine Giant Google and its an open source
MVC-based framework(considered to be the best and only next generation framework). AngularJS
is a great tool for building highly rich client-side web applications.

As being a framework, it dictates us to follow some rules and a structured approach. Its
not just a JavaScript library but a framework that is perfectly designed (framework tools
are designed to work together in a truly interconnected way).

In comparison of features jQuery Vs AngularJS, AngularJS simply offers more features:

Two-Way data binding
REST friendly
MVC-based Pattern
Deep Linking
Template
Form Validation
Dependency Injection
Localization
Full Testing Environment
Server Communication
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.