EINFÜHRUNG IN REACT.JS UND REDUX

Größe: px
Ab Seite anzeigen:

Download "EINFÜHRUNG IN REACT.JS UND REDUX"

Transkript

1 EINFÜHRUNG IN REACT.JS UND REDUX

2 REACT.JS EINE JAVASCRIPT LIBRARY ZUM ERSTELLEN VON USER INTERFACES Nur die UI Virtual DOM Data Flow

3 DATA FLOW Unidirektional ohne Event-Chaos

4 ickr.com/photos/spilt-milk/

5

6

7

8 REACT DATA FLOW

9 VIRTUAL DOM Ef zientes UI-Rendering inklusive

10 ÄNDERUNGEN AUF DER UI - WAS TUN? Alles neuzeichnen? Flackert! DOM manipulieren? Mühsam!

11 VIRTUAL DOM Entwickler beschreibt das vollständige Resultat React aktualisiert den DOM mit minimalen Änderungen

12 NUR DIE UI Model ist kein Bestandteil von React Kann beliebig implementiert werden

13 EINE EINFACHE KOMPONENTE

14 EINE EINFACHE KOMPONENTE import React, { Component from "react"; class HelloWorld extends Component { render() { return <p>hello World!</p>;

15 EINE EINFACHE KOMPONENTE import React, { Component from "react"; class HelloWorld extends Component { render() { return <p>hello World!</p>;

16 EINE EINFACHE KOMPONENTE import React, { Component from "react"; class HelloWorld extends Component { render() { return <p>hello World!</p>;

17 EINE EINFACHE KOMPONENTE import React, { Component from "react"; class HelloWorld extends Component { render() { return <p>hello World!</p>;

18 EINE EINFACHE KOMPONENTE import React, { Component from "react"; class HelloWorld extends Component { render() { return <p>hello World!</p>;

19 EINE EINFACHE KOMPONENTE import React, { Component from "react"; class HelloWorld extends Component { render() { return React.createElement('p', null, 'Hello World!');

20 EINE EINFACHE KOMPONENTE import React, { Component from "react"; class HelloWorld extends Component { render() { return <p>hello World!</p>;

21 <HelloWorld /> EINE EINFACHE KOMPONENTE

22 EINE KOMPONENTE MIT DATEN Anzeige eines Users / Anzeige der Liste

23 EINE KOMPONENTE MIT DATEN class User extends Component { render() { return <li> <span>{this.props.user.firstname {this.props.user.lastname</span> </li>;

24 EINE KOMPONENTE MIT DATEN class User extends Component { render() { return <li> <span>{this.props.user.firstname {this.props.user.lastname</span> </li>;

25 VERWENDUNG <ul> { users.map((user, index) => <User user={user key={"user_" + index />) </ul>

26 VERWENDUNG <ul> { users.map((user, index) => <User user={user key={"user_" + index />) </ul>

27 VERWENDUNG <ul> { users.map((user, index) => <User user={user key={"user_" + index />) </ul>

28 VERWENDUNG <ul> { users.map((user, index) => <User user={user key={"user_" + index />) </ul>

29 VERWENDUNG <ul> { users.map((user, index) => <User user={user key={"user_" + index />) </ul>

30 VERWENDUNG <ul> { users.map((user, index) => <User user={user key={"user_" + index />) </ul>

31 ANLEGEN EINES BENUTZERS

32 ANLEGEN EINES BENUTZERS class UserCreation extends Component { render() { return ( <div> <div>new User</div> <div> <label>first Name:</label> <input type="string" /> </div> <div> <label>last Name:</label> <input type="string" /> </div> <div> <button onclick={ /*... */ >Submit</button> </div> </div> );

33 ANLEGEN EINES BENUTZERS class UserCreation extends Component { render() { return ( <div> <div>new User</div> <div> <label>first Name:</label> <input type="string" /> </div> <div> <label>last Name:</label> <input type="string" /> </div> <div> <button onclick={ /*... */ >Submit</button> </div> </div> );

34 ANLEGEN EINES BENUTZERS class UserCreation extends Component { render() { return ( <div> <div>new User</div> <div> <label>first Name:</label> <input type="string" /> </div> <div> <label>last Name:</label> <input type="string" /> </div> <div> <button onclick={ /*... */ >Submit</button> </div> </div> );

35 ANLEGEN EINES BENUTZERS class UserCreation extends Component { render() { return ( <div> <div>new User</div> <div> <label>first Name:</label> <input type="string" /> </div> <div> <label>last Name:</label> <input type="string" /> </div> <div> <button onclick={ /*... */ >Submit</button> </div> </div> );

36 DIE GESAMTE APPLIKATION

37 REACT DATA FLOW

38

39

40 REDUX DATA FLOW

41 ACTION const USER_ADDED = "USER_ADDED"; function adduser(user) { return { type: USER_ADDED, payload: user Sehr ähnlich zu CQRS / Event Sourcing

42 STATE TREE INITIAL_STATE = { users: [] ; REDUCERS function reducers(state = INITIAL_STATE, action = {){ return { users: users(state.users, action) ; function users(state = INITIAL_STATE.users, action = {) { switch (action.type) { case Events.USER_ADDED: return state.concat(action.payload); return state;

43 INTEGRATION IN DIE KOMPONENTE class UserCreation extends Component { render() { return ( <div> <div>user Creation</div> <div> <label>first Name:</label> <input type="string" /> </div> <div> <label>last Name:</label> <input type="string" /> </div> <div> <button onclick={ /*... */ >Submit</button> </div> </div> );

44 INTEGRATION IN DIE KOMPONENTE class UserCreation extends Component { render() { return ( <div> <div>user Creation</div> <div> <label>first Name:</label> <input type="string" /> </div> <div> <label>last Name:</label> <input type="string" /> </div> <div> <button onclick={ /*... */ >Submit</button> </div> </div> );

45 INTEGRATION IN DIE KOMPONENTE class UserCreation extends Component { render() { return ( <div> <div>user Creation</div> <div> <label>first Name:</label> <input type="string" /> </div> <div> <label>last Name:</label> <input type="string" /> </div> <div> <button onclick={ () => { this.props.submituser({firstname:..., lastname:...) >Submit</button> </div> </div> ); <UserCreation submituser={ user => dispatch(actions.adduser(user)) />

46 REACT HOT RELOADING

47 REDUX LOGGER

48 VIELEN Ganztägiger Workshop zu React und Redux

Frontend-Entwicklung mit JavaScript

Frontend-Entwicklung mit JavaScript headquarter Frontend-Entwicklung mit JavaScript Single Page Applications Server-Side HTML Rendering Client-Side HTML Rendering kein JavaScript wenig JavaScript nur JavaScript Der Browser bietet viele neue

Mehr

Oliver Zeigermann, Stefan Toth embarc GmbH. Flux Facebooks Beitrag zur UI- Architektur der Zukunft

Oliver Zeigermann, Stefan Toth embarc GmbH. Flux Facebooks Beitrag zur UI- Architektur der Zukunft Oliver Zeigermann, Stefan Toth embarc GmbH Flux Facebooks Beitrag zur UI- Architektur der Zukunft UI-Architektur Warum? User Experience wird wichtiger Rich Client Optionen werden rar Es gibt mehrere Philosophien

Mehr

Webengineering. jquery

Webengineering. jquery Webengineering jquery Marcel Vilas 1 DHBW - Stuttgart jquery - Allgemein jquery ist eine JavaScript-Bibliothek (API) jquery ist eine Funktion (Funktionen sind Objekte) Vorteile: einfacher als vanilla JavaScript

Mehr

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

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik GUI-Programmierung mit Swing AWT und Swing Java enthält zwei Pakete zur Programmierung graphischer Oberflächen. java.awt: Das Abstract

Mehr

Wicket. Writing a Wicket app is rather more like writing an event-based desktop application than a web application. LShift

Wicket. Writing a Wicket app is rather more like writing an event-based desktop application than a web application. LShift Wicket Writing a Wicket app is rather more like writing an event-based desktop application than a web application. LShift Christian Nienhaus & Moritz Kunze Gliederung Theorie Übersicht Geschichte Struktur

Mehr

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ AK Medientechnologien Hello World Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Übersicht Demo-Applikation: Hello World Rückblick auf einzelne Schritte Entwicklungswerkzeuge

Mehr

JS goes mobile: Eine Übersicht. Frederik von Berg w11k / thecodecampus

JS goes mobile: Eine Übersicht. Frederik von Berg w11k / thecodecampus JS goes mobile: Eine Übersicht Frederik von Berg w11k / thecodecampus Überblick Über mich Historie Mobile Native JavaScript Vergleich mit Nativ & Hybrid Frameworks Setup & Codebeispiel

Mehr

Definition Web Service

Definition Web Service Gliederung Einführung Definition Web Service Drei Schhichtenmodell Architectural Model System Model Web Service Standards SOAP WSDL UDDI Types of Web Services Programmatic Web Services Interactive Web

Mehr

Der Design-Workflow im Software-Entwicklungs-Prozess

Der Design-Workflow im Software-Entwicklungs-Prozess Der -Workflow im Software-Entwicklungs-Prozess Universität Bonn, Vorlesung Softwaretechnologie SS 2000 1 Der -Workflow stellt zum Ende der Elaborations- und Anfang der Konstruktionsphase den Schwerpunkt

Mehr

Ruby on Rails. Thomas Baustert Ralf Wirdemann www.b-simple.de. Alternative zur Web-Entwicklung mit Java? 27.06.2005 www.b-simple.

Ruby on Rails. Thomas Baustert Ralf Wirdemann www.b-simple.de. Alternative zur Web-Entwicklung mit Java? 27.06.2005 www.b-simple. Ruby on Rails Alternative zur Web-Entwicklung mit Java? Thomas Baustert Ralf Wirdemann www.b-simple.de 27.06.2005 www.b-simple.de 1 Überblick Was ist Ruby on Rails? Weblog Demo Rails Komponenten Controller,

Mehr

Wie ich lernte die API zu lieben. 19. März 2013. bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell

Wie ich lernte die API zu lieben. 19. März 2013. bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell Burp- Burp- Wie ich lernte die zu lieben 19. März 2013 bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell Burp- Was erwartet uns? Das erwartet euch Theorie:

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Xpert.ivy Developer Day 2014. User Dialog Features. Autoren: Peter Stöckli & Flavio Sadeghi Datum: 14. Mai 2014

Xpert.ivy Developer Day 2014. User Dialog Features. Autoren: Peter Stöckli & Flavio Sadeghi Datum: 14. Mai 2014 Xpert.ivy Developer Day 2014 User Dialog Features Autoren: Peter Stöckli & Flavio Sadeghi Datum: 14. Mai 2014 1 Inhalt Übersicht New User Dialog Wizard Form Fields CMS & Html Dialog Layouts JSF 2.2 / Primefaces

Mehr

Anwendung der Aspektorientierung : Security

Anwendung der Aspektorientierung : Security Seminar AOSD Anwendung der Aspektorientierung : Security Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann 1. Motivation Anwendung der AO: Security 2 Sicherheitsprobleme beim Design und bei der Programmierung

Mehr

JavaScript und das Document Object Model 30.05.07

JavaScript und das Document Object Model 30.05.07 JavaScript und das Document Object Model Dynamische Seiten Bestreben von Netscape und Microsoft, HTML-Seiten dynamisch zu gestalten Schlagwort DHTML Netscape/Sun: JavaScript Microsoft: JScript Problem

Mehr

Grundlagen der Programmierung APPLETS

Grundlagen der Programmierung APPLETS Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets

Mehr

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

Mobile Apps mit DSLs. und entfernter Codegenerierung. Codierst Du noch oder generierst Du schon? Powered by Mobile Apps mit DSLs C1 und entfernter Codegenerierung Codierst Du noch oder generierst Du schon? Generative Software GmbH Freiburg Inhalt Plattformabhängige Entwicklung JavaScript Firefox OS Java Android

Mehr

Android GUI Entwicklung

Android GUI Entwicklung Android GUI Entwicklung Aktuelle Technologien verteilter Java Anwendungen Referent: Stefan Haupt Hello World! Agenda Einführung & Motivation Android Applikationen UI-Komponenten Events Ressourcen Kommunikation

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

Android Entwicklung. MobileDevCamp Munich 31.10.2009 Markus Junginger. greenrobot_de

Android Entwicklung. MobileDevCamp Munich 31.10.2009 Markus Junginger. greenrobot_de Android Entwicklung MobileDevCamp Munich 31.10.2009 Markus Junginger greenrobot_de Preis Scanner Apps Über mich Erste Android App: 2007 Erstes Mobile Projekt: 2001 10 Jahre Java & Internet Erfahrung 20

Mehr

Der Beginn einer wunderbaren Freundschaft von Stefan Schnell

Der Beginn einer wunderbaren Freundschaft von Stefan Schnell Der Beginn einer wunderbaren Freundschaft von Stefan Schnell Polyglottes programmieren, also programmieren in mehreren Sprachen, ist ein eher ungewöhnliches Szenario. Programmiersprachen bieten im Regelfall

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

JOGGA Der Jogging-Companion

JOGGA Der Jogging-Companion JOGGA Der Jogging-Companion GLIEDERUNG: (1) Idee (2) Funktionen (3) Codebeispiele IDEE: Jeder Jogger kennt das Problem: Man rafft sich auf um eine Runde zu laufen, schwitzt während dessen ohne Ende und

Mehr

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de Rails Ruby on Rails Ajax on Rails Who is who? Rails Ziel: Framework für Web (2.0) Anwungen Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby Interpretierte Sprache Rails Integrationen

Mehr

Christian Kurz SWT Projekt WS 07/08

Christian Kurz SWT Projekt WS 07/08 Christian Kurz SWT Projekt WS 07/08 1. Allgemeine Aspekte der generativen GUI- Entwicklung 2. Entwicklung mit Hilfe von GUI-Designern 3. Entwicklung mit Hilfe deklarativer GUI- Sprachen 4. Modellgetriebene

Mehr

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

RAP vs. GWT vs. GAE/J + jquery. Web Technologien im Verlgeich 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

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Web 2. Gang. Python User Group Köln 13.12.2006 Christopher Arndt <chris@chrisarndt.de>

Web 2. Gang. Python User Group Köln 13.12.2006 Christopher Arndt <chris@chrisarndt.de> Web 2. Gang Praktische Einführung in die Entwicklung von Webanwendungen mit TurboGears Python User Group Köln 13.12.2006 Christopher Arndt Was ist TurboGears? Ein Python Web-Meta-Framework!

Mehr

(TWS) Microsoft JScript für den Hobby-Programmierer Objekt window.document.form.input 23.05.08 Seite 1 von 11

(TWS) Microsoft JScript für den Hobby-Programmierer Objekt window.document.form.input 23.05.08 Seite 1 von 11 (TWS) Microsoft JScript für den Hobby-Programmierer Objekt window.document.input 23.05.08 Seite 1 von 11 window.document.input Objekt und seine Varianten beim Internet Explorer window.document.input Objekt

Mehr

Entwicklungswerkzeuge & - methoden

Entwicklungswerkzeuge & - methoden Entwicklungswerkzeuge & - methoden Debugging und Logging von mobile Apps Jürgen Menge Sales Consultant, Oracle Deutschland E-Mail: juergen.menge@oracle.com +++ Bitte nutzen Sie die bevorzugte Telefonnummer

Mehr

Codegeneratoren mit Xtend2. 11.04.2012, A. Arnold

Codegeneratoren mit Xtend2. 11.04.2012, A. Arnold Codegeneratoren mit Xtend2 11.04.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was ist Xtend2? 2. Xtend2 Konzepte 3. Hands On! 3 4 8 20 2 Was ist Xtend2? Funktionale, objektorientierte Sprache

Mehr

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

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 XPages Good to know Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 Agenda 1. Einführung Was sind XPages? 2. Allgemeine Tipps Allgemeine Tipps für die Verwendung von XPages 3. Designer Tipps Tipps für

Mehr

versus Christian Grobmeier http://www.grobmeier.de @grobmeier

versus Christian Grobmeier http://www.grobmeier.de @grobmeier versus Christian Grobmeier http://www.grobmeier.de @grobmeier Programmiersprache von Google Kann JS ersetzen Läuft in einer VM Für ernsthafte Anwendungen Jung und rockt Heavy Metal Band aus England Ersetzt

Mehr

Sommersemester Implementierung III: GUI und Verhalten (Teil 2)

Sommersemester Implementierung III: GUI und Verhalten (Teil 2) Sommersemester 2003 Implementierung III: GUI und Verhalten (Teil 2) 26 Aufgabe 5 Implementierung III: GUI und Verhalten (Teil 2) Umfang: 1 Woche Punkte: 50 P. Als Nächstes soll die Implementierung des

Mehr

DHTML. selbst, ausgelöst durch Benutzereingaben, verändert wird. Quelle: http://de.wikipedia.org/wiki/dynamic_html

DHTML. selbst, ausgelöst durch Benutzereingaben, verändert wird. Quelle: http://de.wikipedia.org/wiki/dynamic_html DHTML Die Begriffe DHTML, dynamisches HTML (engl. dynamic HTML) oder auch DOM-Scripting bezeichnen bestimmte WebdesignMethoden, bei denen während der Anzeige einer Webseite diese selbst, ausgelöst durch

Mehr

Android Apps. Mentoring SS 16. Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016

Android Apps. Mentoring SS 16. Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016 Android Apps Mentoring SS 16 Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016 Wichtige Dateien MainActivity.java activity_main.xml AndroidManifest.xml Die Dateien MainActivity.java,

Mehr

Java Web Services Metadata JSR-181

Java Web Services Metadata JSR-181 Java Web Services Metadata JSR-181 Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Albertus-Magnus-Str.

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Java Beans. Übersicht, Eigenschaftstypen, Heutiger Stand.

Java Beans. Übersicht, Eigenschaftstypen, Heutiger Stand. Java Beans Übersicht, Eigenschaftstypen, Heutiger Stand. 1 Definition Eine Bean ist eine wieder verwendbare Softwarekomponente basierend auf der JavaBeans-Spezifikation von Sun, die sich visuell mit einem

Mehr

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt PHP Schulung Beginner Newthinking Store GmbH Manuel Blechschmidt Begrüßung Es gibt keine dummen Fragen nur dumme Antworten. Übersicht Sprung ins Kalte Wasser 'Hallo Welt' Theorie Requests Grundlagen Kommentare

Mehr

MDRE die nächste Generation des Requirements Engineerings

MDRE die nächste Generation des Requirements Engineerings MDRE die nächste Generation des Requirements Engineerings Tom Krauß, GEBIT Solutions GmbH Copyright 2007 GEBIT Solutions Agenda Requirements Engineering heute eine Bestandsaufnahme Modell-Driven Requirements

Mehr

Virtuelle Realität und Simulation - Übung 1

Virtuelle Realität und Simulation - Übung 1 Virtuelle Realität und Simulation - Übung 1 Einführung Prof. Dr. Gabriel Zachmann (zach@in.tu-clausthal.de) David Mainzer (dm@tu-clausthal.de) Institut für Informatik 6. Oktober 2010 Institut für Informatik

Mehr

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Drag and Drop (DnD) 1. Transfer-Mechanismus 2. Transfer-Support 3. Cursor-Symbole 4. Einführendes Beispiel 5. Komponenten DnD-fähig machen 6. Standard DnD-Verhalten ändern Folie 1 Lernziele Sie

Mehr

Vorlesung Usability and Interaction. Sommersemester 2009

Vorlesung Usability and Interaction. Sommersemester 2009 Vorlesung Usability and Interaction Sommersemester 2009 Dipl.-Inf. Philipp Heim Forschungsgebiet Interaktive Systeme Institut für Visualisierung und interaktive Systeme Universitätsstraße 38 70569 Stuttgart

Mehr

Übung 1: Von einer naiven JavaScript Applikation zu einem modernen Front-End Build:

Übung 1: Von einer naiven JavaScript Applikation zu einem modernen Front-End Build: Übung 1: Von einer naiven JavaScript Applikation zu einem modernen Front-End Build: Teil 1: Refactoring der naiven Applikation Wechseln Sie in das Verzeichnis 01-Intro/01-SimplisticToDoNaive Öffnen Sie

Mehr

Rapide An Event-Based Architecture Definition Language

Rapide An Event-Based Architecture Definition Language Rapide An Event-Based Architecture Definition Language Ralf Bettentrup Seminar: Architekturbeschreibungssprachen Wozu Rapide? Computer mit Modem Provider Broker Client Broker PC Prov 1 Client 1 RS-232

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau

Mehr

Testen und Debuggen von Webanwendungen

Testen und Debuggen von Webanwendungen Testen und Debuggen von Webanwendungen Leif Singer leif.singer@inf.uni-hannover.de Seminar Aktuelle Software-Engineering-Praktiken für das World Wide Web 16.06.2010 Übersicht Grundlagen Usability-Tests

Mehr

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4 Sub1 Super Sub3 H Sub2 State2 Sub4 Super State2 Sub4 $FWLYLW\'LDJUDPV Aktivitätsdiagramme beschreiben spezielle Zustandsautomaten. Transitionen werden hier grundsätzlich durch die Beendigung von Aktionen

Mehr

Open Source Virtualisierung mit ovirt. DI (FH) René Koch

Open Source Virtualisierung mit ovirt. DI (FH) René Koch Open Source Virtualisierung mit ovirt DI (FH) René Koch Agenda Einführung Komponenten Erweiterungen & Monitoring Use Cases & Herausforderungen Einführung ovirt Zentralisiertes Management für Server und

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,

Mehr

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Komponentenorientierte Software-Entwicklung. Seite 1 / 42 Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object

Mehr

Moderne Web- Anwendungen mit

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

Mehr

Spock und Geb (WebDriver) Wie können freie Werkzeuge zum strukturierten Testen von Web-Applicationen eingesetzt werden?

Spock und Geb (WebDriver) Wie können freie Werkzeuge zum strukturierten Testen von Web-Applicationen eingesetzt werden? Stuttgarter Test-Tage 21. & 22. März 2013 Spock und Geb (WebDriver) Wie können freie Werkzeuge zum strukturierten Testen von Web-Applicationen eingesetzt werden? Christian Baranowski Willkommen Christian

Mehr

Zend Framework MVC Applikationen testen

Zend Framework MVC Applikationen testen Zend Framework MVC Applikationen testen Jan Burkl, System Engineer, Zend Technologies Wer bin ich? Jan Burkl jan.burkl@zend.com PHP Entwickler seit 2001 Projektarbeit Bei Zend seit 2006 System Engineer

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015 PHP MVC. Dr. Christian Senger. PHP MVC 1 von 21

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015 PHP MVC. Dr. Christian Senger. PHP MVC 1 von 21 PHP MVC PHP MVC 1 von 21 Model View Control Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP MVC 2 von 21 Webbasierte Informationssysteme WWW-Browser

Mehr

Frontend Migration from JSP to Eclipse Scout

Frontend Migration from JSP to Eclipse Scout Frontend Migration from JSP to Eclipse Scout Peter Nüdling Raiffeisen Schweiz Jérémie Bresson, Peter Barthazy BSI Business Systems Integration AG Eclipse Finance Day, Zürich, 31. Oktober 2014 Seite 1 WebKat:

Mehr

Programmieren 2 (Prof. Hasbargen) Klausur

Programmieren 2 (Prof. Hasbargen) Klausur Programmieren 2 (Prof. Hasbargen) 1 Klausur Aufgabe 1 (10 Punkte) Dynamisierung von HTML-Seiten HTML-Seiten sind eine gängige Art und Weise, Informationen darzustellen. Nennen Sie die Gründe, welche Vorteile

Mehr

Ruhr.pm Das Catalyst MVC-Framework Autor: EMail: Datum: http://ruhr.pm.org/

Ruhr.pm Das Catalyst MVC-Framework Autor: EMail: Datum: http://ruhr.pm.org/ Das Catalyst MVC-Framework Autor: EMail: Datum: Simon Wilper simon AT ruhr.pm.org http://ruhr.pm.org/ Template Version 0.2 The use of a camel image in association with Perl is a trademark of O'Reilly Media,

Mehr

Programmieren im Web 2.0

Programmieren im Web 2.0 Programmieren im Web 2.0 Inhaltsverzeichnis JavaScript Einführung DHTML als eine Grundlage Do s and Dont s Inhaltsverzeichnis / 2 Ajax Einführung Technische Grundlagen Das XMLHttpRequest Objekt Beispielanwendung

Mehr

10. Berechtigungsverwaltung Grundlagen der Programmierung II (Java)

10. Berechtigungsverwaltung Grundlagen der Programmierung II (Java) 10. Berechtigungsverwaltung Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

Java Server Pages (JSP)

Java Server Pages (JSP) Überblick über Internet-Technologien Server-Technologien Datenbankkopplung Servlets JSP PHP CGI XML+XSL Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver HTML+Javascript HTML+Applets

Mehr

windream SDK Einfache System-Erweiterungen und Software-Integrationen mit windream

windream SDK Einfache System-Erweiterungen und Software-Integrationen mit windream windream SDK Einfache System-Erweiterungen und Software-Integrationen mit windream 2 Einfache System-Erweiterungen und Software- Integrationen mit windream Die offene Architektur des Enterprise-Content-Management-Systems

Mehr

Java Beans von Christian Beck-Wörner. Inhalt. Was ist ein Bean Konzept von Beans Entwicklung eines Beans Eigenschaften von Beans Testumgebung: BDK

Java Beans von Christian Beck-Wörner. Inhalt. Was ist ein Bean Konzept von Beans Entwicklung eines Beans Eigenschaften von Beans Testumgebung: BDK Java Beans von Christian Beck-Wörner Inhalt Was ist ein Bean Konzept von Beans Entwicklung eines Beans Eigenschaften von Beans Testumgebung: BDK Was ist ein Bean? Ein JavaBean ist eine wiederverwendbare

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr

Universal-Apps. Gordon Breuer Senior IT Consultant Software Engineer / Architect msg systems ag. activevb Workshop 2014 30.

Universal-Apps. Gordon Breuer Senior IT Consultant Software Engineer / Architect msg systems ag. activevb Workshop 2014 30. Universal-Apps activevb Workshop 2014 30. August 2014 Auszug aus dem Buch: Windows Phone 8.1 Kochbuch Erscheinungsdatum: Q4/2014 Autoren: Matthias Fischer, Gordon Breuer Gordon Breuer Senior IT Consultant

Mehr

KISSsys Anleitung: Lagerkräfte aus KISSsys Modell exportieren

KISSsys Anleitung: Lagerkräfte aus KISSsys Modell exportieren KISSsoft AG Frauwis 1 CH - 8634 Hombrechtikon Telefon: +41 55 264 20 30 Fax: +41 55 264 20 33 Email: info@kisssoft.ch KISSsys Anleitung: Berechnungssoftware für den Maschinenbau Ausgabe der Lagerkräfte

Mehr

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de Rails Ruby on Rails Ajax on Rails Who is who? Rails Framework für Web (2.0) Anwendungen Ziel: Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby InterpreDerte Sprache Rails IntegraDonen

Mehr

CLR CIL MCS ECMA-335. Linux.Ne t. 2005 Albrecht Liebscher, Erlanger Linux Tage

CLR CIL MCS ECMA-335. Linux.Ne t. 2005 Albrecht Liebscher, Erlanger Linux Tage C# CLR CIL MCS ECMA-335 Linux.Ne t Was ist.net? Microsoft Homepage:.NET is the Microsoft Web services strategy to connect information, people, systems and devices through software. Mono Handbuch:.Net besteht

Mehr

Laufzeitanalyse & Manipulation von Apple ios Apps OWASP 07.11.2012. The OWASP Foundation http://www.owasp.org. Andreas Kurtz

Laufzeitanalyse & Manipulation von Apple ios Apps OWASP 07.11.2012. The OWASP Foundation http://www.owasp.org. Andreas Kurtz Laufzeitanalyse & Manipulation von Apple ios Apps Andreas Kurtz 07.11.2012 NESO Security Labs GmbH Universität Erlangen-Nürnberg mail@andreas-kurtz.de Copyright The Foundation Permission is granted to

Mehr

Android Processes & Services

Android Processes & Services Android Processes & Services Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 4 besprechen (inkl. Repetition)

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

WebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16.

WebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter 16. Oktober 2006 Gliederung Datenverwaltung 1 Datenverwaltung 2 Problemstellung Java

Mehr

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //

Mehr

1. Download der benötigten Software Version 2. Speichern Sie das easytouch Update auf einem leeren USB-Sick (FAT) (max 2 GB) P3 / Mini.

1. Download der benötigten Software Version 2. Speichern Sie das easytouch Update auf einem leeren USB-Sick (FAT) (max 2 GB) P3 / Mini. easytouch 1.3.0.20 (2.3.0.20): (german) (for English see below please) Für die easytouch Geräteserie ist eine neue Softwareversion 1.3.0.20 & 2.3.0.20 erhältlich und zum Download auf unserer deutschen

Mehr

UIKit (Cocoa Touch) Framework für ios Apps. Objective C. Model View Controller Pattern

UIKit (Cocoa Touch) Framework für ios Apps. Objective C. Model View Controller Pattern ios Rendering ios Architektur UIKit (Cocoa Touch) A composable, reusable, declarative, real-world inspired animation, and interaction system Framework für ios Apps Objective C Model View Controller Pattern

Mehr

Gliederung. Integrated Service Architecture (ISA) RSVP-Überblick Reservation Styles RSVP-Nachrichten. RN II Kap. 5.

Gliederung. Integrated Service Architecture (ISA) RSVP-Überblick Reservation Styles RSVP-Nachrichten. RN II Kap. 5. Internet Protokolle für Multimedia - Anwendungen Kapitel 5.3 IntServ / RSVP 1 Gliederung Integrated Service Architecture (ISA) RSVP-Überblick Reservation Styles RSVP-Nachrichten 2 Integrated Service Architecture

Mehr

Wolkig bis heiter. Andreas Wismann WHEN OTHERS. APEX als Drehkreuz für Web Service-Anwendungen

Wolkig bis heiter. Andreas Wismann WHEN OTHERS. APEX als Drehkreuz für Web Service-Anwendungen Wolkig bis heiter APEX als Drehkreuz für Web Service-Anwendungen Andreas Wismann WHEN OTHERS Beratung Projektmanagement Coaching rund um Oracle Application Express In APEX Informationen von "woanders"

Mehr

Auf einen Blick. TEIL I Grundlagen. TElL II IT -Service-Management in der Praxis. Service-Request-Fulfillment... 335. 1 IT-Service-Management...

Auf einen Blick. TEIL I Grundlagen. TElL II IT -Service-Management in der Praxis. Service-Request-Fulfillment... 335. 1 IT-Service-Management... Auf einen Blick TEIL I Grundlagen 1 IT-Service-Management... 21 2 SAP Solution Manager 7.1... 41 TElL II IT -Service-Management in der Praxis 3 lncident-management...............................................

Mehr

itemis APPlause Referent: Florian Kalisch, Denis Radjenovic

itemis APPlause Referent: Florian Kalisch, Denis Radjenovic itemis APPlause Vortrag im Rahmen der Vorlesung Modellgetriebene Softwareentwicklung/Architekturen Dozenten: Prof. Dr. Martin Buchheit & Bernhard Merkle WS 2011/2012 Referent: Florian Kalisch, Denis Radjenovic

Mehr

APEX 5.0 als wertvolle Ergänzung einer SharePoint-Umgebung. Alexej Schneider DOAG 2015

APEX 5.0 als wertvolle Ergänzung einer SharePoint-Umgebung. Alexej Schneider DOAG 2015 APEX 5.0 als wertvolle Ergänzung einer SharePoint-Umgebung Alexej Schneider DOAG 2015 Über mich Alexej Schneider Bachelor Angewandte Informatik Schwerpunkte: APEX Front-End Mobile UI/UX Oracle APEX Berater

Mehr

XML Technologien Seminar WS 2011/2012. 01.04.12 Einführung in HTML5 1

XML Technologien Seminar WS 2011/2012. 01.04.12 Einführung in HTML5 1 XML Technologien Seminar WS 2011/2012 01.04.12 Einführung in HTML5 1 EINFÜHRUNG IN HTML5 Eine kurze historische Einführung HTML5 Ausblick und kritische Reflexion 01.04.12 Einführung in HTML5 2 Eine kurze

Mehr

PureMVC Aufbau 4. Notifications können benutzt werden, um Commands auszuführen 6

PureMVC Aufbau 4. Notifications können benutzt werden, um Commands auszuführen 6 Implementierung Idiome und Optimale Anwendung Entwicklung von robusten, skalier- und pflegbaren Client-Anwendungen mit PureMVC. Mit Beispielen in ActionScript 3 und MXML. Command Command Command Command

Mehr

Universität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets

Universität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets Kapitel 3: Java Applets 1 Was sind Applets? kleine in Fenstern ausführbare Programme typisch: Aufruf im Browserfenster als Teil einer HTML-Seite Anfang des umgebenden HTML-Textes

Mehr

Eclipse User Interface Guidelines

Eclipse User Interface Guidelines SS 2009 Softwarequalität 06.05.2009 C. M. Bopda, S. Vaupel {kaymic/vaupel84}@mathematik.uni-marburg.de Motivation (Problem) Motivation (Problem) Eclipse is a universal tool platform - an open, extensible

Mehr

Realtime Anbindung an SAP ERP

Realtime Anbindung an SAP ERP Realtime Anbindung an SAP ERP 14.07.2014, 15:00 NovaTec Consulting GmbH Leinfelden-Echterdingen, München, Frankfurt am Main, Berlin, Jeddah / Saudi-Arabien Showcase - Push SAP Terminauftrag NovaTec 09.09.2015

Mehr

Aufbau des Beispiels. Arthur Zaczek. Feb 2015

Aufbau des Beispiels. Arthur Zaczek. Feb 2015 Arthur Zaczek Feb 2015 1 Aufbau des Beispiels 1.1 Architektur - Java Figure 1: Architektur Java 1 1.2 Architektur - CS Figure 2: Architektur C# 1.3 Java vs. CS Java: JavaFX hat Controller Aktionen werden

Mehr

Offline-Webanwendungen mit Google Gears. Schuster Stefan - Irian.at

Offline-Webanwendungen mit Google Gears. Schuster Stefan - Irian.at Offline-Webanwendungen mit Google Gears Schuster Stefan - Irian.at 1 Stefan Schuster Web 2.0 / Ajax Entwickler 2 Agenda Theorie Google Gears Dojo Offline Applikations-Architektur Praxis Ein Beispiel: MultiUserTodoTable

Mehr

Interaktive Elemente, GUI-Programmierung

Interaktive Elemente, GUI-Programmierung Softwaretechnik für IM, WS2015/2016 http://knopper.net/bw/swt/ Übung 4 Interaktive Elemente, GUI-Programmierung 1. Schreiben Sie ein Programm (wahlweise als Applet oder Applikation, oder beides), das die

Mehr

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

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

Mehr

Vaadin ein Erfahrungsbericht

Vaadin ein Erfahrungsbericht Vaadin ein Erfahrungsbericht JUG SWITZERLAND 5. Februar 2013 Benjamin Schupp / Markus Kinzler mp technology consulting GmbH Speakers Benjamin Schupp Lead Architect, konzipiert und entwickelt Java-basierte

Mehr

Moderne Web-Anwendungen mit Vaadin

Moderne Web-Anwendungen mit Vaadin Moderne Web-Anwendungen mit Vaadin Sebastian.Rothbucher@akquinet.de September 2013 Web-Anwendungen mit Vaadin???

Mehr

Cross-Platform Mobile Apps

Cross-Platform Mobile Apps Cross-Platform Mobile Apps 05. Juni 2013 Martin Wittemann Master of Science (2009) Arbeitet bei 1&1 Internet AG Head of Frameworks & Tooling Tech Lead von qooxdoo Plattformen Java ME 12 % Rest 7 % Android

Mehr

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

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt OERA OpenEdge Reference Architecture Mike Fechner PUG Infotag 19. Mai 05 Frankfurt Überblick OERA Separated presentation and integration layers Common business logic with advanced models Data access abstracted

Mehr

Stock Exchange. Nico Danneberg, Paul Führing, Martin Hammitzsch, Lars Lindner

Stock Exchange. Nico Danneberg, Paul Führing, Martin Hammitzsch, Lars Lindner Stock Exchange Nico Danneberg, Paul Führing, Martin Hammitzsch, Lars Lindner Überblick! Börsentool Stock Exchange (SE)! Verteilte Beispielkomponenten! Stehen bereit auf mehreren Servern! Nutzen verschieden

Mehr

Seminar SS13 von Krzysztof Rahn. Dart. Ein Ersatz für Javascript?

Seminar SS13 von Krzysztof Rahn. Dart. Ein Ersatz für Javascript? Seminar SS13 von Krzysztof Rahn Dart Ein Ersatz für Javascript? Inhalt Dart allgemein Tools Erste Beispiele Dart Ausführung Funktionalitäten Sprachkonzepte Praktischer Einsatz Performance Fazit Dart allgemein:

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 14 Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 14 1 Einführendes Beispiel 2 Eigenschaften von Swing 3 Typisches Swing-Applet

Mehr

JavaScript Frameworks für Mobile

JavaScript Frameworks für Mobile JavaScript Frameworks für Mobile MoBI Expertenrunde Usability, 1. März 2012 doctima GmbH JavaScript Frameworks für Mobile MoBI 1.3.2012 Edgar Hellfritsch Inhalt Native App-Entwicklung Klassische Web-Entwicklung

Mehr