RAP vs. GWT vs. GAE/J + jquery. Web Technologien im Verlgeich



Ähnliche Dokumente
Einführung in Google Web Toolkit

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages

Einführung in das Google Web Toolkit am Beispiel eines Projektes aus der Verkehrstelematik

Agenda. Einführung AJAX Was ist eigentlich AJAX?

Automatisches Exploratives Testen von Webanwendungen

Alte Technik neu verpackt

JavaScript & Ajax Debugging. Marcel Bsufka

Auszug aus JAX-WS Folien

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Mit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Plattformunabhängige App-Entwicklung - Eine für alle?

Spring Dynamic Modules for OSGi Service Platforms

Rich Internet Applications Technologien. Leif Hartmann INF-M3 Anwendungen 2 - Wintersemester 2007/ Januar 2008

Be dynamic! RichClient-Funktionalitäten mit dem Google Web Toolkit

Google Gears Offline Web?

Single Sourcing in Java: Desktop-Anwendung & Web-Applikation aus einer Quelle

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck

Moderne Web- Anwendungen mit

Der lokale und verteilte Fall

Notes / Domino New Features & Was bringt die Eclipse Plattfrom von Lotus Notes für mein Unternehmen. Dipl.-Ing.

Einführung in Maven und GWT

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) Jakob Külzer jakob.kuelzer@gmail.

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Webdesign Grundlagen. Michael Kraft, M.A. WS 2012/2013

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Ein mobiler Electronic Program Guide

Single Sourcing in Java: Desktop-Anwendung & Web-Applikation aus einer Quelle

WebService in Java SE und EE

Spring Dynamic Modules for OSGi Service Platforms

Themen. Web Service - Clients. Kommunikation zw. Web Services

Mapbender3 Workshop. Christian Wygoda. FOSSGIS Dessau 2012

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Webapplikation aus dem MISTRA Bereich

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina

Mobile und Verteilte Datenbanken

Ich liebe Java && Ich liebe C# Rolf Borst

Hochschule Heilbronn Technik Wirtschaft Informatik

AJAX Implementierung mit Joomla!

Thomas Claudius Huber. Asynchrone Programmierung mit C#

Anleitung zur Konfiguration Ihres Browsers

Next generation open source BPM JBoss jbpm 4. Java Forum Stuttgart

Große Übung Praktische Informatik 1

AJAX und Ruby on Rails

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015

SAP NetWeaver Gateway. 2013

Web 2.0 Architekturen und Frameworks

Beispiel aus der Praxis

SharePoint 2013 Mobile Access

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Konzeption und Entwicklung einer mobilen Web-Applikation aus dem XML-Datenexport eines Redaktionssystems

Java Einführung Abstrakte Klassen und Interfaces

Seminar aus Informatik. Google Web Toolkit Supervisor: O.Univ.-Prof. Dipl.-Ing. Dr. Wolfgang PREE

So"ware Voraussetzungen und Spezifika5on für Eurotalk SCORM E Learning Inhalte. Version

1. Den richtige Webbrowser benutzen Einen Vollzugriff auf alle Funktionen von Outlook Web App ist ausschliesslich mit folgenden Webbrowser möglich.

ArcGIS Online Werkstatt II Wege zur eignen Webanwendung

Björn Heinemann Leiter Entwicklung Energiewirtschaft

Moderne Web-Anwendungen mit Vaadin

eridea AG Installation Eclipse V 1.4

Die Bürgermeister App. Mein Bürgermeister hört mich per App.

Objektorientiertes JavaScript

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Inhalt. Portalgesteuerte Simulation Ergebniskonferenz Bonn , Uhr. Folie PT-Grid-Zielsetzung 3-4. PT-Grid-Infrastruktur 5

Abschlussarbeiten für StudentInnen

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Mobile Application Development

Mobile und Verteilte Datenbanken

Sicherheit in Rich Internet Applications

Auf dem Weg vertan. Über die Unsicherheit von App-basierten TAN-Verfahren im Onlinebanking. Vincent Haupert 28. Dezember 2015

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Systemeinstellungen im Internet Explorer für WEB-KAT

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Oliver Paulus, 7. Februar Spring Framework Einführung. Oliver Paulus, Was ist Spring?

Java zur Realisierung von Internetanwendungen

Algorithmen und Datenstrukturen

Erste Schritte mit Sharepoint 2013

Inhaltsverzeichnis. Hinweise zum Gebrauch des Buches... XIII. Teil I Grundlagen der Web-Programmierung

Vaadin TouchKit. W3L AG

Windows Explorer Das unbekannte Tool. Compi-Treff vom 19. September 2014 Thomas Sigg

1 von :10

OPAC 2.0 die Grundlagen: Web 2.0-Technologien und ihre Anwendung im Bibliothekskatalog

Übungen zur Android Entwicklung

Herzlich willkommen im Modul Informatik Grundlagen

