+ All Categories
Home > Technology > Java oberflächlich betrachtet - Welche GUI ist die richtige?

Java oberflächlich betrachtet - Welche GUI ist die richtige?

Date post: 25-Jan-2015
Category:
Upload: gfu-cyrus-ag
View: 2,023 times
Download: 1 times
Share this document with a friend
Description:
Für die Entwicklung neuer Software gilt es bei der Wahl der Benutzeroberfläche (engl. GUI) einiges zu bedenken: Benutzerfreundlichkeit, technische Zuverlässigkeit, Geschwindigkeit, Verteilbarkeit und nicht zuletzt Wirtschaftlichkeit. Zusätzlich kommen immer komplexere, Desktop-ähnliche Anforderungen auf die GUI-Architektur und -Entwicklung zu. Herr Weil diskutiert in diesem Treffpunkt die folgenden Fragestellungen und gibt Hilfestellungen für die Wahl der geeigneten Vorgehensweise: Welche Architekturanteile werden in Java-Anwendungen genutzt? Webanwendung oder Rich Client? Wie hält man Rich Clients aktuell? Welche Web-Techniken wie z.B. AJAX und GWT können sinnvoll eingesetzt werden?
26
Java oberflächlich betrachtet Welche GUI ist die richtige? Treffpunkt Semicolon, GFU, 19.02.2008 Dirk Weil, GEDOPLAN GmbH 2007-11-20
Transcript
Page 1: Java oberflächlich betrachtet - Welche GUI ist die richtige?

Java oberflächlich betrachtet

Welche GUI ist die richtige?

Treffpunkt Semicolon, GFU, 19.02.2008

Dirk Weil, GEDOPLAN GmbH

2007-11-20

Page 2: Java oberflächlich betrachtet - Welche GUI ist die richtige?

2

Architekturen 200x

Mehrschichtige Architekturen

©S

un M

icro

syst

ems

Page 3: Java oberflächlich betrachtet - Welche GUI ist die richtige?

3

Architekturen 200x

Mehrschichtige Architekturen

©S

un M

icro

syst

ems

"zu schwergewichtig""noch nicht"

"Schnee von

gestern"

"cool"

Page 4: Java oberflächlich betrachtet - Welche GUI ist die richtige?

4

Struts

Web App Building Blocks

ServletServletServletServletJSPJSPJSPJSP

----------------- JSPJSPJSPJSP

----------------- JSPJSPJSPJSP

-----------------

BeanBeanBeanBeanBeanBeanBeanBeanBeanBeanBeanBean

Page 5: Java oberflächlich betrachtet - Welche GUI ist die richtige?

5

JavaServer Faces

In Java EE seit 5/2006

MVC, Konvertierung, I18n, ...

Komponenten

Statushandling

Data Binding

Page 6: Java oberflächlich betrachtet - Welche GUI ist die richtige?

6

JavaServer Faces

Page 7: Java oberflächlich betrachtet - Welche GUI ist die richtige?

7

JavaServer Faces

<html>...

<rich:calendarvalue="#{demoBean.selectedDate}"popup="false"/>

<rich:treevalue="#{demoBean.treeValues}"var="treeNode"/>

...</html>

Page 8: Java oberflächlich betrachtet - Welche GUI ist die richtige?

8

JavaServer Faces

<html>...

<rich:gmapstyle="width:400px;height:400px"lat="52.002"lng="8.589"/>

...</html>

Page 9: Java oberflächlich betrachtet - Welche GUI ist die richtige?

9

Warum Web App?

Ressourcenbedarf im Client

Swing-Anwendungenbrauchen viel Speicher

Stimmt ...

auf'm PII mit 128 MB RAM

Page 10: Java oberflächlich betrachtet - Welche GUI ist die richtige?

10

Warum nicht Desktop-Anwendung?

Clientseitige Installation

Ggf. Admin-Rechte nötig

Zeitaufwand

Page 11: Java oberflächlich betrachtet - Welche GUI ist die richtige?

11

Automatische Softwareverteilung

Java Web Start

Download

Installation

Update

JRE und Applikation

JNLP

