SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Einführung                    Methode und Ausführung                      Schluss




             Evaluation of Frameworks for Desktop-Like
                Web Applications in Pure JavaScript

                                 Thomas Billicsich

                   Institut für Informationssysteme und Computer Medien
                                            TU Graz


                                15. November 2012
Einführung                   Methode und Ausführung   Schluss



Gliederung


       1     Einführung
              Web Applications
              Frameworks

       2     Methode und Ausführung
              Entscheidungsprozess
              Kandidaten
              Modell und Evaluierung

       3     Schluss
              Ergebnis
              Validierung und Learnings
Einführung                   Methode und Ausführung   Schluss



Gliederung


       1     Einführung
              Web Applications
              Frameworks

       2     Methode und Ausführung
              Entscheidungsprozess
              Kandidaten
              Modell und Evaluierung

       3     Schluss
              Ergebnis
              Validierung und Learnings
Einführung                 Methode und Ausführung   Schluss



Was ist eine Web Application?



      Eigenschaften
      läuft im Browser
      Aufruf durch URL-Eingabe

      Beispiele
             • Suchmaschinen
             • Maps
             • E-Mail
Einführung                      Methode und Ausführung                               Schluss



Vorteile und Nachteile

      Vorteile

             • plattformunabhängig                       • Datensicherheit
             • kein Setup/Installation                   • Zusammarbeit, Mobilität
             • keine Virengefahr


                    Nachteile
                      • Internetverbindung
                       • ressourcenintensiv
                       • kein lokales Dateisystem
                       • keine lokale Peripherie
Einführung     Methode und Ausführung   Schluss



Desktop-Like
GMX
Einführung     Methode und Ausführung   Schluss



Desktop-Like
iCloud
Einführung       Methode und Ausführung   Schluss



Desktop-Like
GMX vs. iCloud
Einführung                   Methode und Ausführung   Schluss



Gliederung


       1     Einführung
              Web Applications
              Frameworks

       2     Methode und Ausführung
              Entscheidungsprozess
              Kandidaten
              Modell und Evaluierung

       3     Schluss
              Ergebnis
              Validierung und Learnings
Einführung                     Methode und Ausführung                  Schluss



Frameworks
Definition




      ein Framework ist...
             • eine Menge von zusammengehörigen Klassen.
             • eine Lösungsskizze für eine bestimmte Problemklasse.
             • ein wiederverwendbares Design einer Menge von Klassen
               und deren Interaktion.
             • ein Programmgerüst, das an die eigenen Bedürfnisse
               angepasst werden muss.
             • ein vorgegebenes Design, das Entscheidungen
               vorwegnimmt.
             • keine Library
Einführung                    Methode und Ausführung                   Schluss



Frameworks
Eigenschaften




      Eigenschaften

             • Modular
                                                       • Ausgereift
             • Erweiterbar
                                                       • Komplex
             • Zentral steuernd
                                                       • Outsourcing
             • Abstrakt
Einführung                   Methode und Ausführung   Schluss



Gliederung


       1     Einführung
              Web Applications
              Frameworks

       2     Methode und Ausführung
              Entscheidungsprozess
              Kandidaten
              Modell und Evaluierung

       3     Schluss
              Ergebnis
              Validierung und Learnings
Einführung                     Methode und Ausführung   Schluss



Entscheidungsprozess
Stufen




             I Evaluationsmodell
             II Marktanalyse
         III Requirements
         IV Screening
         V Evaluierung
         VI Validierung
Einführung                   Methode und Ausführung   Schluss



Gliederung


       1     Einführung
              Web Applications
              Frameworks

       2     Methode und Ausführung
              Entscheidungsprozess
              Kandidaten
              Modell und Evaluierung

       3     Schluss
              Ergebnis
              Validierung und Learnings
Einführung                   Methode und Ausführung                              Schluss



Kandidaten
Gesamtübersicht I




             • ActiveJS                               • CorMVC
             • Agility.js                             • DHTMLX
             • AmplifyJS                              • Dojo Toolkit
             • AngularJS                              • Eyeballs
             • AppJS                                  • Ember.js
             • Backbone.js                            • Ext JS
             • batman.js                              • Glow
             • Bindows                                • Google Closure Library
             • Cappuccino                             • JavaScriptMVC
             • Choco                                  • jQuery
Einführung                    Methode und Ausführung                       Schluss



Kandidaten
Gesamtübersicht II




             • Knockback.js                            • script.aculo.us
             • Knockout.js                             • SmartClient
             • Luna (Asana)                            • Spine.js
             • MooTools                                • SproutCore
             • MochiKit                                • Spry
             • Mojito (Yahoo!)                         • UIZE
             • Prototype                               • underscore.js
             • qooxdoo                                 • Wakanda
             • Rialto                                  • YUI!
             • Rico                                    • zepto.js
             • Sammy.js
