Jquery bir javascript kitaplığı veya çerçevesi mi? [kapalı]


121

Burada, çerçeve kategorisi altında jquery'den bahsedilir: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

Jquery bir javascript kitaplığı veya çerçevesi mi?


40
Bir kişinin kütüphanesi, başka bir kişinin çerçevesidir.
nnnnnn

1
Bu konu dışıdır çünkü her yanıt eşit derecede geçerlidir: "En sevdiğiniz ______ nedir?" . Ayrıca, bir kitaplık veya çerçeve olsak da ne önemi var?
EJoshuaS - Monica'yı yeniden etkinleştir

Yanıtlar:


169

Bir kütüphane. Ana sayfaya göre ve kabul ettiğim.

Çerçeve, genellikle bir çözümü uygulamanın belirli bir yolunu zorlayan bir şeydir, oysa jQuery sadece yapmak istediğiniz şeyi uygulamayı kolaylaştırmak için bir araçtır.


55
+1. Kitaplık, programınızdan aradığınız bir şeydir. Çerçeve, programınızı çağıran bir şeydir.
Thilo

1
Kitaplık ve çerçeve karşılaştırması için bkz. "Denetimin
cheshireoctopus


19

Elbette bu bir javascript kitaplığı. Ama bir çerçeve olmak ya da olmamak konusunda, bunun bir çerçeve olmadığını düşünüyorum. Yazılım çerçevesinin wikipedia tanımına bir göz atın :

Tanımlanmış bir uygulama programlama arabirimi sağlayan bir yazılım kitaplıkları koleksiyonudur.

Ve jQuery yalnızca tek bir kitaplıktır. Bundan sonra diyor ki:

Çerçeveler, onları normal kitaplıklardan ayıran temel ayırt edici özellikler içerir:

  1. kontrolün ters çevrilmesi - Bir çerçevede, kitaplıklardan veya normal kullanıcı uygulamalarından farklı olarak, programın genel kontrol akışı arayan tarafından değil, çerçeve tarafından belirlenir.

Bu yüzden bunun bir çerçeve olmadığını düşünüyorum.


9

Göre angularjs internet sitesinde

  • kütüphane - web uygulamaları yazarken yararlı olan işlevler koleksiyonu. Kodunuz yetkilidir ve ne zaman kütüphaneye çağrılır?
    uygun gördüğünde . Örneğin, jQuery.
  • çerçeveler - kodunuzun ayrıntıları doldurduğu bir web uygulamasının belirli bir uygulaması. Çerçeve sorumludur ve uygulamaya özel bir şeye ihtiyaç duyduğunda kodunuzu çağırır. Ör. Durandal, köz vb.

5

Çerçeve ve libarlık birbirini dışlayan şartlar değildir. Çerçeve tipik olarak bir kitaplık veya bir kütüphane koleksiyonudur.

Kesin olarak, jQuery bir kitaplıktır, ancak bir dereceye kadar bir yazılım çerçevesinin tanımını karşılar. Birçoğu jQuery'nin bir yazılım çerçevesi tanımını tam olarak karşılamadığını iddia etse de, gerçek şu ki, başka hiçbir JavaScript çerçevesi de bir çerçevenin tanımını tam olarak karşılamıyor.

Bir yazılım çerçevesinin tanımlayıcı özelliklerinden biri, kodunun değişikliklere karşı korunmasıdır. JavaScript'te, durum açıkça bu değil. İstemci tarafı kodunuza çağrılabilecek herhangi bir kitaplık veya çerçeve değiştirilebilir, ancak bunları değiştirmek en iyi uygulamalara aykırı olacaktır. Bu nedenle, Bootstrap veya AngularJS'i bir çerçeve çağırmaya izin veriliyorsa, jQuery'nin de çerçeve olarak adlandırılamaması için hiçbir neden yoktur. Bu bağlantı , jQuery'nin çerçeve olarak adlandırılacak ölçütleri nasıl karşıladığına dair daha ayrıntılı bir açıklama içerir.

Belki de jQuery'nin neden bir kitaplıktan çok bir çerçeve olduğunun en iyi açıklaması, bir geliştirici olarak onun çerçeve benzeri işlevlerinden hiçbirini kullanmamayı seçebileceğiniz gerçeğidir. Örneğin, basit bir jQuery deyimini aynı satırdaki standart bir JavaScript deyimiyle karıştırabilirsiniz. AngularJS ve Bootstrap genellikle bunu yapmanıza izin vermez. Bu nedenle, jQuery'nin bir çerçeve olup olmadığına dair doğru cevap "onu bir çerçeve olarak kullanmayı seçip seçmediğinize bağlıdır".


2

JQuery'nin kendisinin bir çerçeve değil, aslında bir kitaplık olduğu yönündeki tüm yanıtlara katılıyorum. Saeed'in cevabında belirtildiği gibi, temel ayırt edici özelliklerden biri kontrolün tersine çevrilmesidir. Bununla birlikte, kendi çerçevenizi oluşturmak için jQuery'nin işlevselliğini kullanabilirsiniz.

Örnekler: jQuery üzerine inşa edilen ve çerçeveler olarak tanımlanan projeler vardır: jQuery Mobile: Birkaçını saymak gerekirse , Dokunarak Optimize Edilmiş Web Çerçevesi , JavaScriptMVC ve sammy.js .

JQuery UI gibi jQuery üzerine inşa edilmiş başka kitaplıklar da vardır.

Bir kütüphanenin çerçeveye karşı ne olduğunu tanımlarken bazıları anlambilim gibi görünüyor, ancak bu örnekler benim için çizgiyi çizmeye yardımcı oluyor.


1

Yukarıdaki başlıktaki hemen herkesin bahsettiği, Kontrolün Tersine Çevrilmesi hakkında konuşursak, o zaman jQuery bir ÇERÇEVE olur.

IOC'ye sahiptir, örneğin $ (document) .ready {} fonksiyonunu yazdığımızda ... bu yöntemi çağıran konteynerdir ve basitçe kodumuzu parantezlerin içine koyarız. Biz bu yöntemin Arayanları değiliz ve bu nedenle "Kontrolün Tersine Dönmesi"

Bu şekilde jQuery bir ÇERÇEVE olur.


1
Yani, büyük kitaplıkların çoğu, bir amaç için en azından belli belirsiz geri arama yöntemi sağlar. Hiç güvenmeden çok sayıda jQuery kodu yazabilirsiniz ready().
Nathan Tuggy

@NathanTuggy Öyleyse neden Framework ve Lib hakkındaki ayrıntılı tartışmalar bile IOC hakkında konuşuyor? Eğer oradaysa, oradadır. Neden "güvenmek" veya "güvenmemek" hakkında konuşuyorsunuz?
pinkman

Çünkü çerçeve tarzı IoC, onu kullanma gerekliliğiyle karakterize edilir . İstendiği gibi, belirli şekillerde alakart kullanma imkanı değil. Bir çerçevede, başka seçeneğin yok: Kontrol edilir ters.
Nathan Tuggy
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.