Page 12: Java oberflächlich betrachtet - Welche GUI ist die richtige?

12

Automatische Softwareverteilung

Java Web Start Demo

http://java.sun.com/products/javawebstart/apps/swingset2.jnlp

Page 13: Java oberflächlich betrachtet - Welche GUI ist die richtige?

13

Automatische Softwareverteilung

Eclipse RCP

Client-Framework

JFace / SWT

Produkt = JRE + RCP + App

Automatische Updates

Page 14: Java oberflächlich betrachtet - Welche GUI ist die richtige?

14

Request Driven vs. Event Driven

Web Application

Request/Response

Grobgranulare UI-Updates

Desktop Application

Event-Modell

Listener, Observer

Feingranulare Änderungen

Tastatursteuerung

Page 15: Java oberflächlich betrachtet - Welche GUI ist die richtige?

15

Web vs. Fat/Rich Client

User-Erwartung

Ergonomie

technische Randbedingungen

Web /Fat/Rich Client

Page 16: Java oberflächlich betrachtet - Welche GUI ist die richtige?

16

Web vs. Fat/Rich Client

Web Clients

Kunden-Anwendungen

Einfache Präsentationslogik

Aufwändige Gestaltung

Fat/Rich Clients

Sachbearbeiter-Anwendungen

Komplexe GUIs

Aufwändige Präsentationslogik

Tastatursteuerung

Page 17: Java oberflächlich betrachtet - Welche GUI ist die richtige?

17

Web vs. Fat/Rich Client

Weitere Entscheidungsfaktoren

Design oder Programmierung?

Java + HTML + JavaScript + JSP + JSF oder nur Java?

Debugging

Security

Page 18: Java oberflächlich betrachtet - Welche GUI ist die richtige?

18

Web vs. Fat/Rich Client

Web App als Desktop Replacement?

Page 19: Java oberflächlich betrachtet - Welche GUI ist die richtige?

19

AJAX

Asynchronous JavaScript and XML

XMLHttpRequest

Update von Teilen der Seite

XMLHttpRequest

HTML mitJavaScript

Request durch dasXMLHttpRequest-Objekt

Clientdocument

anchors applets forms images layers links

button checkbox hidden password radio reset

submit text textarea select

options

DOM der HTML-Seite

ServerVerarbeiten der

Anfrage

Daten alsXML, HTML,Plaintext

1.

2.

3.Update desSeiten-DOM

Page 20: Java oberflächlich betrachtet - Welche GUI ist die richtige?

20

AJAX

Page 21: Java oberflächlich betrachtet - Welche GUI ist die richtige?

21

AJAX

JavaScript kann abgeschaltet sein

Security

Asynchrone Verarbeitung kann problematisch sein

'AJAX-Verdrahtung' erhöht Komplexität

Page 22: Java oberflächlich betrachtet - Welche GUI ist die richtige?

22

GWT

Google Web Toolkit

Java-to-JavaScript Compiler

AJAX

Auf Geschwindigkeit optimiert

Nicht als Desktop-Replacementgedacht

Page 23: Java oberflächlich betrachtet - Welche GUI ist die richtige?

23

Fazit

Usererwartung bestimmt Anwendungstyp

Katalog, Shop, Information, ...

Portal

Leichtgewichtiger Zugriff

Datenpflege

Aufwändige Workflows

Installation akzeptabel

Web Client

Fat/Rich Client

Page 24: Java oberflächlich betrachtet - Welche GUI ist die richtige?

24

Fazit

Falls Web-Anwendung:

JSF bietet tragfähige, standardisierte Basis

Ggf. AJAXJSF-Komponente

Saubere Architektur!

Falls Fat/Rich-Client

Swing (ggf. ergänzt) + Java Web Start

Alternativ Eclipse RCP

Saubere Architektur!

Page 25: Java oberflächlich betrachtet - Welche GUI ist die richtige?

25

Und Sie?

Wie sind Ihre Erfahrungen?

Setzen Sie andere Frameworks ein?

Web? Fat/Rich? Gemischt?

Page 26: Java oberflächlich betrachtet - Welche GUI ist die richtige?

26

Danke für's Kommen!


Recommended