Einführung    Methode und Ausführung   Schluss



Kandidaten
ausgewählte




                         Bindows
                      Cappuccino
                         DHTMLX

                      Dojo Toolkit
                          Ext JS
                         qooxoo
                      SmartClient
                      SproutCore
Einführung   Methode und Ausführung   Schluss



Kandidaten
Bindows
Einführung   Methode und Ausführung   Schluss



Kandidaten
Cappuccino
Einführung   Methode und Ausführung   Schluss



Kandidaten
DHTMLX
Einführung     Methode und Ausführung   Schluss



Kandidaten
Dojo Toolkit
Einführung   Methode und Ausführung   Schluss



Kandidaten
Ext JS
Einführung   Methode und Ausführung   Schluss



Kandidaten
qooxdoo
Einführung    Methode und Ausführung   Schluss



Kandidaten
SmartClient
Einführung   Methode und Ausführung   Schluss



Kandidaten
SproutCore
Einführung                   Methode und Ausführung   Schluss



Gliederung


       1     Einführung
              Web Applications
              Frameworks

       2     Methode und Ausführung
              Entscheidungsprozess
              Kandidaten
              Modell und Evaluierung

       3     Schluss
              Ergebnis
              Validierung und Learnings
Einführung       Methode und Ausführung   Schluss



Evaluierungsmodell
Kategorien




                      Getting Started
                  Development Setting
                       User Interface
                           Features
                         Community
                      Dokumentation
Einführung                     Methode und Ausführung           Schluss



Getting Started



             • Anfänger
             • schnelle Entscheidung über potentielle Eignung
             • zentrale Stelle: Projektwebseite



      Kriterien
        • informative Einführung auf der Projektseite
             • Beste Practices für den Start
             • Qualität des Getting Started Tutorials
Einführung        Methode und Ausführung   Schluss



Getting Started
qooxdoo
Einführung        Methode und Ausführung   Schluss



Getting Started
qooxdoo
Einführung        Methode und Ausführung   Schluss



Getting Started
qooxdoo
Einführung        Methode und Ausführung   Schluss



Getting Started
qooxdoo
Einführung                     Methode und Ausführung           Schluss



Development Setting


      direkte Unterstützung der Entwickler für Coden, Testen,
      Veröffentlichung und Wartung


      Kriterien
        • Tools zur Codegenerierung
             • Testunterstützung
             • Unterstützung für Deployment
             • Client-Server Protokolle
             • Plattformunabhängig (Server und Entwicklung)*
             • Lizenz
Einführung       Methode und Ausführung   Schluss



Development Setting
SproutCore
Einführung       Methode und Ausführung   Schluss



Development Setting
SproutCore
Einführung                     Methode und Ausführung                 Schluss



User Interface



      sichtbare Elemente des Frameworks

      Kriterien

             • Label                                    • Slider
             • Button                                   • Kalender
             • Eingabefeld                              • Diagramme
             • Baumansichten                            • etc.
Einführung                    Methode und Ausführung                         Schluss



Features

      technische Ausstattung des Frameworks
      Kriterien

             • MVC Architektur*                        • Inputvalidierung
             • Layoutmanager*                          • Kontextmenü
             • DOM-Abstraktion*                        • Tool Tips
             • Data Store                              • Keyboardshortcuts
             • Bindings                                • Offline Mode
             • Drag & Drop                             • Server Push
             • Sprachanpassung                         • Browserverlauf
             • Theming
Einführung                     Methode und Ausführung                               Schluss



Community oder Hersteller

      wie stark ist die Instanz die hinter dem Framework steht; wie
      viele Entwickler beschäftigen sich aktiv damit; wie ausgereift ist
      das Projekt

      Kriterien

             • in aktiver Entwicklung*                  • Popularität im Internet
             • Reifegrad*                               • Aktivität im Forum
             • Verfügbarkeit von                        • Aktivität auf Twitter
               Büchern                                  • Aktivität auf eigenem
             • Berichterstattung in                       Blog
               Magazinen (on-/offline)                   • Real-Life Beispiele
Einführung                     Methode und Ausführung                 Schluss



Dokumentation

      Bezieht alle vom Frameworkhersteller zur Verfügung gestellten
      Informationen ein. Gute Kommunikation von
      Zusammenhängen.

      Kriterien
        • Themenabdeckung von Guides
             • Qualität von Guides
             • Qualität der API Referenz und des Viewers
             • Codebeispiele
             • Informationen über Änderungen in neuen Versionen
             • Aufbau und Gesamtstruktur
             • Kenntlichmachung des Aktualisierungsdatums
Einführung      Methode und Ausführung   Schluss



Dokumentation
Ext JS
Einführung      Methode und Ausführung   Schluss