Existierende Systeme I Bibliotheken & Frameworks

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

Auffrischung jquery. jquery Mobile. Marco Francke I

Bean-Mapping mit MapStruct

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

SALSAH eine virtuelle Forschungsumgebung für die Geisteswissenschaften

Mission. TARGIT macht es einfach und bezahlbar für Organisationen datengetrieben zu werden

GWT. Martin Kluth Universität Osnabrück

Apps entwickeln mit HTML und Javascript

Design Patterns 2. Model-View-Controller in der Praxis

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Java Web Services Metadata JSR-181

Transkript:

RAP vs. GWT vs. GAE/J + jquery Web Technologien im Verlgeich RAP vs GWT vs jquery Dominik Wißkirchen 30. Oktober 2010

Abkürzungen RAP AJAX RWT Rich AJAX Platform Asynchronous JavaScript and XML RAP Widget Toolkit GWT Google Web Toolkit GAE GAE/J GAE/P Google AppEngine Google AppEngine Java Google AppEngine Python

Gemeinsamkeiten von RAP + GWT AJAX basierte WebGUI Entwickler schreiben in Java (nicht in JavaScript) Cross Browser Kompatiblität Browser Internet Explorer Firefox Chrome Safari Opera iphone Android Rendering Engine Trident Gecko WebKit WebKit Presto WebKit WebKit JavaScript Engine JScript Spidermonkey/Jägermonkey V8 SquirrelFish Extreme Carakan SquirrelFish Extreme V8

GUI ShowCases / Widget Umfang Widgets Composites Panels RAP GWT Ext GWT SmartGWT jquery UI

Popularität von JavaScript Bibliotheken

RAP Architektur Ähnlich zur RCP Architektur, aber nicht 100% kompatibel RCP RCP-Plugin org.eclipse.swt org.eclipse.jface org.eclipse.workbench org.eclipse.ui RAP RAP-Plugin org.eclipse.rap.rwt org.eclipse.rap.jface org.eclipse.rap.workbench org.eclipse.rap.ui

RAP Architektur RAP Java BytecodeRCP wird auf dem Server ausgeführt Statische JavaScript Bibliothek wird zum Client übertragen

GWT Architektur Java Bytecode wird auf dem Server ausgeführt Dynamisch generierte JavaScript Dateien werden zum Client übertragen GWT GWT App GWT Widgets SmartGWT Java Compiler JS Compiler Java Bytecode JavaScript

RAP Kommunikation Seitenanfrage http://... qooxdoo Rendering Seitengenerierung Benutzereingaben Aktualisierte Darstellung Verarbeitung Benutzereingaben Rendering Daten Browser Server

GWT Kommunikation Seitenanfrage Rendering http://... Seitengenerierung Benutzereingaben Verarbeitung XMLHttpRequest Rendering Daten Browser Server

Kommunikation im Vergleich RAP GWT

Browser History GWT bietet eine Möglichkeit, Statusinformationen zu speichern Kompatiblität zur Browser History RAP Browser History Unterstützung seit Version 1.3 (23. Juni 2010) http://google-web-toolkit.googlecode.com/svn/javadoc/1.4/com/google/gwt/user/client/history.html

Vergleich der vorgestellten Lösungen Platform JSBibliothek GUI-Bibliothek Single Programming Language Single Sourcing Verbreitungsgrad Widget Umfang Lernkurve Quellcode Readability Ausführungsgeschwindigkeit JavaScript Debugging RAP qooxdoo RWT ja ja gering mittel mittel gut? schwer GWT/ SmartGWT SmartClient SmartGWT ja nein mittel hoch mittel-hoch ok langsam schwer GAE/ J+ jquery jquery jquery UI nein nein hoch hoch mittel-hoch schlecht langsam-mittel mittel

GWT Simplified RPC (XMLHttpRequest) http://code.google.com/support/bin/answer.py?answer=55196&topic=10210

GWT Simplified RPC Example Client: (kompiliert zu JavaScript) Server: public interface MailCommandsAsync { public void getmailitems(asynccallback callback); public void getmailitembody(asynccallback callback); } public interface MailCommands extends RemoteService { public List getmailitems(); public String getmailitembody(); } instance = ( ) GWT.create(MailCommands.class); ServiceDefTarget target = (ServiceDefTarget) instance; target.setserviceentrypoint(... + "MailCommands"); public class MailCommandsImpl extends RemoteServiceServlet implements MailCommands { public List getmailitems() { gather items return items; }... etc } instance.getmailitems( new AsyncCallback() { public void onsuccess(object result) { List items = (List) result; display items } public void onfailure(throwable caught) { notify user of exception } } ); XMLHttpRequest

and debugging JS that you wrote is easier than debugging JS that was generated from Java that you wrote. GWT / RAP langsamer als klassische Webanwendungen GWT Designer

Praxisbeispiel Webapplikation basierend auf GAE/J + jquery Remote Management von Android Geräten Link