Moderne Web- Anwendungen mit



Ähnliche Dokumente
Moderne Web-Anwendungen mit Vaadin

Moderne Web-Anwendungen mit Vaadin

Festpreisprojekte in Time und in Budget

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

jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG

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

- XPages 2.0? René Winkelmeyer

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

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

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

IntelliJ IDEA. Gliederung. Was ist IntelliJ IDEA? Lizenzmodell Warum IntelliJ einsetzen? IntelliJ und Eclipse Demo. Blick über den Eclipse-Tellerrand

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

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

Struts 2 Das Imperium schlägt zurück?

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

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

Abschlussarbeiten für StudentInnen

Build-Pipeline mit Jenkins

Testen mit JUnit. Motivation

Entwicklungswerkzeuge

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

eclipse und Komponenten

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

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

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

RIA Architektur ermöglicht globales Garantiemanagement bei Siemens

Applets I. Grundlagen der g Applet-Programmierung

Introduction to JSF technology and Rapid Application Development Roland Zänger

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Beispiel aus der Praxis

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

Webinar: Einführung in ICEfaces

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

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG

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

Dirk Reinemann Working Student Sales Consulting

Vaadin TouchKit. W3L AG

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

Architekturen mobiler Multi Plattform Apps

Hilfe, ich verstehe meine APEX Seite nicht mehr! DOAG Development Konferenz, Düsseldorf

Weboberflächen testen

Akonadi. Der PIM-Service für den freien Desktop. Tobias König. 30. März 2010

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Testen von graphischen Benutzeroberflächen. 26. Juni 2013

Sehenswert: Grafische Benutzeroberflächen mit JavaFX

Business Applika-onen schnell entwickeln JVx Framework - Live!

App Entwicklung mit Hilfe von Phonegap. Web Advanced II - SS 2012 Jennifer Beckmann

Die Alternative zum Web-Form Modell

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Spring Dynamic Modules for OSGi Service Platforms

Inhaltsverzeichnis. TeiM. V E E.l E.2 E.3 E.4. Vorwort von Stefan Tilkov Einleitung Zielgruppe Über dieses Buch Konventionen Dank

Der Weg zur eigenen App

QTS. Qualitätssicherungs-Teileverfolgungs- System online. Benutzung der grafischen Oberfläche via Internetbrowser

Worum geht es in diesem Projekt?

SAP SharePoint Integration. e1 Business Solutions GmbH

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

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

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

Innovative Use Cases & User Interfaces mit SAP Fiori & SAPUI5

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon

SAP NetWeaver Gateway. 2013

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG

4D Server v12 64-bit Version BETA VERSION

Integrated Search Einbindung von SharePoint Search in Office Apps Melanie Culver & Michael Appinger

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

Nutzung von JavaFX. Wo? Wann? Wie?

Das Eclipse Jubula Projekt zur funktionalen Testautomatisierung

Auszug aus JAX-WS Folien

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

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

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

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Testen von graphischen Benutzeroberflächen. 24. Juni 2015

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Vaadin ein Erfahrungsbericht

GUI Programmierung in Java

JSP vs. PHP. Ein persönlicher Vergleich. EQUIcon Software GmbH Jena, Jörg Spilling Frankfurter Treffen Agenda

ASV-Betrieb für die Coburger Schulen. Einbindung externer Schulen via RemoteApp

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte

Installation von NetBeans inkl. Glassfish Anwendungs-Server

ABACONNECT VERWENDUNG VON APACHE TCPMON UTILITY MIT ABACONNECT WEBSERVICES

Lokale Installation von DotNetNuke 4 ohne IIS

OpenSource Individualentwicklungsplattform für weborientierte/mobile Anwendungen

SHAREPOINT Unterschiede zwischen SharePoint 2010 & 2013

Jörg Neumann Acando GmbH

Graphen in Apex von Thomas Hernando.

HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS IOZ AG 1

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Innovation gestalten - von ABAP zur SAP HANA Cloud Platform

