Z radością korzystam z JQuery przez ostatnie 2 lata i odniosłem sukces, tworząc z nim naprawdę fajną funkcjonalność ... więc czuję się z tym dobrze. Wierzę również, że przyszłość sieci będzie kontynuowana na bieżącej ścieżce po stronie klienta.
Jednak...
Kolejne wyzwanie wydaje się mieć postać różnych struktur kontrolerów: KnockoutJS , BackboneJS , SproutCore , JavaScriptMVC (lista jest długa).
Dodatkowo, istnieje kilka świetnych narzędzi AMD Loader do użycia, takich jak RequireJS lub LabJS itp. Jednak jQuery ma teraz define
i then
możliwości wbudowane .
Coraz trudniej jest to wszystko śledzić ...
A teraz moim zadaniem wydaje się być ocena / wybór strategicznego kierunku korzystania z jakiejś formy środowiska MVC lub MVVM po stronie klienta ... ale mam tak wiele pytań.
- Gdzie JQuery pasuje do różnych struktur kontrolerów wymienionych powyżej?
- Czy JQuery używane obok siebie, czy niektóre z nich mają własne „ JQuery -styled wersję” pieczony w?
- Czy narzędzia takie jak RequireJS są nadal potrzebne, jeśli implementujesz jedną z różnych platform kontrolerów wymienionych powyżej?
- Czy wbudowane w JQuery funkcje
define
ithen
możliwości zastępują wspomniany wyżej moduł ładujący AMD? - Który wydaje się najbardziej modułowy? (patrz uwagi poniżej)
UWAGI:
Jednej rzeczy, której nie chcę w żadnym przyszłym frameworku, jest wymóg korzystania z ogromnej ilości funkcji, których nie używam. Oznacza to, że wolałbym używać frameworku, który jest naprawdę modułowy. Na przykład, aby użyć interfejsu użytkownika jQuery, musisz pobrać wiele innych bibliotek podstawowych, których w rzeczywistości nie możesz użyć.
Będę eksperymentował z każdym z nich, ale niektóre PRAWDZIWE informacje zwrotne byłyby świetne. Widziałem kilka „podobnych” pytań, ale żadne z nich tak naprawdę nie odpowiedziało na powyższe przekrzywienie.
Z góry dziękuję!
źródło
Odpowiem na JavaScriptMVC, ponieważ jestem współpracownikiem:
JavaScriptMVC zależy od jQuery i używa go w szerokim zakresie.
JavaScriptMVC nie ma konkurencyjnych funkcji z jQuery. To nie jest tak prawdziwe w przypadku Backbone, który ma swój własny system zdarzeń. Ale wszystko, co dodaje kręgosłup lub kręgosłup, jest bardzo minimalne.
JavaScriptMVC jest wyposażony w system zarządzania zależnościami -> kradzież. Możesz używać JavaScriptMVC z RequireJS, ale kradzież jest w rzeczywistości znacznie bardziej wydajna i pobierana przez użytkownika o równej wielkości.
To nie jest sprecyzowane. JavaScriptMVC jest niezwykle modułowy. Używasz tylko tego, czego potrzebujesz. W porównaniu do kręgosłupa lub kręgosłupa możesz używać osobnych części M, V lub C. Po złożeniu jest tylko 1k większy niż kręgosłup (przy użyciu jQuery i podkreślenia). Możesz zobaczyć różne rozmiary komponentów podstawowych tutaj: https://github.com/jupiterjs/javascriptmvc/issues/26
Ale JavaScriptMVC jest znacznie potężniejszy (pod względem funkcji) w porównaniu do kręgosłupa lub kręgosłupa. Na przykład, szablony obsługi zdarzeń zapobiegają praktycznie wszystkim wyciekom pamięci. Oto podpowiedź, która ukrywa się po kliknięciu okna:
Jest to absolutnie krytyczne w przypadku podejścia MVC, gdy elementy sterujące słuchają zmian w modelu, takich jak:
Kontroler automatycznie odłączy wszystkie zewnętrzne procedury obsługi zdarzeń.
Kilka innych zalet tylko części MVC:
Teraz JavaScriptMVC to znacznie więcej niż tylko części MVC (które są częścią podprojektu jQueryMX). To ma:
Od tego, czego użyć, wiele zależy. Wiele zależy od tego, czy tworzysz „aplikację”, czy „stronę”. Aplikacja, która wymaga testowania, zarządzania zależnościami, gdzie zależy Ci na wyciekach pamięci, przyjrzałbym się JMVC lub SproutCore.
Jeśli sklejasz ze sobą kilka podstawowych widżetów, spojrzałbym na kręgosłup lub kręgosłup.
źródło