W sekcji Q & A z tej rozmowy , Douglas Crockforda mówi, że jQuery nie skaluje jak również kilka innych popularnych bibliotek. Co on przez to rozumie i co z innymi bibliotekami czyni je bardziej skalowalnymi?
W sekcji Q & A z tej rozmowy , Douglas Crockforda mówi, że jQuery nie skaluje jak również kilka innych popularnych bibliotek. Co on przez to rozumie i co z innymi bibliotekami czyni je bardziej skalowalnymi?
Odpowiedzi:
Jeśli obejrzysz wideo, nie mówi on formalnie o jQuery. Jest to szybka odpowiedź na nieco nietypowe pytanie zadane przez kogoś po prezentacji ... na końcu prezentacji, około minuty 1:29.
Mówi wiele dobrych rzeczy o jQuery. Część o tym nie skaluje się dobrze, mówi, że nie uważa, że jQuery skaluje się bardzo dobrze w przypadku bardzo skomplikowanych aplikacji (porównując go do innych rzeczy, takich jak YUI). .
Trudno mi powiedzieć bez oglądania wideo, ale zgaduję, że to dlatego, że jQuery nie oferuje wszystkich funkcji większości innych bibliotek, które ułatwiają programowanie JavaScript. Celem jQuery jest ułatwienie manipulacji DOM poprzez uproszczenie adresowania elementów za pomocą selektorów CSS i zapewnienie łatwej struktury do modyfikacji tych elementów. Oferuje inne funkcje, takie jak żądania Ajax , podstawowe zarządzanie zdarzeniami, szablony i inne podstawowe funkcje, ale o to chodzi.
Inne biblioteki, takie jak Prototype , MooTools , Ext JS i Dojo, zapewniają mnóstwo innych funkcji do tworzenia obiektów, zarządzania tablicami i kolekcjami, manipulowania ciągami znaków i robienia innych drobiazgowych rzeczy, które my, programiści, możemy robić.
Krótko mówiąc, w jQuery brakuje narzędzi, które byłyby potrzebne w aplikacjach JavaScript na dużą skalę. Z tego powodu bardzo rzadko można znaleźć bardzo ciężkie strony JavaScript za pomocą jQuery. Na przykład Mint.com jest oparty na YUI . Usługa internetowa Apple MobileMe działa na SproutCore (główna strona Apple używa Prototypu).
Przynajmniej tak myślę, że miał na myśli .
jQuery nie zezwala na wielokrotne użycie, na przykład MooTools .
Jest to decyzja filozoficzna / projektowa: jQuery nie zawiera dużo kodu do scenariuszy pożaru i zapomnienia.
Kiedy budujesz dyskretne wrażenia JavaScript (zwykle tylko rozszerzenia strony), działa to bardzo dobrze i wymaga bardzo mało kodu. Podczas tworzenia Dokumentów Google ... nie tyle. Będziesz chciał więcej koncepcji OOP, które ujawniają inne projekty, takich jak dziedziczenie, mechanizmy podobne do interfejsu itp.