Dokumentation
Ext JS
Einführung      Methode und Ausführung   Schluss



Dokumentation
Ext JS
Einführung                   Methode und Ausführung   Schluss



Gliederung


       1     Einführung
              Web Applications
              Frameworks

       2     Methode und Ausführung
              Entscheidungsprozess
              Kandidaten
              Modell und Evaluierung

       3     Schluss
              Ergebnis
              Validierung und Learnings
Einführung          Methode und Ausführung           Schluss



Ergebnis




                          Empfohlen
                 Ext JS, qooxdoo, SproutCore

                           Mittelmäßig
             Dojo Toolkit, SmartClient, Cappuccino

                        Nicht empfohlen
                       Bindows, DHTMLX
Einführung                   Methode und Ausführung   Schluss



Gliederung


       1     Einführung
              Web Applications
              Frameworks

       2     Methode und Ausführung
              Entscheidungsprozess
              Kandidaten
              Modell und Evaluierung

       3     Schluss
              Ergebnis
              Validierung und Learnings
Einführung              Methode und Ausführung   Schluss



Validierung
      einfaches Programm mit qooxdoo
Einführung                 Methode und Ausführung         Schluss



Learnings




      zu viele Frameworks
      zusätzliche Filterstufe

      Beurteilung von Features teils zu frei
      präzisere Definition der benötigten Funktionalität

      theoretische Beurteilung von Funktionalität
      durcharbeiten von Tutorials

Mais conteúdo relacionado

Destaque

#ALLINtegrated - Francis Petty - Creatividad integrada
#ALLINtegrated - Francis Petty - Creatividad integrada#ALLINtegrated - Francis Petty - Creatividad integrada
#ALLINtegrated - Francis Petty - Creatividad integradaamdia
 
Using Measured Security Awareness To Combat Phishing Attacks
Using Measured Security Awareness To Combat Phishing AttacksUsing Measured Security Awareness To Combat Phishing Attacks
Using Measured Security Awareness To Combat Phishing AttacksNicholas Davis
 
Prime residence pampulha (31) 8817 5000
Prime residence pampulha (31) 8817 5000Prime residence pampulha (31) 8817 5000
Prime residence pampulha (31) 8817 5000LEONARDO BARROS
 
Una actividad que me gusta realizar... Viajar!
Una actividad que me gusta realizar... Viajar!Una actividad que me gusta realizar... Viajar!
Una actividad que me gusta realizar... Viajar!Alejandra Sierra
 
Catálogo alternative beer 2016
Catálogo alternative beer 2016Catálogo alternative beer 2016
Catálogo alternative beer 2016Alternative Beer
 
Isomorphic JavaScript: #DevBeat Master Class
Isomorphic JavaScript: #DevBeat Master ClassIsomorphic JavaScript: #DevBeat Master Class
Isomorphic JavaScript: #DevBeat Master ClassSpike Brehm
 
Conducta suicida.... trabajo de psiquiatria.. dr. barrios
Conducta suicida.... trabajo de psiquiatria.. dr. barriosConducta suicida.... trabajo de psiquiatria.. dr. barrios
Conducta suicida.... trabajo de psiquiatria.. dr. barriosJesusDavidAM
 
Destapar la Pobreza en el Trabajo
Destapar la Pobreza en el TrabajoDestapar la Pobreza en el Trabajo
Destapar la Pobreza en el TrabajoHoac Granada
 
Horsehead Holdings: Equity Committee's Objection to Confirmation (redacted)
Horsehead Holdings: Equity Committee's Objection to Confirmation (redacted)Horsehead Holdings: Equity Committee's Objection to Confirmation (redacted)
Horsehead Holdings: Equity Committee's Objection to Confirmation (redacted)Guy Spier
 
Geología Estructural Aplicada a la Minería y Exploración Minera: Principios B...
Geología Estructural Aplicada a la Minería y Exploración Minera: Principios B...Geología Estructural Aplicada a la Minería y Exploración Minera: Principios B...
Geología Estructural Aplicada a la Minería y Exploración Minera: Principios B...Alfredo Fernando Vergara Pangue
 
eHealth Summit: "Case Study: The applied research for connected health (ARCH)...
eHealth Summit: "Case Study: The applied research for connected health (ARCH)...eHealth Summit: "Case Study: The applied research for connected health (ARCH)...
eHealth Summit: "Case Study: The applied research for connected health (ARCH)...3GDR
 
AI 2015 Q1 Barometer: Cheap Labor Came at a High Price in 2014
AI 2015 Q1 Barometer: Cheap Labor Came at a High Price in 2014AI 2015 Q1 Barometer: Cheap Labor Came at a High Price in 2014
AI 2015 Q1 Barometer: Cheap Labor Came at a High Price in 2014QIMA
 

