Java GUI Quo vadis? Björn Müller, CaptainCasa



Ähnliche Dokumente
Nutzung von JavaFX. Wo? Wann? Wie?

Ein mobiler Electronic Program Guide

Architektur von Business Apps

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

Ein UI in zwei Welten - Controls in HTML5 und WPF. Timo Korinth

Von Windows-Forms zu WPF mit Expression Blend? Thomas Müller conplement AG Nürnberg

Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Vorstellung - "Personal Remote Desktop" für (fast) alle Hardwareplattformen und Betriebssysteme

Moderne Web- Anwendungen mit

Reporting Services und SharePoint 2010 Teil 1

GuiXT und mysap ERP. Regensdorf, April 2004 Dr.Gerhard Rodé, Synactive GmbH

EPO Consulting GmbH. Ihr Partner für HTML5 und SAP UI5 Apps. Stand 2015/04. EPO Consulting GmbH - 1 -

Xpert.IVY das GUI ist entscheidend!

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Was meinen die Leute eigentlich mit: Grexit?

Weboberflächen testen

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

SharePoint 2013 Mobile Access

Luca Piras SharePoint Specialist it-function software GmbH

SAP NetWeaver Gateway. 2013

Java Script für die Nutzung unseres Online-Bestellsystems

Technologie ist Handwerk, Software was man draus macht.

Webseiten werden mobil Planung geht vor

JavaFX im UI-Technologiedschungel

Wir machen neue Politik für Baden-Württemberg

Der Weg zur eigenen App

Apollo Überblick. Klaus Kurz. Manager Business Development Adobe Systems Incorporated. All Rights Reserved.

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Präsentation Von Laura Baake und Janina Schwemer

Übertragung von ArcGIS Desktop 10.1 Concurrent Use Lizenzen auf zwei oder mehr Lizenzmanager (Juni 2013)

Citrix Dazzle. Die Zukunft der XenApp Bereitstellung? Thomas Kötzing - Freiberufler, Analyst Microsoft MVP, Citrix CTP / ThomasKoetzing.

VDW Statistik Portal Häufig gestellte Fragen. Version 1.2 ( Katharina Düngfelder & Markus A. Litters) Vorwort

WINDOWS 8 WINDOWS SERVER 2012

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

ArcGIS Online Werkstatt II Wege zur eignen Webanwendung

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Präsentation zur Vorstellung meiner Bachelor-Arbeit beim BSE- Seminar. Vortrag von Patrick Bitterling

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Architekturen mobiler Multi Plattform Apps

Ein mobiler Electronic Program Guide für Android

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

PM/HV - SAP für die Schulen Installation

ICT-Cloud.com XenApp 6.5 Configuration Teil 2

Worum geht es in diesem Projekt?

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Java Entwicklung für Embedded Devices Best & Worst Practices!

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

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

Projektarbeit POS II zum Thema Branchensoftware in der Druckindustrie. Ben Polter, Holger Räbiger, Kilian Mayer, Jochen Wied

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

Schüler-E-Tutorial für mobile Endgeräte. Ein Folgeprojekt des Netzwerks Informationskompetenz Berlin/Brandenburg mit der HdM

Behandlungsunterstützung mittels App. Lars Erdmann, Partner, Q_PERIOR AG SAP Mobile Forum, 17. April 2013

RESTful Web. Representational State Transfer

Was ist neu in Sage CRM 6.1

Anforderungen und Umsetzung einer BYOD Strategie

Der Trusted Capital Cloud Marktplatz

SAP SUPPLIER RELATIONSHIP MANAGEMENT

GESCHÄFTSSTELLENERÖFFNUNG HAMBURG, 25. APRIL 2013

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Migrationspfad zu BES 10 (1)

Mobile Apps mit DSLs. und entfernter Codegenerierung. Codierst Du noch oder generierst Du schon? Powered by

Wien = Menschlich. freigeist.photography

App Entwicklung mit dem Android SDK

Moin! Ihr wollt wissen, was wir anders machen als alle anderen? Na dann blättert mal weiter...

Einführung Internettechnologien. - Clientseitige Programmierung -

Xerox Device Agent, XDA-Lite. Kurzanleitung zur Installation

Leitfaden E-Books Apple. CORA E-Books im ibook Store kaufen. Liebe Leserinnen und Leser, vielen Dank für Ihr Interesse an unseren CORA E-Books.

Der Begriff Cloud. Eine Spurensuche. Patric Hafner geops

360 - Der Weg zum gläsernen Unternehmen mit QlikView am Beispiel Einkauf

Java Enterprise Architekturen Willkommen in der Realität

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

1 Was ist das Mediencenter?

Abschlussarbeiten für StudentInnen

TYPO3 CMS 6.2 LTS. Die neue TYPO3- Version mit Langzeit- Support

Kurzvortrag und Gespräch in diesem Raum

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

Innovation gestalten - von ABAP zur SAP HANA Cloud Platform

