65pkt.

CanJS

43pkt.

SproutCore

Zwycięzca
CanJS
SproutCore
vs
vs

23 faktów w porównaniu

CanJS vs SproutCore

CanJS
SproutCore
CanJS
SproutCore

Dlaczego CanJS jest lepszy od SproutCore?

  • Wykorzystuje Promises
  • Nie potrzebuje biblioteki manipulacji DOM
  • Oficjalnie wspiera zarządzanie zależnościami Bower
  • Dobrze działa z więcej niż tylko jednym mechanizmem szablonowym
  • Pracuje z bibliotekami AMD takimi jak require.js
  • Wbudowana synchronizacja abstrakcji RESTful dla modeli
  • Posiada dedykowane źródło wtyczek.
  • Posiada zintegrowaną walidację wejścia

Dlaczego SproutCore jest lepszy od CanJS?

  • Posiada dwukierunkowe wiązanie danych
  • 1 mniej zależności
  • Posiada popularny projekt zestandaryzowany
  • Posiada generator projektu
  • Zawiera strukturę testującą

Najważniejsze i najciekawsze funkcje

relevant

Informacje ogólne

1.Używa mechanizmu szablonowego
CanJS
SproutCore

Mechanizm szablonowy pozwala na proste i elastyczne budowanie UI.

2.Wspiera obliczone własności
CanJS
SproutCore

Pozwala na użycie funkcji jako własności do obliczenia własności obiektów.

3.Opublikowane na licencji MIT
CanJS
SproutCore

Licencja MIT to niezwykle permisywna licencja, która pozwala na kompleksowe wykorzystanie, w tym biznesowe, bez gwarancji.

4.Wspiera złożone (częściowe) widoki
CanJS
SproutCore

Pozwala na gniazdowanie szablonów widoku na górnym poziomie widoku z szablonu.

5.Posiada stabilny, publiczny API
CanJS
SproutCore

Numer najważniejszej wersji jest wyższy od 0. Oznacza to, że nie zostanie naruszona kompatybilność wprowadzonych przez zespół programistów zmian API.

6.obsługiwane wersje Internet Explorera

7

7

Wspieranie starszych wersji przeglądarek może okazać się przydatne dla projektów zespołowych i projektów z dużą bazą użytkowników, wśród których znajdują się użytkownicy Internet Explorer.

Zwycięzca

rAppid JS

0

7.Dobrze działa z więcej niż tylko jednym mechanizmem szablonowym
CanJS
SproutCore

Inne konstrukcje mogą być zablokowane innym mechanizmem szablonowym, które ci się nie podobają i nic nie możesz z tym zrobić.

8.Posiada popularny projekt zestandaryzowany
CanJS
SproutCore

Posiada oficjalny lub dobrze znany projekt zestandaryzowany, który buduje zalecaną strukturę pliku i pozwala programistom na szybsze rozpoczęcie pracy.

9.Posiada zintegrowaną walidację wejścia
CanJS
SproutCore

Wbudowane narzędzia ułatwiające walidację 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.

10.Posiada generator projektu
CanJS
SproutCore

Pozwala programiście na automatyczne ustawienie nowego projektu przy użyciu wbudowanych narzędzi lub narzędzi pomocniczych, takich jak Yeoman.

11.Zawiera strukturę testującą
CanJS
SproutCore

Zintegrowany pakiet testujący zachęca programistę do częstego i wczesnego pisania jednostek testowych, co może okazać się bardzo istotne w kwestii przyszłego rozwoju.

relevant

Wtyczki

1.Wbudowana synchronizacja abstrakcji RESTful dla modeli
CanJS
SproutCore

Zawiera udogodnienia do utrzymywania modeli w synchronizacji z ich serwerowym obrazem bez potrzeby pisania jQuery zestandaryzowanych połączeń ajax.

2.Posiada dedykowane źródło wtyczek.
CanJS
SproutCore

Pokazuje to, że konstrukcja posiada żywy ekosystem, duże wsparcie społeczności i pozwala na większą elastyczność i szybsze tempo rozwoju.

relevant

Biblioteki & Pakiety

1.Nie potrzebuje biblioteki manipulacji DOM
CanJS
SproutCore

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.

2.Oficjalnie wspiera zarządzanie zależnościami Bower
CanJS
SproutCore

Bower to prosty w obsłudze, podobny do pakietu npm menedżer do aplikacji interfejsu.

3.Pracuje z bibliotekami AMD takimi jak require.js
CanJS
SproutCore

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.

relevant

Wiązanie danych

1.Posiada dwukierunkowe wiązanie danych
CanJS
SproutCore

Modele i widoki mogą być nawzajem aktualizowane.

2.Wspiera jednokierunkowe wiązanie danych
CanJS
SproutCore

Widoki mogą być aktualizowane automatycznie, gdy widoczny obiekt ulega zmianom.

3.Wykorzystuje zdolność do obserwacji do wiązania danych
CanJS
SproutCore

Modele są obserwowane na wypadek zaistnienia zmian. Jest to dobrze znany schemat. W niektórych przypadkach może być bardziej wydajny niż dirty-checking.

relevant

Wydajność

1.Wykorzystuje Promises
CanJS
SproutCore

Posiada wewnętrzne wprowadzenie specyfikacji Promises/A+. Promises to popularna alternatywa dla oddzwanianiu przy postępowaniu z odpowiedziami serwera.

2.Wspiera trasowanie i tworzenie łącza do strony docelowej
CanJS
SproutCore

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ą.

3.Szablony mogą być wcześniej skompilowane na serwerze
CanJS
SproutCore

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ą.

4.zależności

1

0

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.

Zwycięzca

SproutCore

0

Dodaj do porównania
    This page is currently only available in English.