67punten

Backbone JS

52punten

Knockout JS

Vergelijkingswinnaar
Backbone JS
Knockout JS
vs
vs

52 feiten in vergelijking

Backbone JS vs Knockout JS

Backbone JS
Knockout JS

Waarom is Backbone JS beter dan Knockout JS?

  • 24KB kleinere bestandsgrootte zonder afhankelijkheden
    ?

    19KBvs43KB
  • Ondersteunt routing en deep linking
    ?
  • Kunnen op de server worden gerenderd
    ?
  • Ondersteunt gecomponeerde (gedeeltelijke) weergave
    ?
  • Kan worden uitgebreid met een populaire plugin om een two-way gegevensbinding te krijgen.
    ?
  • Integreert goed met externe bibliotheken om Promises/A + ondersteuning in te schakelen
    ?
  • Heeft een populaire boilerplate-project
    ?
  • 120 meer plugins
    ?

    153vs33

Waarom is Knockout JS beter dan Backbone JS?

  • Heeft two-way gegevensbinding
    ?
  • Ondersteunt one-way data binding
    ?
  • Ondersteunt berekende eigenschappen
    ?
  • Breidt HTML uit
    ?
  • 2 minder afhankelijkheden
    ?
  • Ondersteund 1 oudere versies van Internet Explorer
    ?

    6vs7
  • Heeft speciale debugging tools
    ?

Wat zijn de meest populaire vergelijkingen?

Algemene informatie

Heeft automatische weergave filtering
Backbone JS
Knockout JS
Heeft een mechanisme om weergaven op veel verschillende variabelen te filteren (bijvoorbeeld bij zoeken) zonder dat extra veel code geschreven moet worden.
Gebruikt een templating engine
Backbone JS
Knockout JS
Template engines zorgen voor een gemakkelijke en flexibele UI bouw.
Ondersteunt berekende eigenschappen
Backbone JS
Knockout JS
Maakt het gebruik van functies om eigenschappen van objecten te berekenen mogelijk.
Gebruikt JSX voor templating
Backbone JS
Knockout JS
JSX is een template engine die het de ontwikkelaar mogelijk maakt om opmaak rechtstreeks in hun code te schrijven, die vervolgens live- of pre-gecompileerd wordt naar simpel JavaScript. Dit elimineert de scheiding tussen weergave en code en biedt verbeterde snelheid over op strings gebaseerde template talen.
Breidt HTML uit
Backbone JS
Knockout JS
Sommige mensen zien dit als een voordeel omdat het de overhead van een andere template taal elimineert.
Gepubliceerd onder MIT Licentie
Backbone JS
Knockout JS
De MIT Licentie is een zeer tolerante licentie die alle toepassingen mogelijk maakt, met inbegrip van zakelijk gebruik, zonder garantie.
Integreert met andere MV* Kaderprogrammas
Backbone JS
Knockout JS
Kan worden gebruikt om een deel van het kaderprogramma te vervangen zonder de overige functies te verwijderen.
Zorgt voor top-niveau views van een template
Heeft een populaire boilerplate-project
Backbone JS
Knockout JS
Heeft een officieel of bekend boilerplate project dat de aanbevolen bestandsstructuur aanlegt en stelt ontwikkelaars instaat sneller aan de slag te gaan.

Plugins

Heeft een plugin die dat het makkelijk maakt weergave animaties te creëren.
Plug-ins bieden een eenvoudige manier om de functionaliteit uit te breiden of te integreren met andere services. Een groot aantal plug-ins wijst op een actieve gemeenschap. Alleen officiële plug-ins worden in aanmerking genomen.
heeft een speciale plugin bron.
Backbone JS
Knockout JS
Dit toont aan dat het kaderprogramma een levend ecosysteem en grote gemeenschap steun heeft, dit zorgt voor meer flexibiliteit en snellere ontwikkeling.
Plugin voor helpen valideren van cliënt input voordat het verwerkt of verzonden wordt naar een server. Hoewel dit is geen vervanging van de server-side validatie, kan het de gebruikerservaring sterk verbeteren.
Inclusief hulpprogramma's om modellen synchroon met hun server-side weergaven te houden, zonder dat het nodig is om jQuery boilerplate ajax verzoeken te schrijven.
Heeft een plugin om modellen synchroon met hun server-side vertegenwoordiging te houden, zonder de noodzaak van het schrijven boilerplate ajax calls.
Ondersteund animaties
Backbone JS
Knockout JS
Bevat voorzieningen die het creëren van weergave animaties makkelijk maakt.
Heeft plugin die een eenvoudige functionaliteit biedt om modellen te synchroniseren met de HTML5 localStorage.