Server-centric vs. Client-centric Web Applications. BITKOM Software Summit 2014, Frankfurt

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

M b o i b l i e l e S a S l a e l s e s f or o S A S P P E R E P P m i m t i S b y a b s a e s e U nw n ir i ed e d P l P a l t a for o m

Professionelle Seminare im Bereich MS-Office

TELEMETRIE EINER ANWENDUNG

Windows wird nicht mehr unterstützt Was bedeutet das? Was muss unternommen werden? Compi-Treff vom 9. Mai 2014 Thomas Sigg

Spring Dynamic Modules for OSGi Service Platforms

Bes 10 Für ios und Android

Transkript:

Java GUI Quo vadis? Björn Müller, CaptainCasa

Björn Müller SAP, 1991 Anwendungsentwicklung Architekturentwicklung Java Application Server Casabac Technologies, 2001 AJAX Pionier 2005 Übernahme durch Software AG CaptainCasa Community, 2007 Corporate Community im Bereich Frontends für Unternehmensanwendungen

CaptainCasa Corporate Community Softwarehersteller D / CH / A 30 400 Mitarbeiter Logistics, Financials, Human Resources, Administration,... Definition und Entwicklung einer gemeinsam genutzten Rich Client Plattform

CaptainCasa Community

Die ganze Welt geht in Richtung HTML5. Oder?

Ein typischer Entwickler HTML5!!!

Ein typischer Entwickler HTML5!!! Eclipse! Mail Word, Visio, Powerpoint Projektrückmeldung Zeiterfassung

Ein typischer Entwickler HTML5!!! Eclipse! Mail NATIV Word, Visio, Powerpoint Projektrückmeldung HTML Zeiterfassung

Native Java UI Technologien Es macht Sinn, sich mit nativen Java UI Technologien zu beschäftigen Große Menge an funktionierenden nativen Anwendungen, die existieren und die weiterentwickelt werden Große Anzahl an Entwicklern, die Java beherrschen und eine passende UI Technologie nutzen wollen Konkrete Szenarien, in denen es auch zukünftig Sinn macht, nicht in Richtung HTML(5) zu gehen

Java UI Technologien Java Swing Java SWT (Eclipse) Java auf Android Java FX

Java Swing und Java SWT

Java Swing und Java SWT Schnell Stabil Programmierung! von Oberflächen Auf allen Desktopplattformen Nicht auf mobilen Plattformen! Langfristig supported...es tut sich nicht viel...!

Java Swing versus Java SWT SWT ist schneller. - Stimmt nicht! Eclipse <==> NetBeans Augenfälligster Unterschied Swing: eigenes Control-Rendering Sieht anders aus als OS SWT: Controls aus Betriebssystem Sieht so aus als OS

Java Swing versus Java SWT Einsatz von Java SWT Im Eclipse Umfeld! Einsatz von Java Swing Industrieanwendungen Utilities Applets / Webstart... (NetBeans)

Java Swing und Java SWT Java 1.6 Update 10 Der Hammerrelease für Java Frontendentwicklung! Wesentliche Verbesserung der Lauffähigkeit von Applets Eigener Prozess Eigene Konfiguration Individuelle Versionierung

Java Swing Umfeld Überschaubarer Markt an hochwertigen Controls Eine Reihe Swing unterstützende Frameworks JFreeChart Jasper Reports Swinglabs-Output PDF Renderer OSM Viewer

Java Swing Pain Points Browserintegration Teilweise recht nette Lösungen Swing SWTBridge SWT Browser Animationen

Java SWT Umfeld Überschaubarer Markt an hochwertigen Controls Eine Menge Frameworks im Eclipse Umfeld BIRT EMF... Eclipse Projects

Java Android

Java Android!= Java... Sprachumfang OK, voll umgesetzt! Bibliotheken Grrr. java.lang.*, java.util.*,... - OK. Swing Nicht umgesetzt, eigene UI Bibliothek. Generell: Immer wieder ärgerliche Lücken. Fazit: komplett eigene Java UI Implementierung notwendig.

Android Demo Demo.

Java Android UI Entwicklung Einfach... Einfache APIs. Guter Entwicklungsprozess. Gutes Tooling. Einfache Animationen Kommentare zum Einsatz Fazit Deskriptiv & per Programm Einsatz von Styles Eine Reihe von Restriktionen Umstieg von Swing: KEIN PROBLEM, aber...

Java Android UI Entwicklung Restriktionen, Pain Points Android Java!= Java Memory Konfiguration der Anwendung Begrenzte Höhe des Control Trees Multiple Scroll Level Styles nicht zur Laufzeit änderbar Nur ein Listener für Events...wird den Stallgeruch komme von Mini-Devices noch nicht ganz los.

Java FX

Java FX Java 1.* - Katastrophe Eigene Scriptingsprache... Java 2.0 Wunderbar! Zurück zu Java! Java FX als neue UI Control Library Swing Pain Points wurden adressiert Browser Integration Styling Animationen...und in ansprechender Weise gelöst!