Destaque (15)

#ALLINtegrated - Francis Petty - Creatividad integrada
#ALLINtegrated - Francis Petty - Creatividad integrada#ALLINtegrated - Francis Petty - Creatividad integrada
#ALLINtegrated - Francis Petty - Creatividad integrada
 
Using Measured Security Awareness To Combat Phishing Attacks
Using Measured Security Awareness To Combat Phishing AttacksUsing Measured Security Awareness To Combat Phishing Attacks
Using Measured Security Awareness To Combat Phishing Attacks
 
Portafolio de Servicios Prisma soluciones
Portafolio de Servicios Prisma soluciones Portafolio de Servicios Prisma soluciones
Portafolio de Servicios Prisma soluciones
 
Prime residence pampulha (31) 8817 5000
Prime residence pampulha (31) 8817 5000Prime residence pampulha (31) 8817 5000
Prime residence pampulha (31) 8817 5000
 
Una actividad que me gusta realizar... Viajar!
Una actividad que me gusta realizar... Viajar!Una actividad que me gusta realizar... Viajar!
Una actividad que me gusta realizar... Viajar!
 
Catálogo alternative beer 2016
Catálogo alternative beer 2016Catálogo alternative beer 2016
Catálogo alternative beer 2016
 
Isomorphic JavaScript: #DevBeat Master Class
Isomorphic JavaScript: #DevBeat Master ClassIsomorphic JavaScript: #DevBeat Master Class
Isomorphic JavaScript: #DevBeat Master Class
 
Conducta suicida.... trabajo de psiquiatria.. dr. barrios
Conducta suicida.... trabajo de psiquiatria.. dr. barriosConducta suicida.... trabajo de psiquiatria.. dr. barrios
Conducta suicida.... trabajo de psiquiatria.. dr. barrios
 
Destapar la Pobreza en el Trabajo
Destapar la Pobreza en el TrabajoDestapar la Pobreza en el Trabajo
Destapar la Pobreza en el Trabajo
 
Horsehead Holdings: Equity Committee's Objection to Confirmation (redacted)
Horsehead Holdings: Equity Committee's Objection to Confirmation (redacted)Horsehead Holdings: Equity Committee's Objection to Confirmation (redacted)
Horsehead Holdings: Equity Committee's Objection to Confirmation (redacted)
 
Cobalto
CobaltoCobalto
Cobalto
 
Geología Estructural Aplicada a la Minería y Exploración Minera: Principios B...
Geología Estructural Aplicada a la Minería y Exploración Minera: Principios B...Geología Estructural Aplicada a la Minería y Exploración Minera: Principios B...
Geología Estructural Aplicada a la Minería y Exploración Minera: Principios B...
 
eHealth Summit: "Case Study: The applied research for connected health (ARCH)...
eHealth Summit: "Case Study: The applied research for connected health (ARCH)...eHealth Summit: "Case Study: The applied research for connected health (ARCH)...
eHealth Summit: "Case Study: The applied research for connected health (ARCH)...
 
Marcapasos
MarcapasosMarcapasos
Marcapasos
 
AI 2015 Q1 Barometer: Cheap Labor Came at a High Price in 2014
AI 2015 Q1 Barometer: Cheap Labor Came at a High Price in 2014AI 2015 Q1 Barometer: Cheap Labor Came at a High Price in 2014
AI 2015 Q1 Barometer: Cheap Labor Came at a High Price in 2014
 

Semelhante a Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript

German UPA Konferenz - Der IxD Baukasten
German UPA Konferenz - Der IxD BaukastenGerman UPA Konferenz - Der IxD Baukasten
German UPA Konferenz - Der IxD BaukastenUSECON
 
Implementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBRImplementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBRAlexander Hundt
 
Usability Methoden
Usability  MethodenUsability  Methoden
Usability MethodenNina Rebele
 
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Florian Wolters
 
Low Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid BenutzerzentraleLow Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid BenutzerzentralePatric Schmid
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftDavid Schneider
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenPeter Rozek
 
[Webinar] So geht UX Research heute
[Webinar] So geht UX Research heute[Webinar] So geht UX Research heute
[Webinar] So geht UX Research heuteUserZoom Deutschland
 
Die unendliche User Story - agiles Anforderungsmanagement
Die unendliche User Story - agiles AnforderungsmanagementDie unendliche User Story - agiles Anforderungsmanagement
Die unendliche User Story - agiles AnforderungsmanagementThomas Moedl
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der PraxisTobias Kraft
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
Automatisiertes webauftritt testen
Automatisiertes webauftritt testenAutomatisiertes webauftritt testen
Automatisiertes webauftritt testenmradamlacey
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft AG
 
