52punkter

Knockout JS

90punkter

React

Knockout JS
Vinder
React
vs
vs

52 fakta i sammenligning

Knockout JS vs React

Knockout JS
React

Hvorfor er Knockout JS bedre end React?

  • Har to-vejs databinding
    ?
  • 35KB mindre filstørrelse uden afhængigheder
    ?

    43KBvs78KB
  • Bruger en "templating engine"
    ?
  • Understøtter beregnede egenskaber
    ?
  • Udvider HTML
    ?
  • Udgivet under MIT licens
    ?
  • Har en stabil offentlig API
    ?
  • Understøtter 2 tidligere versioner af Internet Explorer
    ?

    6vs8

Hvorfor er React bedre end Knockout JS?

  • Modellerne er almindelige JavaScript objekter
    ?
  • Bruger JSX til "templating"
    ?
  • Er skeptisk overfor DOM manipulerings biblioteker
    ?
  • Kan integreres med andre MV* konstruktioner
    ?
  • Har et populært plugin til at understøtte animationer
    ?
  • Tillader brug af visningen "mixins"
    ?
  • Kan renderes på serveren
    ?
  • Understøtter sammensatte (delvise) visninger
    ?

Hvilke er de mest populære sammenligninger?

Generel info

Har automatisk visnings sortering
Knockout JS
React
Har en mekanisme til at filtrere visninger baseret på anvendelses variabler (f. eks. når du søger) uden at skulle skrive meget ekstra kode.
Bruger en "templating engine"
Knockout JS
React
"Template engines" tillader nem og fleksibel brugergrænseflade.
Tillader brug af funktioner som egenskaber til at beregne egenskaber for objekter.
Bruger JSX til "templating"
Knockout JS
React
JSX er en "templating engine", som gør det muligt for udvikleren at skrive markup direkte i deres kode, som derefter er live- eller præ-kompileret til almindeligt JavaScript. Dette eliminerer adskillelsen mellem visnings markup og kode og tilbyder forbedringer I hastighed i forholdt til string-baseret "templating" sprog.
Udvider HTML
Knockout JS
React
Nogle ser dette som en fordel da det fjerner udgifterne til et andet skabelon sprog.
Udgivet under MIT licens
Knockout JS
React
MIT licensen er en meget liberal licens, der tillader enhver brug, herunder erhvervsbrug, uden garanti.
Kan bruges til at erstatte en del af en anden konstruktion uden at fjerne de resterende funktioner.
Mulighed for at indsætte visnings skabeloner i top-niveau visning fra en skabelon.
Anvender et officielt eller velkendt boilerplate-project, som bestemmer filstrukturen og lader udviklerne komme hurtigere igang.

Plug-ins

Har et plugin der indeholder faciliteter til nemt at oprette visning af animationer.
antal plugins

33

Ukendt. Hjælp os ved at foreslå en værdi. (React)

Plugins giver en nem måde at udvide funktionaliteten eller integrere med andre tjenester. Et højt antal plugins kan angive, at der er mange aktive brugere.
har en dedikeret plugin kilde.
Knockout JS
React
Dette viser at konstruktionen har et levende økosystem, stor samfundsstøtte og tillader større fleksibilitet og hurtigere udvikling.
Plugin til at hjælpe med at validere klientens input inden det bliver forarbejdet eller sendt til en server. Dette erstatter ikke server-side validering men kan markant forbedre brugeroplevelsen.
Omfatter funktioner til at holde modellerne synkroniseret med deres server-side repræsentation, uden brug for at skrive jQuery boilerplate ajax kald.
Har et plugin til at holde modellerne synkroniseret med deres server-side repræsentation, uden brug for at skrive jQuery boilerplate ajax kald.
Understøtter animation
Knockout JS
React
Indeholder faciliteter til nemt at oprette visning af animationer.
Har et plugin som giver en simpel funktion til at synkronisere modeller med HTML5 LocalStorage.

