67pkt.

Backbone JS

52pkt.

Knockout JS

Zwycięzca
Backbone JS
Knockout JS
vs
vs

52 faktów w porównaniu

Backbone JS vs Knockout JS

Backbone JS
Knockout JS

Dlaczego Backbone JS jest lepszy od Knockout JS?

  • 24KB mniejszy rozmiar pliku bez zależności
    ?

    19KBvs43KB
  • Wspiera trasowanie i tworzenie łącza do strony docelowej
    ?
  • Mogą być renderowane na serwerze
    ?
  • Wspiera złożone (częściowe) widoki
    ?
  • Może zostać rozszerzone przez popularną wtyczkę, aby umożliwić dwukierunkowe wiązanie danych
    ?
  • Dobrze współpracuje z bibliotekami stron trzecich do aktywacji wsparcia Promises/A+
    ?
  • Posiada popularny projekt zestandaryzowany
    ?
  • 120 więcej wtyczek
    ?

    153vs33

Dlaczego Knockout JS jest lepszy od Backbone JS?

  • Posiada dwukierunkowe wiązanie danych
    ?
  • Wspiera jednokierunkowe wiązanie danych
    ?
  • Wspiera obliczone własności
    ?
  • Rozszerza HTML
    ?
  • 2 mniej zależności
    ?
  • Wspiera 1 wcześniejsze wersje Internet Explorer
    ?

    6vs7
  • Posiada dedykowane narzędzia debugowania
    ?

Jakie są najpopularniejsze porównania?

Informacje ogólne

Posiada automatyczny filtr widoku
Backbone JS
Knockout JS
Posiada mechanizm do filtrowania widoków oparty na zakresie zmiennych (na przykład przy wyszukiwaniu) bez potrzeby zbytniego wpisywania dodatkowych kodów.
Używa mechanizmu szablonowego
Backbone JS
Knockout JS
Mechanizm szablonowy pozwala na proste i elastyczne budowanie UI.
Wspiera obliczone własności
Backbone JS
Knockout JS
Pozwala na użycie funkcji jako własności do obliczenia własności obiektów.
Wykorzystuje JSX do szablonowania
Backbone JS
Knockout JS
JSX to mechanizm szablonowania, który umożliwia programiście wpisanie adiustacji bezpośrednio w ich kod, co następnie jest wcześniej lub na bieżąco kompilowana do zwykłego JavaScript. Eliminuje to separację pomiędzy widokiem adiustacji i kodu oraz oferuje lepszą szybkość w szablonach językowych opartych na łańcuchach.
Rozszerza HTML
Backbone JS
Knockout JS
Niektórzy widzą w tym zaletę, ponieważ eliminuje zapas z innej szablonu językowego.
Opublikowane na licencji MIT
Backbone JS
Knockout JS
Licencja MIT to niezwykle permisywna licencja, która pozwala na kompleksowe wykorzystanie, w tym biznesowe, bez gwarancji.
Współpracuje z innymi strukturami MV*
Backbone JS
Knockout JS
Może być wykorzystane do zamiany części innej struktury bez usuwania pozostałych funkcji.
Wspiera złożone (częściowe) widoki
Backbone JS
Knockout JS
Pozwala na gniazdowanie szablonów widoku na górnym poziomie widoku z szablonu.
Posiada popularny projekt zestandaryzowany
Backbone JS
Knockout JS
Posiada oficjalny lub dobrze znany projekt zestandaryzowany, który buduje zalecaną strukturę pliku i pozwala programistom na szybsze rozpoczęcie pracy.

Wtyczki

Posiada wtyczkę, która zawiera udogodnienia do prostego tworzenia animacji widoku.
Wtyczki oferują prosty sposób na rozszerzenie funkcjonalności lub integracji z innymi usługami. Duża liczba wtyczek oznacza, że istnieje aktywna społeczność użytkowników. Tylko oficjalne wtyczki są uwzględniane.
Posiada dedykowane źródło wtyczek.
Backbone JS
Knockout JS
Pokazuje to, że konstrukcja posiada żywy ekosystem, duże wsparcie społeczności i pozwala na większą elastyczność i szybsze tempo rozwoju.
Wtyczki, mające za zadanie pomóc w walidacji wejścia klienta przed rozpoczęciem przetwarzania lub wysłania do serwera. Nie zastępuje to serwerowej walidacji i może znacznie ulepszyć doznania użytkownika.
Zawiera udogodnienia do utrzymywania modeli w synchronizacji z ich serwerowym obrazem bez potrzeby pisania jQuery zestandaryzowanych połączeń ajax.
Posiada wtyczkę do utrzymywania modeli w synchronizacji z ich serwerowym obrazem bez potrzeby pisania jQuery zestandaryzowanych połączeń ajax.
Wspiera animacje
Backbone JS
Knockout JS
Zawiera udogodnienia do prostego tworzenia widoku animacji.
Posiada wtyczkę oferującą prostą funkcjonalność do synchronizacji modeli z pamięcią lokalną HTML5.

