Tutaj jquery jest wymieniony w kategorii framework: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
Czy jquery jest biblioteką lub frameworkiem javascript?
Tutaj jquery jest wymieniony w kategorii framework: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
Czy jquery jest biblioteką lub frameworkiem javascript?
Odpowiedzi:
Biblioteka. Zgodnie ze stroną główną , z którą się zgadzam.
Framework to coś, co zwykle wymusza określony sposób implementacji rozwiązania, podczas gdy jQuery to tylko narzędzie ułatwiające wdrażanie tego, co chcesz.
Na pewno jest to biblioteka javascript. Ale jeśli chodzi o bycie frameworkiem, czy nie, po prostu myślę, że to nie jest framework. Spójrz na definicję struktury oprogramowania w Wikipedii :
Jest to zbiór bibliotek oprogramowania zapewniających zdefiniowany interfejs programowania aplikacji.
A jQuery to tylko jedna biblioteka. Następnie mówi:
Struktury zawierają kluczowe cechy odróżniające je od zwykłych bibliotek:
- odwrócenie kontroli - w środowisku, w przeciwieństwie do bibliotek lub zwykłych aplikacji użytkownika, ogólny przepływ kontroli programu nie jest dyktowany przez wywołującego, ale przez strukturę.
Więc myślę, że to nie jest framework.
Według strony internetowej angularjs
- biblioteka - zbiór funkcji przydatnych podczas pisania aplikacji internetowych. Twój kod jest odpowiedzialny i wywołuje bibliotekę, kiedy
uzna to za stosowne. Np. JQuery.- frameworki - konkretna implementacja aplikacji internetowej, w której kod wypełnia szczegóły. Struktura jest odpowiedzialna i wywołuje Twój kod, gdy potrzebuje czegoś specyficznego dla aplikacji. Np. Durandal, żar itp.
Framework i libarry niekoniecznie wykluczają się wzajemnie. Framework jest zazwyczaj biblioteką lub zbiorem bibliotek.
Ściśle mówiąc, jQuery jest biblioteką, ale do pewnego stopnia spełnia definicję frameworka oprogramowania. Chociaż wielu twierdzi, że jQuery nie spełnia wystarczająco ściśle definicji frameworka oprogramowania, faktem jest, że żaden inny framework JavaScript również nie spełnia w pełni definicji frameworka.
Jedną z definiujących cech struktury oprogramowania jest to, że jej kod jest chroniony przed modyfikacjami. W JavaScript wyraźnie tak nie jest. Wszelkie biblioteki lub struktury, które można wywołać w kodzie po stronie klienta, można modyfikować, chociaż ich modyfikowanie byłoby sprzeczne z najlepszymi praktykami. Dlatego też, jeśli dopuszczalne jest wywołanie Bootstrap lub AngularJS frameworkiem, nie ma powodu, dla którego jQuery również nie może być nazywany frameworkiem. To łącze zawiera bardziej szczegółowe wyjaśnienie, w jaki sposób jQuery spełnia kryteria, które należy nazwać frameworkiem.
Być może najlepszym wyjaśnieniem, dlaczego jQuery jest bardziej frameworkiem niż biblioteką, jest fakt, że jako programista możesz zdecydować się nie używać żadnej z jego funkcjonalności podobnych do frameworka. Możesz na przykład połączyć prostą instrukcję jQuery ze standardową instrukcją JavaScript w tym samym wierszu. AngularJS i Bootstrap zazwyczaj nie pozwalają na to. Dlatego dokładna odpowiedź, czy jQuery jest frameworkiem, czy nie, brzmi: „zależy to od tego, czy zdecydowałeś się użyć go jako frameworka, czy nie”.
Zgadzam się ze wszystkimi odpowiedziami tutaj, że jQuery jest rzeczywiście biblioteką, a nie frameworkiem. Jak wskazuje odpowiedź Saeeda, jedną z kluczowych cech wyróżniających jest odwrócenie kontroli. Możesz jednak użyć funkcjonalności jQuery, aby stworzyć własną strukturę.
Przykłady: istnieją projekty zbudowane na bazie jQuery, które są zdefiniowane jako frameworki: jQuery Mobile: struktura sieci Web zoptymalizowana pod kątem dotyku , JavaScriptMVC i sammy.js, aby wymienić tylko kilka.
Istnieją również inne biblioteki zbudowane na bazie jQuery, takie jak interfejs użytkownika jQuery
Niektóre z nich wydają się semantyką przy definiowaniu, czym jest biblioteka, a czym frameworkiem, ale te przykłady pomagają mi wytyczyć granicę.
Jeśli mówimy o odwróceniu kontroli, o którym mówi prawie każdy w powyższym wątku, to jQuery jest RAMĄ.
Ma IOC np. Kiedy piszemy funkcję $ (dokument) .ready {} ... to kontener wywołuje tę metodę i po prostu umieszczamy nasz kod w nawiasach. Nie jesteśmy osobą wywołującą tę metodę, a zatem „Odwrócenie kontroli”
W ten sposób jQuery jest RAMĄ.
ready()
.