PRESman. Presentation Manager. Reduzieren Sie nachhaltig die Kosten für das. Erstellen, Verwalten und Verteilen Ihrer

Ein mobiler Electronic Program Guide

w3lib - einfach Software entwickeln!

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

Transkript:

Moderne Web- Anwendungen mit Oliver.Damm@akquinet.de September 2013

Web- Anwendungen mit Vaadin??? <{ 2

Agenda Was sind die typischen Herausforderungen? Warum ist Vaadin dabei hilfreich? Wie wird mit Vaadin entwickelt? Womit anfangen? 3

Agenda Was sind die typischen Herausforderungen? Warum ist Vaadin dabei hilfreich? Wie wird mit Vaadin entwickelt? Womit anfangen? 4

Was sind tägliche Herausforderungen? Effizienz Roundtrip API / Libraries Debugging Testbarkeit 5

Was sind tägliche Herausforderungen? Varianz Feedback Standards Vorbereitung 6

Was sind tägliche Herausforderungen? Akzeptanz Nutzen Einfachheit Einstellung tats. Nutzung 7

Agenda Was sind die typischen Herausforderungen? Warum ist Vaadin dabei hilfreich? Wie wird mit Vaadin entwickelt? Womit anfangen? 8

Was ist Vaadin? Rich Internet ApplicaBons = RIA (im Browser) Auf Desktop- Niveau für die Anwender MiGels Komponenten (wie SWT / Swing) für die Entwickler In pure Java entwickeln Streng typisierte Web- Entwicklung 9

Wege zu Vaadin Fat Client (Ausgangspunkt) 12 stark 10 ausgeprägt 8 6 4 wenig 2 ausgeprägt 0 Fat Client maximaler Umfang für einen kleinen Kreis 10

Wege zu Vaadin CGI 12 stark 10 ausgeprägt 8 6 4 wenig 2 ausgeprägt 0 Fat Client CGI sehr rudimentäre, aber eben weithin einsetzbare Architektur 11

Wege zu Vaadin JSF & Co. 12 stark 10 ausgeprägt 8 6 4 wenig 2 ausgeprägt 0 Fat Client CGI JSF & Co. in der Effizienz verbesserte, nach wie vor weithin einsetzbare Architektur 12

Wege zu Vaadin Vaadin 12 stark 10 ausgeprägt 8 6 4 wenig 2 ausgeprägt 0 Fat Client CGI JSF & Co. Vaadin EvoluBon zu PerfekBon: sehr großer Umfang für eine sehr breite Zielgruppe 13

Geschichte von Vaadin 2000 Start intern 2003 AJAX Rendering 2007 Open Src / GWT 2009 Vaadin 6 2012 Beta Vaadin 7 2013 Vaadin 7 Stabilität + Aktualität 14

Architektur von Vaadin - Shared State/Terminal Adapter via Framework 15

Umfangreiche Vorarbeit - UI- Bibliothek 45+ Komponenten 300+ im Add- on Dir 5+ Layouts 3 Themes 1 weitere in Arbeit Drag & Drop Support Touch Events CSS + SASS 16

Mobile Development: Vaadin TouchKit Nach wie vor RIA Nach wie vor Pure Java ios Look & Feel Neutraler Look möglich NavigaBonsmodell Listen scrollen, Navigaeon Bar 17

Warum ist Vaadin hilfreich? Effizienz Effizienz Roundtrip API / Libraries Debugging Testbarkeit Maven, Hot Deployment, JRebel UI Komponenten Sammlung Full Java Remote Debugging JUnit Selenium JMeter 18

Warum ist Vaadin hilfreich? Varianz / Risiko Schnelle erste Version Qualifiziertes Feedback Standard JEE- Technologie Keine Kinderkrankheiten Gehärtet Varianz Feedback Standards Vorbereitung Große UI Komponenten Sammlung 19

Warum ist Vaadin hilfreich? Akzeptanz Erwartungskonforme UI Style und Usability Mobile Akzeptanz Nutzen Einfachheit Einstellung tats. Nutzung Zeit für Business- Logik Schnelles Feedback 20

Agenda Was sind die typischen Herausforderungen? Warum ist Vaadin dabei hilfreich? Wie wird mit Vaadin entwickelt? Womit anfangen? 21

Basis der Vaadin- Architektur Darstellung im Browser Kommunikation / State UI für Use Cases Theme / Design Data Binding Client State im Hinter- grund abgewickelt Erstellen von Kompo- nenten auf dem Server Verwenden von Web / JEE Container Fokus auf spezifische Logik Business-Logik und Datenhaltung JVM 22

Sprung in den Code: init() @Theme( officewerker ) public class OfficewerkerApplicationUI extends UI { Eigener Theme @Inject Notificator notificator;... @Override public void init(vaadinrequest request) { main() von Vaadin this.i18nlocaleconfig.setlocale(getlocale());... } setcontent((componentcontainer) this.mainpresenter.getview().getcomponent()); Page.current().setTitle("Officewerker"); Fenster analog Swing MVP ist eine Opeon } 23

Sprung in den Code: LoginComponent public void init() { setsizefull(); Toolbar toolbar = new Toolbar( this.i18n.get("login.title"), null); this.textfieldmandator = new TextField( this.i18n.get("login.label.mandator")); this.textfieldmandator.setwidth("100%"); this.textfieldmandator.settabindex(1); this.textfieldmandator.focus(); this.textfieldmandator.setid("loginmandant"); this.textfieldmandator.addstylename("styleid- loginmandant"); this.textfieldlogin = new TextField( this.i18n.get("login.label.login")); this.textfieldlogin.setwidth("100%"); this.textfieldlogin.settabindex(2); this.textfieldlogin.setdebugid("loginname"); this.textfieldlogin.addstylename("styleid- loginname"); HorizontalLayout layoutloginmandator = new HorizontalLayout(); layoutloginmandator.setwidth("100%"); layoutloginmandator.setspacing(true); layoutloginmandator.addcomponent(this.textfieldmandator); layoutloginmandator.addcomponent(this.textfieldlogin); Internaeonalisierung TextField analog Swing Vorbereitung Oberflächentest Panels analog Swing 24

Sprung in den Code: init() + LoginComponent 25

Sprung in den Code: init() + LoginComponent HTML 26

Details zur Entwicklung Data Binding Durchgängiges Model über alle Komponenten Property, Item, Container Basis ImplemenBerungen vorhanden Bean, SQL Weitere ImplemenBeren über Add- Ons verfügbar JPA, Paged Eigene ImplemenBerung möglich Für Einbindung der eigenen Business- Schicht 20.09.13 27

Details zur Entwicklung TouchKit Spezielles Window setcontent(new TouchKitWindow()); NavigaBon nach Links und rechts Style (mobile) Quelle: Book of vaadin 28

Details zur Entwicklung - Umgebung Unterstützung der gängigen IDEs Eclipse, Netbeans, IntelliJ Gut in Build/CI integrierbar Maven, Gradle Jenkins, Hudson CVS, Subversion, Git Testbarkeit Unirest: Hohe Abdeckung möglich Oberflächentest: Selenium oder Testbench Performancetest: JMeter 29

Agenda Was sind tägliche Herausforderungen? Warum ist Vaadin bei deren Bewälegung hilfreich? Wie wird in Vaadin eine Anwendung entwickelt? Womit anfangen? 30

Wo fange ich an? Loslegen! Leichter Einseeg Schnell erste Ergebnisse Achtung: Vaadin hilf, ist aber nur eine Technologie! Klare Anforderungen Gute Projektmethodik Permantes Feedback Sauberer Architektur 31

Wo fange ich an? Tutorials e.g. JavaMagazin PDF, gedruckt Book of Vaadin Comm unity vaadin.com e.g. akquinet Solution Partner 32

Fazit und Wrap- Up Streng typisierte Web- Entwicklung Pure and Full Java EvoluBon Richtung PerfekBon bzgl. Effizienz, Varianz, Akzeptanz Legen Sie los! FRAGEN? 33