Biblioteki & Pakiety

Nie potrzebuje biblioteki manipulacji DOM
Backbone JS
Knockout JS
Nie wymaga lub nie wspiera korzystania z określonych bibliotek (takich jak jQuery, Zepto lub MooTools) do obsługi manipulacji DOM i może być użyte z tą, którą zaleca programista.
Biblioteki AMD (Asynchronous Module Definition) pozwalają na łatwe, modułowe i całkowite programowanie. Jeśli schemat nie działa odpowiednio z takimi bibliotekami, to może mieć ona inne środki do modularyzacji swoich komponentów i rozpoznanie zależności, jak Wstrzykiwanie Zależności.
Bower to prosty w obsłudze, podobny do pakietu npm menedżer do aplikacji interfejsu.
Menedżer pakietu węzłowego może być również użyty do zarządzania skryptami interfejsu.
Zawiera jQuery Lite
Backbone JS
Knockout JS
Wykorzystuje elementy jQuery, gdzie niezbędna okazuje się manipulacja DOM. W ten sposób, programiści otrzymują wygodne funkcje pomocnicze jQuery bez konieczności załączania całej biblioteki. W wielu przypadkach korzystania z niego eliminuje zależność projektu od jQuery.
Zawiera bibliotekę Underscore.js
Backbone JS
Knockout JS
Posiada popularną, użyteczną bibliotekę underscore.js jako zależność. Underscore zawiera pomocne funkcje do spisu manipulacji i funkcjonalnego programowania.

Wiązanie danych

Posiada dwukierunkowe wiązanie danych
Backbone JS
Knockout JS
Modele i widoki mogą być nawzajem aktualizowane.
Wspiera jednokierunkowe wiązanie danych
Backbone JS
Knockout JS
Widoki mogą być aktualizowane automatycznie, gdy widoczny obiekt ulega zmianom.
Modele są prostymi obiektami JavaScript
Backbone JS
Knockout JS
Ułatwia to transfer danych pomiędzy aplikacją i serwisami REST lub pamięcią lokalną. Redukuje również złożoność funkcji getter i setter.
Domieszka to technika programowania pozwalająca różnym obiektom na dzielenie się wspólnym zachowaniem bez konieczności obiektowego dziedziczenia.
Może zostać rozszerzone do wspierania modeli i wyświetleń poprzez wzajemne aktualizacje. Zwiększa to rozmiar pliku, ale pozwala na większą elastyczność.
Modele są obserwowane na wypadek zaistnienia zmian. Jest to dobrze znany schemat. W niektórych przypadkach może być bardziej wydajny niż dirty-checking.
Wykorzystuje Dirty-Checking
Backbone JS
Knockout JS
Sprawdza, czy nie zaistniały żadne zmiany, aktualizacje na odpowiednich polach. W niektórych przypadkach może być bardziej wydajny niż "obserwatorzy".

Wydajność

Mniejszy rozmiar pliku oznacza szybszy czas ładownia.
Trasowanie (routing) pozwala na interakcję z adresem url przeglądarki. Jest to bardzo ważne dla wygodnej pracy użytkownika pracującego nad jednostronną aplikacją.
Wykorzystuje Promises
Backbone JS
Knockout JS
Posiada wewnętrzne wprowadzenie specyfikacji Promises/A+. Promises to popularna alternatywa dla oddzwanianiu przy postępowaniu z odpowiedziami serwera.
Wspiera mechanizm szablonowy, który może wcześniej być renderowany na serwerze. Prawdopodobnie zwiększy to szybkość strony, zwłaszcza na urządzeniach z niską mocą obliczeniową.
Mogą być renderowane na serwerze
Backbone JS
Knockout JS
Znacznie poprawia akceptowalność zawartości przez wyszukiwarki internetowe. Prawdopodobnie zwiększy to szybkość strony, zwłaszcza na urządzeniach z niską mocą obliczeniową.
Posiada wstrzykiwanie zależności
Backbone JS
Knockout JS
Zwiększa to sprawdzalność i modularność.
Mniej zależności wiąże się z mniejszą liczbą dodatkowych skryptów do zawarcia, czego efektem zazwyczaj jest mniej złożony zapas i krótszy czas ładownia.
Asynchronicznie aktualizuje DOM
Backbone JS
Knockout JS
Zmiany modeli nie wpływają bezpośrednio na aktualizacje widoku, ale są ustawione w kolejkę i wyekspediowane jako grupa. Może się to okazać o wiele bardziej wydajne niż błyskawiczne aktualizacje widoku.
Pozwala na wykorzystanie bibliotek takich jak jQuerry Deffered do Promises wsparcia. Promises to popularna alternatywa dla oddzwanianiu przy postępowaniu z odpowiedziami serwera.

Najlepszy/najlepsza w kategorii frameworki MV*?

Pokaż wszystko
This page is currently only available in English.