Java FX Demo Demo

Java FX UI Entwicklung Einfach... Einfache APIs. Guter Entwicklungsprozess. Gutes Tooling. Einfache Animationen. Einfaches Styling. Kommentare zum Einsatz Deskriptiv & per Programm Sauberer Einsatz von Styles. Schnell. Viele Controls verfügbar, aber doch noch ein paar fehlende Grund-Controls Fazit Umstieg von Swing: KEIN PROBLEM

Java FX UI - Fragezeichen... Politische Positionierung Konkurrent 1: HTML5 Konkurrent 2: Swing Plattform Support außerhalb der Desktop Welt Android ios

Positionierung

Java native <=> HTML5 Klare Positionierungen für Java native Eigenständige Client Anwendungen. Android > autarke Apps Desktop > lokal laufende Clients Klare Positionierung für HTML5 Server basierte Anwendungen für anonyme Endnutzer Reach ist entscheidend! Installationsaufwand Plattformabdeckung Zusammenarbeit mit Designern

Java native im Umfeld von Unternehmensanwendungen Merkmale von Unternehmensanwendungen Viele Dialoge (>> 100) Bandbreite der Dialoge: Super-komplex / flexibel /... Einfach Server-seitige Logik / Regeln Typische Nutzer Sachbearbeiter massive Nutzung Management Reporting Mitarbeiter Self Service

Java native im Umfeld von Unternehmensanwendungen HTML5 AJAX (>100 Frameworks) Android Ruby JavaFX MS Silverlight Adobe Flex One hype after the next Logistics Financials HR Lifecycle >> 8-15 years

Java native im Umfeld von Unternehmensanwendungen Mittelständische Softwarehersteller Kleine Teams stemmen große Anwendungen. Keine Zeit und erst recht keine Lust auf Browserinkompatibilitäten Javascript Fummeleien... Schuld ist immer der Softwarehersteller.

Wo schlägt das Herz der Anwendung? Suppliers Customers Manufacturing Execution System

Wo schlägt das Herz der Anwendung? long term concepts Suppliers Customers Manufacturing Execution System mid term concepts

HTML(5) Hemmnisse Heterogene Browserwelt Desktop *x, Android *x, ios JavaScript Unmenge an Framework und Hypes Höhe der Frameworkstacks...ist HTML(5) wirklich die passende Technologie für den Kernteil der Anwendung?

http://html5readiness.com/

Valide Option Java Native für den Kernteil der Anwendung Sachbearbeiterdialoge Datenerfassung Konfiguration...langfristige Stabilität! HTML(5) für die Außenbereiche der Anwendung Partnerdialoge Self Service Dialoge Portalintegration...kurzfristige Reaktion!

Zweifelhafte Option Ein UI Framework als Eierlegende Wollmilchsau HTML5 Überforderung der Frameworks! Design von einzelnen Dialogen Scripting Einfach! Java native Style Guide für viele Masken Programmierung Flexibel!

Bessere Option Nutzung von jeweils adäquaten Technologien Native Java HTML5 Kern Sachbearbeitermasken Operative Nutzung Massennutzung, Self Service Mobile Szenarien Partnereinbindung

Architektur von nativen Java Clients Native!= Fat

Thin or Fat Architecture Thin Client Rendering Engine Layout Frontend Events + Eingaben Dialog Controller Fat Client UI Steuerung Dialog Controller Frontend Bus. API Bus. API Bus. API Business API Application Application Server Server

Thin or Fat Architecture Thin Client - Vorteile Nur Server-side Entwicklung EIN Interface zwischen Client und Server EIN Roundtrip pro Interaktion Kein Client Rollout bei Änderungen/Korrekturen Architektonische Entkopplung des Clients vom Server Fat Client Falle Unbewusste Entscheidung für Fat Client durch fehlende Architektur

CaptainCasa

Browser Swing based, generic UI Client Optimized for delta Rendering WebStart / Applet / Stand alone http(s) XML Layout Definition full or delta Data changes & events JSF Component Library Java Server Faces Application

CaptainCasa Enterprise Client Mini Demo...

Fazit

Fazit

Fazit Untersuchen Sie Ihre Anwendung / Ihr Vorhaben Wo liegt der Kern der Anwendung? Wie langfristig ist meine Entwicklung in diesem Kern? Wer sind die Nutzer? Wo muss ich langfristig denken? Wo will ich flexibel denken? Schließen Sie von Ihrer eigenen Toolumgebung auf das, was Sie Ihren Anwendern antun.

Fazit Gestatten Sie sich ein Recht auf Ihre eigene Meinung! Die UI Welt ist volatil und wird es bleiben... Ihre Anwendung braucht kein UI Dogma sondern ein stabiles User Interface!

Conclusions III Interested in CaptainCasa Community? Visit our booth outside... Visit http://www.captaincasa.com Downloads Demos Infos Contact us: info@captaincasa.com