HTML5-Legacy-Anwendungen
HTML5-Legacy-AnwendungenHTML5-Legacy-Anwendungen
HTML5-Legacy-AnwendungenJonathan Weiß
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungChristian Baranowski
 
German Web Usability Training
German Web Usability TrainingGerman Web Usability Training
German Web Usability TrainingPaulina
 
Roadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'sRoadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'scamunda services GmbH
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
 
Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Nico Orschel
 

Semelhante a Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript (20)

German UPA Konferenz - Der IxD Baukasten
German UPA Konferenz - Der IxD BaukastenGerman UPA Konferenz - Der IxD Baukasten
German UPA Konferenz - Der IxD Baukasten
 
Implementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBRImplementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBR
 
Usability Methoden
Usability  MethodenUsability  Methoden
Usability Methoden
 
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
 
Low Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid BenutzerzentraleLow Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign Testen
 
[Webinar] So geht UX Research heute
[Webinar] So geht UX Research heute[Webinar] So geht UX Research heute
[Webinar] So geht UX Research heute
 
Die unendliche User Story - agiles Anforderungsmanagement
Die unendliche User Story - agiles AnforderungsmanagementDie unendliche User Story - agiles Anforderungsmanagement
Die unendliche User Story - agiles Anforderungsmanagement
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
Automatisiertes webauftritt testen
Automatisiertes webauftritt testenAutomatisiertes webauftritt testen
Automatisiertes webauftritt testen
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
HTML5-Legacy-Anwendungen
HTML5-Legacy-AnwendungenHTML5-Legacy-Anwendungen
HTML5-Legacy-Anwendungen
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software Entwicklung
 
German Web Usability Training
German Web Usability TrainingGerman Web Usability Training
German Web Usability Training
 
Roadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'sRoadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht's
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013
 

Mais de Educational Technology

The use of programming tasks in interactive videos to increase learning effec...
The use of programming tasks in interactive videos to increase learning effec...The use of programming tasks in interactive videos to increase learning effec...
The use of programming tasks in interactive videos to increase learning effec...Educational Technology
 
Analysis of students' behavior watching iMooX courses with interactive elements
Analysis of students' behavior watching iMooX courses with interactive elementsAnalysis of students' behavior watching iMooX courses with interactive elements
Analysis of students' behavior watching iMooX courses with interactive elementsEducational Technology
 
Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...
Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...
Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...Educational Technology
 
Mixed Reality im Distance Learning in der Hochschullehre
Mixed Reality im Distance Learning in der HochschullehreMixed Reality im Distance Learning in der Hochschullehre
Mixed Reality im Distance Learning in der HochschullehreEducational Technology
 
Development of a WCAG theme for a learning management system
Development of a WCAG theme for a learning management systemDevelopment of a WCAG theme for a learning management system
Development of a WCAG theme for a learning management systemEducational Technology
 
Math trainer as a chatbot via system(push) messages for Android
Math trainer as a chatbot via system(push) messages for AndroidMath trainer as a chatbot via system(push) messages for Android
Math trainer as a chatbot via system(push) messages for AndroidEducational Technology
 
Empirical Analysis of Automated Editing of Raw Learning Video Footage
Empirical Analysis of Automated Editing of Raw Learning Video FootageEmpirical Analysis of Automated Editing of Raw Learning Video Footage
Empirical Analysis of Automated Editing of Raw Learning Video FootageEducational Technology
 
Fächerintegrativer Unterricht am Beispiel der Leichtathletik
Fächerintegrativer Unterricht am Beispiel der LeichtathletikFächerintegrativer Unterricht am Beispiel der Leichtathletik
Fächerintegrativer Unterricht am Beispiel der LeichtathletikEducational Technology
 
DENKEN UND TECHNIK Über manipulative Auswirkungen von Internettechnologien
DENKEN UND TECHNIK Über manipulative Auswirkungen von InternettechnologienDENKEN UND TECHNIK Über manipulative Auswirkungen von Internettechnologien
DENKEN UND TECHNIK Über manipulative Auswirkungen von InternettechnologienEducational Technology
 
Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...
Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...
Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...Educational Technology
 
Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...
Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...
Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...Educational Technology
 
Development of a mobile French language learning platform
Development of a mobile French language learning platformDevelopment of a mobile French language learning platform
Development of a mobile French language learning platformEducational Technology
 
Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...
Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...
Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...Educational Technology
 
Fächerintegrativer Unterricht am Beispiel des Lernroboters Thymio
Fächerintegrativer Unterricht am Beispiel des Lernroboters ThymioFächerintegrativer Unterricht am Beispiel des Lernroboters Thymio
Fächerintegrativer Unterricht am Beispiel des Lernroboters ThymioEducational Technology
 
Einsatz von Mixed Reality im Klassenzimmer
Einsatz von Mixed Reality im KlassenzimmerEinsatz von Mixed Reality im Klassenzimmer
Einsatz von Mixed Reality im KlassenzimmerEducational Technology
 
