Geschwindigkeitsvergleich – – Model-View-Presenter (MVP)



 Geschwindigkeitsvergleich – – Model-View-Presenter (MVP)

0 0


riotjs


On Github Endcoder / riotjs

Riot.js
Nadine & Patrick² 

„An incredibly fast,

powerful yet very tiny

client side library

for building large scale

web applications .“

Was ist Riot.js

  • Client-seitige MVP Bibliothek
  • Kleiner als 1 kb minified size
  • 0,88 kb gezippte Größe
  • Enthält Template Engine, Router-Funktion, Event Library, striktes MVP-pattern
  • Änderung des Models --> Automatisches Updaten der Views
  • Nutzt Vanilla JavaScript ohne Frameworks

 Geschwindigkeitsvergleich

//Das muss schneller gehen!

200 repeats
Riot
Resig
Hogan
Underscore
Handlebars
500 repeats
Riot
Resig
Hogan
Underscore
Handlebars
5000 repeats
Riot
Resig
Hogan
Underscore
Handlebars
0 ms
1 ms
8 ms
2 ms
11 ms
1 ms
7 ms
4 ms
4 ms
5 ms
6 ms
28 ms
20 ms
37 ms
8 ms

MVP vs. MVC

MVP MVC Zwei-Wege-Dispatching Komponenten kommunizieren mit allen anderen (außer Model --> Controller) User action geht auf View, von dort per Interface auf Presenter User action geht auf Controller Klare Interpretation Unterschiedlich interpretierbar, z.B. Rolle des Controllers Große/gute Event Library im Fokus Fokus auf Trennung der Komponenten Unittests auf Views möglich Views nicht einzeln testbar

Model-View-Presenter (MVP)

  • Einfacher als MVC oder MVVM
  • Gemeinsames Ziel:Applikationslogik von View separieren

Model

  • Definiert Applikation
  • Enthält Business Logic
  • Separiert vom Rest der Anwendung durch
  • riot.observable(object) 
    

Presenter

  • Enthält eigentliche Logik
  • Definiert Verhalten von UI

View

  • Sichtbarer Teil
  • "Template"-Fragmente von HTMLwerden während Laufzeit eingefügt
  • Variablen werden durch Template Engine eingesetzt

Live Demo

Vielen Dank für Eure Aufmerksamkeit!