Programmer og pakker

Påkræver og anbefaler ikke brugen af et specifikt bibliotek(som jQuery, Zepto eller MooTools) til at håndtere DOM manipulation og kan bruges med det som foretrækkes af udvikleren.
"Asynchronous Module Definition" tillader nem modulær og "ren" programmering. Hvis en konstruktion ikke fungerer ordentligt med denne slags biblioteker kan det have andre metoder til at modulere dets komponenter og løse afhængigheder, som for eksempel afhængigheds injektion.
Bower er en brugervenlig npm-agtig pakke manager til frontend applikationer.
Node pakke-manageren kan også bruges til at håndtere frontend scripts.
Inkluderer JQuery Lite
Knockout JS
React
Anvender JQuery Lite elementer når DOM manipulering er nødvendig. På denne måde kan udviklere gøre brug af JQuery's solide hjælpefunktioner uden at være nød til at inkludere hele biblioteket. I mange tilfælde eliminerer dette projektets afhængighed af jQuery.
Anvender det populære værktøj underscore.js som en afhængighed. Undercore inkluderer hjælpefunktioner til liste manipulation og funktionel programmering.

Databinding

Har to-vejs databinding
Knockout JS
React
Modeller og visninger kan være forpligtede til at opdatere hinanden.
Understøtter en-vejs databinding
Knockout JS
React
Visninger kan være forpligtet til at opdatere automatisk når et objekt ændres.
Dette gør det nemmere at overføre data mellem applikationen og "REST-Services " eller "LocalStorage". Desuden reducerer det kompleksiteten fra "getter- og setter" funktioner.
Mixins er en programmerings metode, der muliggør at forskellige objekter kan dele "common behavior" uden brug af objektorienteret arv.
Kan udvides til at understøtte at modeller og visninger opdaterer hinanden. Dette øger filstørrelsen men giver større fleksibilitet.
Modeller ses igennem for ændringer. Dette er et velkendt mønster. Kan i visse tilfælde give bedre ydelse end "dirty checking".
Anvender "Dirty Checking"
Knockout JS
React
Kontrollerer for eventuelle ændringer og opdaterer de relevante områder. Kan i visse tilfælde give bedre ydelse end "observers".

Ydeevne

Mindre filstørrelse betyder hurtigere load tider.
Routing kan interagere med browserens url-adresse. Dette er meget vigtigt for at have en god brugeroplevelse hvis du bygger enkelt-side applikationer.
Anvender "Promises"
Knockout JS
React
Har intern implementation af Promises/A+ specifikationen. "Promises" er et populært alternativ til "callbacks" når det drejer sig om server svar.
Understøtter en "template engine" som kan pre-renderes på serveren. Dette kan eventuelt forbedre sidens hastighed, især på enheder med minimal computerkraft.
Kan renderes på serveren
Knockout JS
React
Dette forbedrer i høj grad søgemaskinens evne til at indeksere siden. Dette kan eventuelt forbedre sidens hastighed, især på enheder med minimal computerkraft.
Har afhængigheds injektion
Knockout JS
React
Dette forbedrer testmuligheder og modularitet.
nødvendige komponenter

0

Ukendt. Hjælp os ved at foreslå en værdi. (React)

Færre afhængigheder betyder at færre ekstra scripts skal inkluderes, som normalt resulterer i færre udviklingsomkostninger og hurtigere load tider.
Opdaterer DOM'en asynkront
Knockout JS
React
Modellens ændringer vises ikke umiddelbart i visnings opdateringer, men er sat i kø og bliver afsendt som en gruppe. Dette kan være meget mere effektivt end øjeblikkelige visnings opdateringer.
Tillader brug af biblioteker som "JQuery Deferred" til at understøtte "Promises". "Promises" er et populært alternativ til "callbacks" når det drejer sig om server svar.

Hvilke er de bedste MV* frameworks?

Vis alt
This page is currently only available in English.