Chatbots for Brand Representation in Comparison with Traditional Websites
Chatbots for Brand Representation in Comparison with Traditional WebsitesChatbots for Brand Representation in Comparison with Traditional Websites
Chatbots for Brand Representation in Comparison with Traditional WebsitesEducational Technology
 
Development of a learning diary for a MOOC platform
Development of a learning diary for a MOOC platformDevelopment of a learning diary for a MOOC platform
Development of a learning diary for a MOOC platformEducational Technology
 

Mais de Educational Technology (20)

The use of programming tasks in interactive videos to increase learning effec...
The use of programming tasks in interactive videos to increase learning effec...The use of programming tasks in interactive videos to increase learning effec...
The use of programming tasks in interactive videos to increase learning effec...
 
Analysis of students' behavior watching iMooX courses with interactive elements
Analysis of students' behavior watching iMooX courses with interactive elementsAnalysis of students' behavior watching iMooX courses with interactive elements
Analysis of students' behavior watching iMooX courses with interactive elements
 
Portability of Mobile Applications
Portability of Mobile ApplicationsPortability of Mobile Applications
Portability of Mobile Applications
 
Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...
Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...
Erhebung von Lernaktivitäten in einem Pop-Up-Makerspace mit einer technischen...
 
Mixed Reality im Distance Learning in der Hochschullehre
Mixed Reality im Distance Learning in der HochschullehreMixed Reality im Distance Learning in der Hochschullehre
Mixed Reality im Distance Learning in der Hochschullehre
 
Development of a WCAG theme for a learning management system
Development of a WCAG theme for a learning management systemDevelopment of a WCAG theme for a learning management system
Development of a WCAG theme for a learning management system
 
Math trainer as a chatbot via system(push) messages for Android
Math trainer as a chatbot via system(push) messages for AndroidMath trainer as a chatbot via system(push) messages for Android
Math trainer as a chatbot via system(push) messages for Android
 
Empirical Analysis of Automated Editing of Raw Learning Video Footage
Empirical Analysis of Automated Editing of Raw Learning Video FootageEmpirical Analysis of Automated Editing of Raw Learning Video Footage
Empirical Analysis of Automated Editing of Raw Learning Video Footage
 
Fächerintegrativer Unterricht am Beispiel der Leichtathletik
Fächerintegrativer Unterricht am Beispiel der LeichtathletikFächerintegrativer Unterricht am Beispiel der Leichtathletik
Fächerintegrativer Unterricht am Beispiel der Leichtathletik
 
DENKEN UND TECHNIK Über manipulative Auswirkungen von Internettechnologien
DENKEN UND TECHNIK Über manipulative Auswirkungen von InternettechnologienDENKEN UND TECHNIK Über manipulative Auswirkungen von Internettechnologien
DENKEN UND TECHNIK Über manipulative Auswirkungen von Internettechnologien
 
Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...
Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...
Empfehlungen für den Unterricht im Fach Informatik für Menschen mit Autismus-...
 
Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...
Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...
Entwicklung eines Online-Kurses für digitale Kompetenzen für Studienanfänger:...
 
School Start Screening Tool
School Start Screening ToolSchool Start Screening Tool
School Start Screening Tool
 
Development of a mobile French language learning platform
Development of a mobile French language learning platformDevelopment of a mobile French language learning platform
Development of a mobile French language learning platform
 
Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...
Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...
Learning Analytics and Spelling Acquisition in German - the Path to Indivdual...
 
Learning Analytics and MOOCs
Learning Analytics and MOOCsLearning Analytics and MOOCs
Learning Analytics and MOOCs
 
Fächerintegrativer Unterricht am Beispiel des Lernroboters Thymio
Fächerintegrativer Unterricht am Beispiel des Lernroboters ThymioFächerintegrativer Unterricht am Beispiel des Lernroboters Thymio
Fächerintegrativer Unterricht am Beispiel des Lernroboters Thymio
 
Einsatz von Mixed Reality im Klassenzimmer
Einsatz von Mixed Reality im KlassenzimmerEinsatz von Mixed Reality im Klassenzimmer
Einsatz von Mixed Reality im Klassenzimmer
 
Chatbots for Brand Representation in Comparison with Traditional Websites
Chatbots for Brand Representation in Comparison with Traditional WebsitesChatbots for Brand Representation in Comparison with Traditional Websites
Chatbots for Brand Representation in Comparison with Traditional Websites
 