Libraries & Packages

Is DOM manipulatie bibliotheek agnostisch
Backbone JS
Knockout JS
Vereist geen of moedigt niet het gebruik van een specifieke bibliotheek (zoals jQuery, Zepto of MooTools) aan voor het werken met DOM manipulaties en kan gebruikt worden met degene waar de ontwikkelaar voorkeur aangeeft.
Asynchronous Module Definition bibliotheken zorgen voor een gemakkelijke modulaire en schone programmering. Als een kader programma niet goed werkt met zulke bibliotheken zijn er misschien andere manieren om componenten te modulariseren en afhankelijkheden op te lossen, zoals Depndency Injection.
Bower is een makkelijk te gebruiken, NPM-achtige pakketbeheerder voor front end applicaties.
De node pakketbeheerder kan ook worden gebruikt voor het beheer van front end scripts.
Inclusief jQuery Lite
Backbone JS
Knockout JS
Maakt gebruik van JQuery Lite elementen waar DOM manipulatie nodig is. Op deze manier krijgen ontwikkelaars de comfortabele helpfuncties van jQuery zonder de hele bibliotheek te moeten includeren. In veel gevallen elimineert dit het afhankelijkheid van jQuery voor het project.
Inclusief de Underscore.js Bibliotheek
Backbone JS
Knockout JS
Heeft de populaire hulpprogramma bibliotheek underscore.js als een afhankelijkheid. Underscore bevat helper functies voor het manipuleren van lijsten en functioneel programmeren.

Data binding

Heeft two-way gegevensbinding
Backbone JS
Knockout JS
Modellen en aanzichten kunnen worden ingesteld elkaar te updaten.
Ondersteunt one-way data binding
Backbone JS
Knockout JS
Aanzichten kunnen worden ingesteld om automatisch te veranderen wanneer een waarneembaar object verandert.
Dit zorgt voor eenvoudiger data-overdracht tussen de applicatie en de REST-services of de localStorage. Het vermindert ook de complexiteit van de getter-en setter functies.
Staat het gebruik van weergave Mixins toe
Backbone JS
Knockout JS
Mixins is een programmering techniek waarmee verschillende objecten identiek gedrag delen zonder de noodzaak van een objectgeoriënteerde overerving.
Kan worden uitgebreid zodat steun modellen en weergaven elkaar updaten. Dit voegt meer bestandsgrootte toe, maar zorgt voor meer flexibiliteit.
Modellen worden geobserveerd op veranderingen. Dit is een bekend patroon. Kan, in sommige gevallen, meer presteren dan dirty-checking.
Gebruikt Dirty-Checking
Backbone JS
Knockout JS
Controleert voor mogelijke wijzigingen en updates in de betreffende velden. Kan, in sommige gevallen, meer presteren dan waarnemers.

Prestatie

Kleinere bestandsgrootte betekent snellere laadtijden.
Ondersteunt routing en deep linking
Backbone JS
Knockout JS
Routing maakt interactie met de browser url mogelijk. Dit is zeer belangrijk voor een goede gebruikerservaring als u een één-pagina bouwt.
Gebruikt Promises
Backbone JS
Knockout JS
Heeft een interne implementatie van de Promises/A +-specificatie. Promises zijn een populair alternatief voor callbacks in de omgang met serverreacties.
Ondersteunt een template engine die kan vooraf worden gerenderd op de server. Dit verbetert eventueel pagina snelheid, vooral op apparaten met lage rekenkracht.
Kunnen op de server worden gerenderd
Backbone JS
Knockout JS
Dit verbetert sterk de doorzoekbaarheid van de zoekmachine. Dit verbetert eventueel de pagina snelheid, vooral op apparaten met lage rekenkracht.
Heeft Afhankelijkheid Injectie
Backbone JS
Knockout JS
Dit verbetert testbaarheid en modulariteit.
Minder afhankelijkheden betekent minder extra scripts, meestal resulteert dit in minder development overhead en snellere laadtijden.
Update de DOM asynchroon
Backbone JS
Knockout JS
Model veranderingen leiden niet onmiddellijk tot weergave updates, maar komen in een wachtlijst terecht en worden in als groep verzonden. Dit kan een stuk meer performen dan directe weergave updates.
Laat het gebruik van bibliotheken zoals jQuery Deferred toe ter ondersteuning van promises. Promises zijn een populair alternatief tot callbacks in de omgang met serverreacties.

Wat zijn de beste MV* frameworks?

Toon alles
This page is currently only available in English.