Development of a learning diary for a MOOC platform
Development of a learning diary for a MOOC platformDevelopment of a learning diary for a MOOC platform
Development of a learning diary for a MOOC platform
 

Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript

  • 1. Einführung Methode und Ausführung Schluss Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript Thomas Billicsich Institut für Informationssysteme und Computer Medien TU Graz 15. November 2012
  • 2. Einführung Methode und Ausführung Schluss Gliederung 1 Einführung Web Applications Frameworks 2 Methode und Ausführung Entscheidungsprozess Kandidaten Modell und Evaluierung 3 Schluss Ergebnis Validierung und Learnings
  • 3. Einführung Methode und Ausführung Schluss Gliederung 1 Einführung Web Applications Frameworks 2 Methode und Ausführung Entscheidungsprozess Kandidaten Modell und Evaluierung 3 Schluss Ergebnis Validierung und Learnings
  • 4. Einführung Methode und Ausführung Schluss Was ist eine Web Application? Eigenschaften läuft im Browser Aufruf durch URL-Eingabe Beispiele • Suchmaschinen • Maps • E-Mail
  • 5. Einführung Methode und Ausführung Schluss Vorteile und Nachteile Vorteile • plattformunabhängig • Datensicherheit • kein Setup/Installation • Zusammarbeit, Mobilität • keine Virengefahr Nachteile • Internetverbindung • ressourcenintensiv • kein lokales Dateisystem • keine lokale Peripherie
  • 6. Einführung Methode und Ausführung Schluss Desktop-Like GMX
  • 7. Einführung Methode und Ausführung Schluss Desktop-Like iCloud
  • 8. Einführung Methode und Ausführung Schluss Desktop-Like GMX vs. iCloud
  • 9. Einführung Methode und Ausführung Schluss Gliederung 1 Einführung Web Applications Frameworks 2 Methode und Ausführung Entscheidungsprozess Kandidaten Modell und Evaluierung 3 Schluss Ergebnis Validierung und Learnings
  • 10. Einführung Methode und Ausführung Schluss Frameworks Definition ein Framework ist... • eine Menge von zusammengehörigen Klassen. • eine Lösungsskizze für eine bestimmte Problemklasse. • ein wiederverwendbares Design einer Menge von Klassen und deren Interaktion. • ein Programmgerüst, das an die eigenen Bedürfnisse angepasst werden muss. • ein vorgegebenes Design, das Entscheidungen vorwegnimmt. • keine Library
  • 11. Einführung Methode und Ausführung Schluss Frameworks Eigenschaften Eigenschaften • Modular • Ausgereift • Erweiterbar • Komplex • Zentral steuernd • Outsourcing • Abstrakt
  • 12. Einführung Methode und Ausführung Schluss Gliederung 1 Einführung Web Applications Frameworks 2 Methode und Ausführung Entscheidungsprozess Kandidaten Modell und Evaluierung 3 Schluss Ergebnis Validierung und Learnings
  • 13. Einführung Methode und Ausführung Schluss Entscheidungsprozess Stufen I Evaluationsmodell II Marktanalyse III Requirements IV Screening V Evaluierung VI Validierung
  • 14. Einführung Methode und Ausführung Schluss Gliederung 1 Einführung Web Applications Frameworks 2 Methode und Ausführung Entscheidungsprozess Kandidaten Modell und Evaluierung 3 Schluss Ergebnis Validierung und Learnings
  • 15. Einführung Methode und Ausführung Schluss Kandidaten Gesamtübersicht I • ActiveJS • CorMVC • Agility.js • DHTMLX • AmplifyJS • Dojo Toolkit • AngularJS • Eyeballs • AppJS • Ember.js • Backbone.js • Ext JS • batman.js • Glow • Bindows • Google Closure Library • Cappuccino • JavaScriptMVC • Choco • jQuery
  • 16. Einführung Methode und Ausführung Schluss Kandidaten Gesamtübersicht II • Knockback.js • script.aculo.us • Knockout.js • SmartClient • Luna (Asana) • Spine.js • MooTools • SproutCore • MochiKit • Spry • Mojito (Yahoo!) • UIZE • Prototype • underscore.js • qooxdoo • Wakanda • Rialto • YUI! • Rico • zepto.js • Sammy.js
  • 17. Einführung Methode und Ausführung Schluss Kandidaten ausgewählte Bindows Cappuccino DHTMLX Dojo Toolkit Ext JS qooxoo SmartClient SproutCore
  • 18. Einführung Methode und Ausführung Schluss Kandidaten Bindows
  • 19. Einführung Methode und Ausführung Schluss Kandidaten Cappuccino
  • 20. Einführung Methode und Ausführung Schluss Kandidaten DHTMLX
  • 21. Einführung Methode und Ausführung Schluss Kandidaten Dojo Toolkit
  • 22. Einführung Methode und Ausführung Schluss Kandidaten Ext JS
  • 23. Einführung Methode und Ausführung Schluss Kandidaten qooxdoo
  • 24. Einführung Methode und Ausführung Schluss Kandidaten SmartClient
  • 25. Einführung Methode und Ausführung Schluss Kandidaten SproutCore
  • 26. Einführung Methode und Ausführung Schluss Gliederung 1 Einführung Web Applications Frameworks 2 Methode und Ausführung Entscheidungsprozess Kandidaten Modell und Evaluierung 3 Schluss Ergebnis Validierung und Learnings
  • 27. Einführung Methode und Ausführung Schluss Evaluierungsmodell Kategorien Getting Started Development Setting User Interface Features Community Dokumentation
  • 28. Einführung Methode und Ausführung Schluss Getting Started • Anfänger • schnelle Entscheidung über potentielle Eignung • zentrale Stelle: Projektwebseite Kriterien • informative Einführung auf der Projektseite • Beste Practices für den Start • Qualität des Getting Started Tutorials
  • 29. Einführung Methode und Ausführung Schluss Getting Started qooxdoo
  • 30. Einführung Methode und Ausführung Schluss Getting Started qooxdoo
  • 31. Einführung Methode und Ausführung Schluss Getting Started qooxdoo
  • 32. Einführung Methode und Ausführung Schluss Getting Started qooxdoo
  • 33. Einführung Methode und Ausführung Schluss Development Setting direkte Unterstützung der Entwickler für Coden, Testen, Veröffentlichung und Wartung Kriterien • Tools zur Codegenerierung • Testunterstützung • Unterstützung für Deployment • Client-Server Protokolle • Plattformunabhängig (Server und Entwicklung)* • Lizenz
  • 34. Einführung Methode und Ausführung Schluss Development Setting SproutCore
  • 35. Einführung Methode und Ausführung Schluss Development Setting SproutCore
  • 36. Einführung Methode und Ausführung Schluss User Interface sichtbare Elemente des Frameworks Kriterien • Label • Slider • Button • Kalender • Eingabefeld • Diagramme • Baumansichten • etc.
  • 37. Einführung Methode und Ausführung Schluss Features technische Ausstattung des Frameworks Kriterien • MVC Architektur* • Inputvalidierung • Layoutmanager* • Kontextmenü • DOM-Abstraktion* • Tool Tips • Data Store • Keyboardshortcuts • Bindings • Offline Mode • Drag & Drop • Server Push • Sprachanpassung • Browserverlauf • Theming
  • 38. Einführung Methode und Ausführung Schluss Community oder Hersteller wie stark ist die Instanz die hinter dem Framework steht; wie viele Entwickler beschäftigen sich aktiv damit; wie ausgereift ist das Projekt Kriterien • in aktiver Entwicklung* • Popularität im Internet • Reifegrad* • Aktivität im Forum • Verfügbarkeit von • Aktivität auf Twitter Büchern • Aktivität auf eigenem • Berichterstattung in Blog Magazinen (on-/offline) • Real-Life Beispiele
  • 39. Einführung Methode und Ausführung Schluss Dokumentation Bezieht alle vom Frameworkhersteller zur Verfügung gestellten Informationen ein. Gute Kommunikation von Zusammenhängen. Kriterien • Themenabdeckung von Guides • Qualität von Guides • Qualität der API Referenz und des Viewers • Codebeispiele • Informationen über Änderungen in neuen Versionen • Aufbau und Gesamtstruktur • Kenntlichmachung des Aktualisierungsdatums
  • 40. Einführung Methode und Ausführung Schluss Dokumentation Ext JS
  • 41. Einführung Methode und Ausführung Schluss Dokumentation Ext JS
  • 42. Einführung Methode und Ausführung Schluss Dokumentation Ext JS
  • 43. Einführung Methode und Ausführung Schluss Gliederung 1 Einführung Web Applications Frameworks 2 Methode und Ausführung Entscheidungsprozess Kandidaten Modell und Evaluierung 3 Schluss Ergebnis Validierung und Learnings
  • 44. Einführung Methode und Ausführung Schluss Ergebnis Empfohlen Ext JS, qooxdoo, SproutCore Mittelmäßig Dojo Toolkit, SmartClient, Cappuccino Nicht empfohlen Bindows, DHTMLX
  • 45. Einführung Methode und Ausführung Schluss Gliederung 1 Einführung Web Applications Frameworks 2 Methode und Ausführung Entscheidungsprozess Kandidaten Modell und Evaluierung 3 Schluss Ergebnis Validierung und Learnings
  • 46. Einführung Methode und Ausführung Schluss Validierung einfaches Programm mit qooxdoo
  • 47. Einführung Methode und Ausführung Schluss Learnings zu viele Frameworks zusätzliche Filterstufe Beurteilung von Features teils zu frei präzisere Definition der benötigten Funktionalität theoretische Beurteilung von Funktionalität durcharbeiten von Tutorials