norman KLEIN max CARLSON mit glenn MacEWEN LASZLO IM EINSATZ »Jeder Laszlo-Entwickler sollte ein Exemplar dieses Buches haben«ryan Stewart, Adobe

Größe: px
Ab Seite anzeigen:

Download "norman KLEIN max CARLSON mit glenn MacEWEN LASZLO IM EINSATZ »Jeder Laszlo-Entwickler sollte ein Exemplar dieses Buches haben«ryan Stewart, Adobe"

Transkript

1 norman KLEIN max CARLSON mit glenn MacEWEN LASZLO IM EINSATZ»Jeder Laszlo-Entwickler sollte ein Exemplar dieses Buches haben«ryan Stewart, Adobe

2 Inhalt Vorwort...XV Danksagungen...XVII Über dieses Buch...XIX Teil 1: Die Grundlagen Der Turbolader für die Webtechnologie Laszlo für das Design und Erstellen von RIAs Benutzerzentriertes Design Die Entdeckung von Laszlo: Die Geschichte eines Entwicklers Ein kurzer Rückblick OpenLaszlo: Open Source und für alle verfügbar Ein erster Vorgeschmack auf Laszlo LZX Animation von Hello Laszlo Ausführung auf Flash oder DHTML Deployment einer Laszlo-Applikation Server-Modus Stand-alone-Modus Zusammenfassung Die deklarative Welt von LZX Unterstützung durch die Architektur Die dreischichtige Struktur von Laszlo Laszlo als Interface für einen Webserver Kommunikation zwischen Publisher und Subscriber Die Kombination von Vererbungsmodellen LZX-Klassen Die Klasse LzNode Die Klasse LzView Definieren von Klassen in LZX VII

3 Inhalt 2.3 Die Grundlagen der Tags Hierarchische Adressierung Propagation der Eltern-Kind-Attribute Flache Tag-Hierarchien Integriertes Event-Handling Event-Handling mit Constraints Animation der deklarativen Tags Tags an XML-Daten binden Zusammenfassung Zentrale Regeln der LZX-Sprache Die Grundlagen von LZX Debugging Code-Kommentare Wohlgeformte XML-Dateien...55 Erstellung von Objekthierarchien Die deklarative Benennung von Objekten Die dynamische Erstellung von Knoten mit JavaScript Das Unterknoten-Array Werte in Attributen speichern Attributtypen Typausdrücke in JavaScript Methoden und Event-Handler Schreiben von Methoden Das Schreiben von Event-Handler-Methoden Deklarative Constraints Die Grundlagen der Constraints Der Modifikator once JavaScript und das script-tag Zusammenfassung Die große Rundreise durch Views und Benutzerklassen Die Features von Views Steuerung der Sichtbarkeit von Views Steuerung der Sichtbarkeit durch Animation Animation mit Rotation Multimedia-Ressourcen Der Umgang mit Font-Spezifikationen Steuerung des Cursors Interaktion mit einer View Empfangen von Benutzer-Events Lokalisierung von Views Lokalisierung von absoluter und relativer Bildschirmposition Lokalisierung einer View Instanziierung von LFC-basierten Objekten Benutzerdefinierte Klassen VIII

4 Inhalt Überschreiben einer Methode in einer Subklasse Die Verwendung des classroot-parameters mit Klassen Instanziierung von LZX-basierten Objekten Zusammenfassung Das Design von Laszlo Market Prototyping der Anwendung Erstellung von Wireframes Übergänge mit Storyboards erstellen Coding des Prototyps Das Fenster als Prototyping-Tool Organisation mit Libraries Konfiguration des Checkout-Bildschirms Einen virtuellen Bildschirm einschieben Stapeln der Seiten Zentrale Steuerung der Bildschirmdarstellung Design der Bildschirmübergänge Auslösen von Bildschirmübergängen Refakturierung des Code Ersetzen des Animators Eine allgemein gültige Architektur Tests mit LzUnit Unit-Tests mit LzUnit Test von Laszlo Market Tests über einen URL-Abfragestring Zusammensetzung der Einzelteile Zusammenfassung Teil 2: Prototyping von Laszlo Market Das Layout für Laszlo Market Allgemeine Layout-Probleme Grundlegende Layouts Dehnbare Layouts Dynamische Layoutmodifikatoren Aus Layouts ausbrechen Erstellen eigener Layouts Erweiterung der LzLayout-Klasse Layout einer Flugzeugformation erstellen Formulare anlegen Eingabefelder mit Bezeichnungen Näheres über formlayout Identifikation des Klassentyps mit instanceof Zusammenfassung IX

5 Inhalt 7 Die Laszlo-Komponenten Grundlegende Komponentenklassen Steuerung des Fokus Die Arbeit mit Datenkomponenten Erstellen eines mehrseitigen Fensters Coding der Seite mit den Lieferinformationen Die Steuerung der Platzierung Erstellen des Bereichs für die Lieferadresse Validierung der Eingabefelder Die Arbeit mit Validatoren Erstellen eines neuen Validators Erstellen des Bereichs für die Liefermethode Implementierung der Seite für die Rechnungsinformationen Coding des Wireframes für die Rechnungsmethode Koordinierung mehrerer Seiten Formularvalidierung Zusammenfassung Dynamisches Verhalten von Events und Delegates Die Funktionsweise von Event-Handlern und Constraints Die Funktionsweise von Event-Handling und Constraints Die Arbeit mit Events Die Arbeit mit Delegates Hinzufügen von dynamischem Verhalten Die delegate-zentrierte Perspektive Die event-zentrierte Perspektive Delegates mit Layouts verwenden Dynamisches Einbauen von Attributen Komplexes Verhalten mit Attribut-Settern steuern Zusammenfassung Die Arbeit mit den Laszlo-Diensten Überblick über die Dienste Unterschiedliche Nutzung von Diensten Aufruf einer Dienstmethode Dienst-Events über Registrierungsmethoden empfangen Dienst-Events über deklarative Referenzen empfangen Erstellen einer Stoppuhr Vorstellung der Dienste über ein Anmeldefenster Steuerung des Maus-Cursors Fenster in Sequenzen mit LzModeManager anlegen Tastatureingaben mit LzKeys annehmen Erstellen eines Drag & Drop-Netzwerks Erkennen von lokalen und globalen Maus-Events Kontinuierliches Tracking mit LzIdle generieren Fortgeschrittenes Drag & Drop mit LzTrack Zusammenfassung X

6 Inhalt Teil 3: Die Datensätze von Laszlo Arbeiten mit XML-Datensätzen Einführung in die XML-basierten Datensätze Die XML-Elemente Über XPath Datenelemente auswählen Deklarative Tags an XML-Elemente binden Kontext für Datenpfad etablieren Die Constraint-Notation $path{} Aktualisierung eines Datensatzes Der Umgang mit ontext-events Aktualisieren mit der Methode applydata Die Arbeit mit lokalen Datensätzen Mehrere passende Datenelemente Datensätze sortieren Einfache Sortierung Eigene Sortierung Datensatz-Prototypen für Laszlo Market Der Datensatz Bilder mit korrektem Seitenverhältnis verkleinern Prototyping mit Rastern Die Arbeit mit Rastern Verarbeitung der Auswahl eines Benutzers Zusammenfassung Die Arbeit mit dynamischen Datensatzbindungen Verknüpfen von Datenknoten und Datenzeigern Die LzDataNode-Klassen Die abstrakte Superklasse LzDataNode Datensätze mit LzDataElements erstellen Zentrale Methoden von LzDataElement Die Arbeit mit den Textknoten von LzDataText Erstellen von XML-Strukturen mit Powertools Navigieren mit LzDatapointer und LzDatapath Navigieren mit Datenzeiger Zugriff auf Daten- und Textknoten Navigation eines Datensatzes Erstellen und Modifizieren von Datensätzen Arbeiten mit dem Tag datapath Konvertieren zwischen Datenzeigern und Datenknoten Updates mit rerunxpath überprüfen Fortgeschrittene Themen beim Replikationsmanager Filtern mit onnodes Kloninstanziierung mit onclones prüfen Das Entwurfsmuster Master-Detail Implementierung von Master-Detail in Laszlo Market XI

7 Inhalt Wann ein statisches Layout verwendet werden sollte Zusammenfassung Das Scoreboard für den Warenkorb Wie ein Scoreboard funktioniert Neuimplementierung des Produktlistenfensters Erstellen der Titelkopfzeile Tabellenzeilen füllen Sortieren von Tabellenspalten Grundlagen der Scrollleiste Erstellen eines Selection-Managers Warenkorb und Scoreboard Das Fenster für den Warenkorb Implementierung von Scoreboard-Techniken Artikel in Warenkorb einfügen Erstellen des Warenkorbs Manuelle Aktualisierung des Mengenfeldes Unterstützung von Drag & Drop Die rechte Maustaste Zusammenfassung Teil 4: Integration von DHTML und Flash Das Nutzungserlebnis erweitern Animation von Übergängen Der Standard-Startbildschirm von Laszlo Ein eigener Startbildschirm Erstellen von veränderbaren Buttons Das Problem mit einfachen Buttons Erstellen von veränderbaren Buttons Erstellen von Buttons mit mehreren Zuständen Erstellen von anpassbaren, neunteiligen Panes Modale Fenster und Button-Interaktivität Grundlagen der Animation Visuelle Illusionen überzeugend vermitteln Die Verwendung von animator und animatorgroup Komplexe animierte Effekte Einen gestauchten Ball simulieren Interaktive Animation Verzögerung als Ausdrucksmittel Animation des Papierkorbs bei Laszlo Market Zusammenfassung XII

8 Inhalt 14 Branding einer Anwendung Das spezielle Aussehen für die Anwendung Vektor- und Bitmapgrafiken Unterschiede bei den Fonts Eine Schrift auswählen Die Wahl zwischen DHTML- und Flash-Implementierungen Branding mit eigenen Komponenten Die Komponente tabelement anpassen Eigene Scrollleiste erstellen Zusammenfassung Integration von DHTML und Flash Vorteile des hybriden Ansatzes Die Arbeit mit einem HTML-Wrapper Laszlo-Anwendungen in HTML einbetten Von Laszlo erstellte HTML-Dateien untersuchen Laszlo-Anwendungen in HTML einbetten Standard-Webseiten erstellen DHTML- und Flash-Anwendungen zusammenführen Die Output-Platzierung im HTML steuern Suchmaschinenfreundliche Anwendungen Browser-JavaScript durch Laszlo aufrufen Flash aus Laszlo heraus aufrufen Die System-Zwischenablage mit Flash setzen Zugriff auf die ActionScript-Objekte von Flash HTML in Laszlo einbetten Die Arbeit mit Video Streaming Media Die Arbeit mit dem Red5-Server Laszlo als Interface für einen Red5-Server Video in Laszlo Market einbauen Zusammenfassung Teil 5: Serverprobleme und Optimierung Datenquellen im Netzwerk Schnittstelle zum Webserver Datensätze und HTTP Gepufferte HTTP-Datensätze Pooling von Pufferdatensätzen Einen Datendienst erstellen Zugriff auf Session-Daten Einen Warenkorb mit Session-Bindung erstellen Artikel aus Warenkorb löschen Pflege von Server-Domänen Zusammenfassung XIII

9 Inhalt 17 Verwaltung großer Datensätze Die Arbeit mit alternativen Filtern Die Hintertür von setnodes setnodes-sortierung mit mehreren Schlüsseln Datensätze zusammenführen und mappen Optimierung der Datendarstellung Lazy Replication Erweiterbare Auflistungen Erweiterbare Darstellungen im Laszlo Market Pooling Seitenweise Datensätze für lange Auflistungen Paged Datasets in Laszlo Market einfügen Zusammenfassung Systemoptimierung mit Laszlo Optionale Elemente dynamisch laden Import von dynamischen Libraries Optionale Elemente mit dynamischen Libraries laden Optimierung kritischer Elemente Instanziierung von Objekten Initialisierung mit initstage manipulieren Steuerung der Initialisierung über initstage Reduzieren der Startup-Zeit von Laszlo Market Umverteilung der Initialisierung Optionale Elemente dynamisch laden Performance-Utilities Zeitmessung mit gettime Erstellen eines einfachen Timing-Frameworks Die Performance-Utilities von Laszlo Die Developer-Konsole nutzen Zusammenfassung Register XIV

10 1 1 Der Turbolader für die Webtechnologie Die Themen dieses Kapitels Die Ziele von Web 2.0 mit RIAs erreichen Die Wahl von Laszlo Die Animation einer Hello World -Anwendung Ausführung auf Flash oder DHTML Die meisten Menschen machen den Fehler zu glauben, dass es beim Design um das Aussehen geht. Das ist nicht unsere Auffassung von Design. Es geht nicht ums Look and Feel. Design ist, wie etwas funktioniert. Steve Jobs, Apple Computer Im vergangenen Jahrzehnt haben sich die HTML-basierten Webanwendungen unaufhaltsam in unseren Alltag gedrängt: Sie können einen Flug buchen, sich einen Anfahrtsweg zeigen lassen oder Waren kaufen alles im Internet. Obwohl diese erste Welle der Anwendungen unglaublich erfolgreich gewesen ist, wird sich die bereits anlaufende nächste Welle der sogenannten Rich Internet Applications (RIAs) als noch intensiver erweisen. Während HTML-basierte Anwendungen aufgrund der statischen Natur einer Seite eingeschränkt sind, sind die RIAs so geschmeidig, dass sie mit Desktop-Anwendung konkurrieren können. Sie fragen sich vielleicht, was eine RIA von einer HTML-basierten Anwendung unterscheidet. Bei HTML-Seiten gibt es eine Master-Slave-Beziehung, bei der die Verarbeitung auf einem Server geschieht, und der Browser des Clients nur die statischen Inhalte darstellt. Somit müssen die Anwendungszustände auf dem Server gespeichert werden. Also braucht jeder Schritt eine Hin- und Rücktour zum Server, damit der Zustand der Anwendung fortgeschrieben werden kann. Diese synchronisierte Kommunikation bewahrt den Gleichschritt zwischen Server und Browser. 3

11 1 Der Turbolader für die Webtechnologie RIAs erweitern dieses Design, indem sie im Browser einen Datencache einrichten, mit denen er seinen eigenen Zustand verwalten und als unabhängiger Client operieren kann. Somit bekommt der Anwender über die RIA ein vielfältigeres und besser reagierendes Interface. Diese umfassendere Funktionalität schließt alle Client-Dienste wie hoch entwickelte Fensterkomponenten, Drag & Drop-Services, vektorbasierte Grafiken, Audio und Video mit ein. Weil es keinen Kommunikationsbedarf mit einem Server gibt, kann eine RIA diese Dienste auf eine besser reagierende Weise präsentieren. Insgesamt führt das zu einer Performance, die es mit Desktop-Applikationen aufnehmen kann. Diese RIAs sind so vielversprechend, dass sie nicht einfach die Fähigkeiten des Webs erweitern, sondern es viel näher an die ursprüngliche Vision von Tim Berners-Lee bringen. Die Fachleute der Branche haben diese neue Bewegung als Web 2.0 bezeichnet. Obwohl viele der Zielsetzungen von Web 2.0 immer noch intensiv diskutiert werden, gibt es eine allgemeine Übereinstimmung darüber, dass folgende Ziele erreicht werden sollen: Webbasierte Anwendungen müssen so interaktiv sein wie Desktop-Applikationen. Die Anwendungsentwicklung darf nicht nur auf große Entwicklungsteams beschränkt sein. Das auf Hypertext basierende Erbe des Webs muss bewahrt bleiben. Die Demokratisierung des Webs sollte den Anwendern mehr Teilnahme ermöglichen. Wie die anderen, das Web 2.0 formenden RIA-Systeme ist auch OpenLaszlo so entworfen, dass es diesen Zielen genügt. Doch obwohl OpenLaszlo ein Beispiel einer RIA ist, kann es aber auch als ein Ansatz für eine RIA-Architektur betrachtet werden. Als Folge davon ist das OpenLaszlo-System nicht an eine bestimmte Plattform wie Dynamic HTML (DHTML), Flash oder Java gebunden, sondern kann auf allen diesen Plattformen angewendet werden, weil es die offenen Standards befolgt. In gewisser Weise kann OpenLaszlo als das Unix der RIA-Systeme betrachtet werden, weil es so entworfen wurde, dass es auf andere Plattformen wie Silverlight von Microsoft portiert werden kann, wenn deren Verbreitung zunimmt. Mit geringen Ausnahmen kann der gleiche Code auf allen diesen Plattformen ausgeführt werden und produziert eine identische Darstellung. Besser noch: Sein Ansatz erlaubt hybride Anwendungen, die simultan auf verschiedenen Plattformen ausgeführt werden können. Somit können die problematischen Nachteile der einen Plattform von einer anderen ausgeglichen werden. Insbesondere werden Flashbasierte Anwendungen von Webcrawlern durchsuchbar, können DHTML-basierte Anwendungen auf Multimediaquellen wie Audio und Video zugreifen. So kann eine auf Wettbewerb beruhende Landschaft entstehen, bei der sich die besten Implementierungen von Komponenten durchsetzen werden. In diesem Kapitel werden wir versuchen, einige Ihrer Fragen über Laszlo vorwegzunehmen, indem wir uns mit dem Hintergrund des Laszlo-Systems beschäftigen, eine Einführung in LZX vornehmen (der auf XML basierenden Sprache von Laszlo), kurz diskutieren, wie Laszlo-Anwendungen deployt werden, und die Rollen von Flash und DHTML bei Laszlo erklären. 4

12 1.1 Laszlo für das Design und Erstellen von RIAs 1.1 Laszlo für das Design und Erstellen von RIAs Der einzige Zweck von Laszlo ist, das Design und die Konstruktion von Webapplikationen mit der Performance von Desktop-Software zu unterstützen. Laszlo entfernt viele der Barrieren, die Entwickler von Designern trennt. In der Vergangenheit wurden diese eigentlich gemeinsam arbeitenden Partner dazu gezwungen, in verschiedenen Welten zu leben, so ähnlich wie die rechte und die linke Gehirnhälfte. Doch Laszlo definiert diese Beziehungen neu, und somit können Entwickler an Designproblemen wie Usability und der Rolle von Emotionen teilhaben. Diese Themen sollte man nicht so betrachten, dass sie neue Aufgaben für Entwickler darstellen, sondern eher als umfassendere Palette, mit denen man die eigenen kreativen Visionen ausdrücken kann. Ein in diesem Buch grundsätzlich vertretener Standpunkt lautet, dass die effektive Entwicklung von GUIs von den Bedürfnissen der Anwender gesteuert wird. Es reicht nicht, dem Design gegenüber Lippenbekenntnisse abzulegen; Anwender und Designspezialisten sind schließlich wesentliche Bestandteile des Entwicklungsprozesses. Diese als benutzerzentriertes Design bezeichnete Philosophie dient als Antrieb für alle auf die Entwicklung bezogenen Aktivitäten. Die Prinzipien des user-zentrierten Designs werden durch die Entwicklung von Laszlo Market, einer Anwendung zum Online-Verkauf von Actionvideos, veranschaulicht. Diese Anwendung nimmt Material aus jedem Kapitel auf, um alle Facetten der Laszlo-Entwicklung zu demonstrieren. In diesem Kapitel werden wir mit der Erläuterung anfangen, warum wir uns für Laszlo entschieden haben. Zum Schluss werfen wir noch einen Blick auf die Geschichte von Laszlo und seiner Open Source-Copyright- Lizenz Benutzerzentriertes Design Benutzerzentriertes Design stellt den Anwender in die Mitte des Gestaltungsprozesses. Es konzentriert sich darauf, wie User mit einem Produkt interagieren. Dabei kann es sich um alles Mögliche handeln von einem Kartoffelschäler bis zur neuesten Softwareapplikation. Der Schwerpunkt liegt auf den beiden Hauptthemen Nützlichkeit und Anwendbarkeit (Usability). Nützlichkeit bezieht sich auf die Eignung: Wie gut passt ein Produkt zu den Bedürfnissen des Verbrauchers? Usability bezieht sich auf ergonomische Themen: Ist das Produkt intuitiv zu benutzen und bringt seine Anwendung Freude oder Befriedigung mit sich? Wenn diese Anforderungen erfüllt sind, führt das zum Erfolg des Designs insgesamt. Diese Gewichtung unterscheidet sich von den konventionellen Designstrategien, die sich auf die Maximierung der Performance konzentrieren. Das führt im Allgemeinen zu einem minimalen User-Interface, weil ein intuitives Interface Ressourcen erfordert, die die Performance belasten können. Benutzerzentriertes Design entkoppelt ein Interface von den Belangen der Hardware-Effizienz. Tatsächlich führt eine übertriebene Beschäftigung mit der Systemeffizienz nicht notwendigerweise zu einer erhöhten Produktivität. Nehmen wir folgendes Beispiel: Wie erhitzt man eine Tasse Wasser in einer Mikrowelle am schnellsten: in einer Minute und 10 Sekunden oder einer Minute und 11 Sekunden? Die richtige 5

13 1 Der Turbolader für die Webtechnologie ist die zweite Antwort (Sie wussten, dass es eine Fangfrage war, oder?), weil es schneller geht, eine Folge von Einsen einzutippen und nicht nach der Null suchen zu müssen. Die daraus zu lernende Lektion lautet, dass die Anwenderproduktivität in vielen Fällen wichtiger ist als die Hardware-Produktivität. Obendrein spürt der Anwender einen gewissen Grad der Zufriedenheit, wenn er eine Folge von Einsen eintippt, die einem die Suche nach der Null nicht bietet. Die Handlung, diese Einsen einzutippen, verleiht dem Anwender ein psychologisches Gefühl von Macht oder Leistungsfähigkeit, anstatt vom Suchen frustriert zu sein. Plötzlich ist das Erhitzen einer Tasse Wasser eine bereichernde Erfahrung statt Arbeit. Damit wird das Prinzip des emotionalen Designs veranschaulicht: wie wichtig es also ist, dass die Bedienung von Interfaces Spaß macht Die Entdeckung von Laszlo: Die Geschichte eines Entwicklers Wir sind der Ansicht, dass man Laszlo LZX am besten lernt und versteht, wenn man damit innerhalb eines Anwendungskontexts arbeitet. Also werden wir im Verlauf des Buchs eine echte Webanwendung namens Laszlo Market erstellen. Wir veranschaulichen anhand dieser Entwicklung auch die Vorteile eines benutzerzentrierten Ansatzes. Wir präsentieren dafür die Geschichte eines Entwicklers, um den Bedarf dieser Anwendung zu demonstrieren und zu zeigen, warum Laszlo die beste Lösung für die Implementierung dieser Anwendung ist Das Problem mit aktuellen Webanwendungen Sie haben den Traumauftrag bekommen, einen vorhandenen Online-Shop neu zu implementieren, und dürfen dabei die Technologien zur Implementierung selbst wählen: Java 2 Enterprise Edition (J2EE oder seit neuestem JEE) Tag Libraries, irgendeine Variante von Ajax oder einer anderen RIA-Sprache. Der aktuelle Shop leidet unter schlechten Verkaufszahlen, also wollen die Eigentümer einen kompletten Rebuild. Doch bevor Sie eine Technologie wählen können, ist es nötig, zuerst die Gründe für die Mängel des vorhandenen Shops herauszubekommen. Nach einigen Recherchen werden dessen Probleme offenbar. Aus der Verkaufsabteilung erfahren Sie, dass der Shop dauerhaft nicht die erwünschten Verkaufszahlen erreicht. Schlimmer noch, der Shop hinterlässt bei Kunden einen negativen Eindruck: Sie merken an, dass er anderen Shops zu ähnlich sei. Ihr nächster Besuch führt Sie zum Marketing, wo Sie erfahren, dass der Shop zwar einen guten Zulauf an Kunden hat, diese sich allerdings oft nur kurz im Shop aufhalten und wenige Interaktionen vornehmen. Anders gesagt ist die Aufenthaltszeit auf der Website (die sogenannte Stick Time) nur kurz und enthält nur wenige Aktionen. Noch alarmierender ist, dass 45 % der Kunden den Einkaufsvorgang mittendrin abbrechen. Das Problem nimmt nun Konturen an: Der Shop ist langweilig und unnötig kompliziert. 6

14 1.1 Laszlo für das Design und Erstellen von RIAs Das Ziel aller Online-Shops ist identisch: Verbindung mit Interessenten aufnehmen, sie in Kunden verwandeln und als Stammkunden behalten. Dafür müssen Sie deren Bedürfnisse kennen und verstehen. Damit unser Shop erfolgreich wird, müssen wir diese Ziele anhand der folgenden Schritte erreichen Das Kundengespräch Wenn ein Produkt versagt, liegt das in der Regel ursächlich an unzureichender Kommunikation mit den Anwendern. Wenn man keine Enduser befragt, führt das zu einer Anwendung, von der nur eine ausgewählte Zielgruppe angesprochen wird. Miteinander in Konkurrenz stehende Online-Shops bieten ähnliche Features und Preise an. Um sich davon abzuheben, ist Usability (die Anwenderfreundlichkeit) ein offensichtliches Ziel. Aber weil sich die mangelnde Stick Time und der Abbruch des Kaufvorgangs als die eigentlichen Probleme herausgestellt haben, wollen wir den Anwendern auch eine emotionale Reaktion entlocken. Das schafft einen positiven Eindruck bei den Anwendern, weil sie mit dem Besuch unseres Shops ein positives Gefühl verbinden. Somit muss für den Shop zuerst einmal ein bestimmter Tonfall etabliert werden. Weil die Demographie der elektronischen Medien und Ihre Gruppe der Interviewpartner besagt, dass die Zielgruppe hauptsächlich aus Männern im Alter zwischen 20 bis 30 besteht, legen Ihre Interviews einen High Tech/Comic -Tonfall nahe. Obwohl Sie sich nicht zu früh schon auf spezielle Themen konzentrieren wollen, ist das Problem des Verkaufsabbruchs finanziell wichtig genug, um besonders berücksichtigt zu werden. Also fragen Sie Ihre Anwender, warum sie den Einkaufsvorgang abbrechen würden Reduktion der Abbrüche des Kaufvorgangs Ihre Interviews produzieren erstaunlich ähnliche Antworten: Der Kaufvorgang ist zu kompliziert. Der aktuelle Shop basiert auf HTML, von daher benötigt ein Einkauf die in Abbildung 1.1 gezeigten sieben Schritte. Für jeden Schritt ist eine vollständige Kommunikation mit dem Server (für den Transfer der Daten hin und zurück) nötig, was eine weitere Gelegenheit bietet, den Kauf abzubrechen. Am schlimmsten ist es, dass eine Korrektur bereits eingegebener Informationen umständlich ist, und die Zurück-Schaltfläche nur noch weitere Verwirrung stiftet. Sie müssen traurigerweise zustimmen, dass es im aktuellen Shop kaum etwas gibt, was die Kunden mit Vertrauen erfüllt. Global Millenia Marketing hat kürzlich eine Umfrage durchgeführt und Kunden nach den fünf wichtigsten Gründen gefragt, warum sie einen Kaufvorgang abbrechen (www. imscart.com/ecommerce_software_article_1.htm): Hohe Lieferkosten (69 Prozent) Meinungsänderung (61 Prozent) Hohe Gesamtkosten (49 Prozent) Langer Prozess der Kaufabwicklung (41 Prozent) 7

15 ..NET 416 Add to Cart -Button 318, 321 < include> 394, 396 <body>, Tag 389, 393 <head>, Tag 403 A Abbruch des Einkaufsvorgangs 6 Absolute Positionierung 78 Absolute Referenz 56 Abstrakter Dienst 212 activate, Methode 231 adddelegate, Methode 202 addnodefrompointer, Methode 286 addsubview, Methode 204 addtimer, Methode 217 Adobe Flash 404 Agile Development 111 Ajax 9 Aktivitätsorientierter Webserver 416 Aktualisierung Datensatz 248 dynamische 22 Algorithmus, Simister Slide 357 align, Attribut 116, 157, 337 Alternativer Verarbeitungsfilter 436 Ändern-Button 130 Anfasser für Scrollleiste 377 Anforderungsspezifikation 111 Angehängtes Bild 86 Animation 9, 12, 19, 39, 333, 345 between-frame 347 Breite und Höhe 84 Easing in 349 Easing out 349 Easing-Konzept 349 Fortschrittsbalken 334 Frame 347 geskriptete 352 interaktive 352 Keyframe 347 komplexe Bewegungen 350 koordinierte Gruppe 357 Laszlo Market 359 Erweiterung des Produkteintrags 447 Papierkorb 360 Masse implizieren 347 Opazität 356 pausieren und neu starten 353 Scripting 133 Splash-Screen 334 Steuerung der Sichtbarkeit 82 Style Guide 345 System 20 Temperatur als Metapher 359 Tweening 347 Übergänge glätten 356 Verzögerung 355 visuelle Illusion 346 Zustand 353 animation, Methode 133, 347 Animator 39 begrenzte Ressourcen 350 deklarativer 133 Easing-Periode 350 integrierter 82 Klasse 134 animator, Tag 13, 133, 134, 347, 350 animatorgroup, Tag 13, 133, 347, 350 Anmeldefenster 126 Laszlo Market 217 Ansichtsschicht 19 Anwenderfreundlichkeit 7 Anwendung behäbiges Beispiel 466 eingebettete 392 erstellen 50 hybride 365, 383 Initialisierung 335 Schnittstellenelemente 49 Startup 335 statisches Layout 49 Zustand 131 Anwendungsfall 113 Apache 416 appendchild, Methode 271 appenddivid, Argument 395 Apple QuickTime 404 Applets 385 Application Mode 53 applied, Attribut 196 apply, Attribut 131 apply, Methode

16 applydata, Methode 250, 261 appstate, Attribut 126 Argument als Referenz übergeben 68 als Wert übergeben 67 appenddivid 395 Methoden 66 on+attribute 192 Array assoziatives 271, 278 delegatelist 202 loaded 455 loadedmodules 462 Subview 78, 102 Unterknoten 59 array, JavaScript-Typ 62 Assoziatives Array 271, 278 asynchronoustests, Flag 136 Attribut 61 align 116, 157, 337 applied 196 apply 131 appstate 126 auf Ressourcen bezogen 88 autoconnect 406 Basis 60 Behandlung 70 benutzerspezifisch 60 clickable 98 clickregion 98 clip 80, 310, 312 confirm 178, 187 currstate 126 cursor 95 datacontrolsvisibility 245 datapath 244, 279, 435 debug 51 defaultplacement 175 defaulttext 184 doesenter 167, 219 downkeysarray 225 downkeyshash 225 dynamisches 62 editable 184 enabled 186 end 150 error 424, 426 errorcount 177 final 61 fnum 339 focusable 98, 167, 312 focustrap 98 focusview 311 frame 91 framesloadratio 92 hasdefault 169 height 52, 84 hierarchische Propagation 34 href 120, 461 id 56, 61 immediateparent 174 initstage 464, 467, 468, 469, 471 inset 147 isdefault 169, 219 Kommunikation zwischen Tag und JavaScript 60 labelwidth 160 lastcolor 315 layout 181 loading 455, 456 loadratio 92 locked 194 LzDatapointer, Klasse 280 message 426 motion 349, 351 name 56, 61, 87, 461 nodetype 269 nur-lesen 61 on+attribute 207 ontimeout 422 opacity 82, 356 options 156, 337 ownerdocument 270, 271 parent 61, 174 parentnode 270 pathurl 424 persistent 335 pixellock 86 play 92 pooling 447 relative 351 repeat 353 replication 442, 443, 444, 449 request 420, 421 required 177 requirederrorstring 178 rerunxpath 291 resourceheight 88 resourcewidth 88 rotation 84, 152 runtime 371 sameas 185 scrollable 309 scrollattr 309 scrollmax 309 scrolltarget 309 sel 314 setcanvasattribute 392 slideduration 125 sortorder 255, 256 sortpath 255 spacing 125, 147, 184, 203, 442 speed 207 src 406, 418, 421 stage 461 stepsize 310 stretch 336 stretches 40, 89, 119, 336, 341 subnodes 61 target 134 text 94, 167, 183 timeout 422 tipalign 221 title 308 toggle 314 totalframes 90 type 120 unstretchedheight 89, 262 unstretchedwidth 89, 262 valign 116, 337 value 170 videoplayer 407 videoview 406 View 80 visible 82, 203, 356 Wert als Constraint ausgedrückt 64 Werte speichern 60 width 52, 84 xinset

Inhalt. Teil I: Der Sprachkern von JavaScript

Inhalt. Teil I: Der Sprachkern von JavaScript Inhalt Vorwort.... 1 Einführung in JavaScript... 1 1.1 Der JavaScript-Sprachkern... 4 1.2 Clientseitiges JavaScript... 9 Teil I: Der Sprachkern von JavaScript 2 Die lexikalische Struktur... 21 2.1 Zeichensatz...

Mehr

Hochschule Heilbronn Technik Wirtschaft Informatik

Hochschule Heilbronn Technik Wirtschaft Informatik Hochschule Heilbronn Technik Wirtschaft Informatik Studiengang Electronic Business Diplomarbeit "Java-Frameworks für Rich Internet Applications" vorgelegt bei Professor Dr. Michael Gröschel von Tushig

Mehr

Openlaszlo. Rich Internet Application Platform

Openlaszlo. Rich Internet Application Platform Rich Internet Application Platform ist eine Anwendungsplattform open source zero install Software Amazon Shopping in einem RIA Beispiel Ubiquitous Internet Wie kommts? 60 Prozent der Deutschen online Anwendungen

Mehr

Firefox Add-ons. Präsentation in WAP WS09/10 von Christoph ASCHBERGER, Andreas BERTOLIN, Robert MUTTER und Yunzhou XU

Firefox Add-ons. Präsentation in WAP WS09/10 von Christoph ASCHBERGER, Andreas BERTOLIN, Robert MUTTER und Yunzhou XU Firefox Add-ons Präsentation in WAP WS09/10 von Christoph ASCHBERGER, Andreas BERTOLIN, Robert MUTTER und Yunzhou XU Agenda Technisches Überblick XUL JavaScript CSS XPI-Pakete Einreichen bei Mozilla Sicherheitsüberlegungen

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung IV. JavaScript Manfred Gruner mailto:wpr@gruner.org Offene Fragen 1. Unterschied Link und Style Tag Link = HTML Syntax wird/kannl von anderen Programmen ausgewertet werden.

Mehr

Adobe Certified Expert-Programm

Adobe Certified Expert-Programm Adobe Certified Expert-Programm Product Proficiency-Prüfungs-Bulletin Adobe Flash CS3 Prüfungsnr. 9A0-058 Checkliste für die ACE-Zertifizierung Die folgende Checkliste hilft Ihnen dabei, die ACE-Zertifizierung

Mehr

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

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail. Rich Internet Applications, Flex & Mate (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.com Überblick Mein Thema im Überblick 1. Definitionen 2. Rich Internet Applications

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

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

Android Kurs Online Kurs Entwicklung auf Android-Handys

Android Kurs Online Kurs Entwicklung auf Android-Handys Android Kurs Online Kurs Entwicklung auf Android-Handys Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses Modul Eins - Programmierung J2ee 1) Grundlegende Java - Programmierung : Grundlegende

Mehr

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen

Mehr

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1 Vorwort... Einleitung... V VII Einführung... 1 1 Grundlagen... 7 1.1 Dokumentmodelle... 7 1.1.1 Multimedia... 8 1.1.2 Hypermedia... 9 1.1.3 Verteilung... 11 1.2 Geschichte des WWW... 13 1.2.1 Struktur...

Mehr

Sicherheit in Rich Internet Applications

Sicherheit in Rich Internet Applications Sicherheit in Rich Internet Applications Florian Kelbert 14.02.2008 Seite 2 Sicherheit in Rich Internet Applications Florian Kelbert 14.02.2008 Inhaltsverzeichnis Grundlagen Ajax und Mashups Adobe Flash-Player

Mehr

Online-Publishing mit HTML und CSS für Einsteigerinnen

Online-Publishing mit HTML und CSS für Einsteigerinnen mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript

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

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

Praktische Anwendungsentwicklung mit Oracle Forms

Praktische Anwendungsentwicklung mit Oracle Forms Praktische Anwendungsentwicklung mit Oracle Forms von Perry Pakull, Stefan Jüssen, Walter H. Müller 1. Auflage Hanser München 2007 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 41098 5 Zu Leseprobe

Mehr

Die Unternehmensseite im Internet - pflegen ohne Programmierkenntnisse. Felix Kopp

Die Unternehmensseite im Internet - pflegen ohne Programmierkenntnisse. Felix Kopp Die Unternehmensseite im Internet - pflegen ohne Programmierkenntnisse Felix Kopp Orientierung Veröffentlichen und Aktualisieren ohne Programmierkenntnisse Bestehende Internet-Seite aktualisieren. oder

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

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

1.1 Worum es in diesem Buch geht... 3. Moving Target: Offene Webstandards... 4. 1.3 Web-Animationen: Status quo... 5

1.1 Worum es in diesem Buch geht... 3. Moving Target: Offene Webstandards... 4. 1.3 Web-Animationen: Status quo... 5 VII Inhalt 1 Einführung 2 1.1 Worum es in diesem Buch geht... 3 1.2 Moving Target: Offene Webstandards... 4 1.3 Web-Animationen: Status quo... 5 2 Das Autorenwerkzeug Adobe Edge Animate 8 2.1 Zielgruppen...

Mehr

jquery! JavaScript Frameworks Dr. Cora Burger

jquery! JavaScript Frameworks Dr. Cora Burger jquery! JavaScript Frameworks Dr. Cora Burger Überblick 1. Anwendungsbeispiele 2. Einstieg 3. jquery 4. Erweiterung jqueryui 5. Plugin-Beispiele 6. Erweiterung jquery Easing 7. Zusammenfassung, Ausblick

Mehr

Visual Basic.NET undado.net

Visual Basic.NET undado.net .NETSolutions Visual Basic.NET undado.net Datenbanken programmieren F. SCOTT BARKER Markt+ Übersetzung: Gabriele Broszat Einleitung 21 Zum Autor Zur Begleit-CD-ROM Wer sollte dieses Buch nutzen? Welche

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

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Glossar Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Methoden und/oder Eigenschaften, die eine bestimmte Berechnung ausführt, eine Eigenschaft ändert oder eine Methode

Mehr

JSF (JavaServer Faces) Erstellen einer Webseite

JSF (JavaServer Faces) Erstellen einer Webseite Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF (JavaServer Faces) Erstellen einer Webseite Dipl. Inf. Manuel Götz Dipl. Inf.

Mehr

Einführung Internettechnologien. - Clientseitige Programmierung -

Einführung Internettechnologien. - Clientseitige Programmierung - Einführung Internettechnologien - Clientseitige Programmierung - Client Client: Programm, das Daten von einem Server anfordert In einem Netzwerk können unterschiedliche Clients zum Einsatz kommen Im Folgenden:

Mehr

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

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages Wir automatisieren und optimieren Ihre Geschäftsprozesse DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages Thomas Brandstätter 06.03.2012 www.dccs.at Agenda Theorie Was sind XPages

Mehr

WPF. Übersicht. Komponenten & Frameworks Seite 1

WPF. Übersicht. Komponenten & Frameworks Seite 1 Übersicht - W indows P resentation F oundation - Werkzeug zur Entwicklung grafischer Benutzeroberflächen - deklarative Definition erfolgt mit der Beschreibungs- Sprache: XAML - XAML - Extensible Application

Mehr

Di 8.4. Silverlight: Windows Presentation Foundation für s Web. Christian Wenz

Di 8.4. Silverlight: Windows Presentation Foundation für s Web. Christian Wenz Di 8.4 January 21-25, 2008, Munich, Germany ICM - International Congress Centre Munich Silverlight: Windows Presentation Foundation für s Web Christian Wenz Silverlight // WPF für s Web OOP 2008 // Di

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

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

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

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG 05.07.2012 Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG Agenda 01 Einführung 02 Architektur 03 Lösungen 04 Zusammenfassung 2 2 Agenda 01 Einführung 02

Mehr

Programmierung von Java- Webanwendungen. paluno

Programmierung von Java- Webanwendungen. paluno Programmierung von Java- Webanwendungen Gliederung 1 Vorstellung und Einführung 2 Basiswissen Web 3 XML und JSF- Einführung 4 JSF- Komponenten und RichFaces 5 Wiederholung der ersten Woche 6 JSF- Konzepte

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel App Framework vom Intel XDK vertraut. Es wird Schritt für Schritt

Mehr

Inhaltsverzeichnis VII

Inhaltsverzeichnis VII Inhaltsverzeichnis 1 Einleitung & Grundlagen 1 1.1 Was behandeln wir in dem einleitenden Kapitel? 1 1.2 Die Welt von Java und JavaFX 2 1.2.1 Was ist Java? 2 1.2.2 Etwas zur Historie von Java 3 1.2.3 Wo

Mehr

Sachwortverzeichnis... 251

Sachwortverzeichnis... 251 Inhalt Vorwort... V 1 WWW World Wide Web... 1 1.1 Das Internet Infrastruktur und Administration... 2 1.2 Datenübertragung... 4 1.3 Sprachen im Web... 6 1.4 Webseiten... 7 1.4.1 Clientseitige Dynamik...

Mehr

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org> Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen Henning P. Schmiedehausen Turbine - ein berblick Open Source unter Apache License 100% pure Java, Java 2 (JDK 1.2+) Servlet-basiertes

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

scmsp SMARTES Content-Management-System Bestimmtes kann und das dafür sehr gut. Bei der Konzeption des blockcms stand die Einfachheit im Vordergrund:

scmsp SMARTES Content-Management-System Bestimmtes kann und das dafür sehr gut. Bei der Konzeption des blockcms stand die Einfachheit im Vordergrund: scmsp SMARTES Content-Management-System blockcms steht für Block Content Management System Wir brauchen kein CMS, das alles kann, sondern eines, das nur Bestimmtes kann und das dafür sehr gut. Bei der

Mehr

Inhaltsverzeichnis VII

Inhaltsverzeichnis VII Inhaltsverzeichnis 1 Die Grundlagen zu CMS auch eine lange Reise beginnt mit dem ersten Schritt............................................ 1 1.1 Was behandeln wir in dem einleitenden Kapitel?....................

Mehr

Inhaltsverzeichnis. Einführung... 17

Inhaltsverzeichnis. Einführung... 17 O:/Wiley/Reihe_Computing/76037/3d/ftoc.3d from 08.02.2013 12:41:41 Inhaltsverzeichnis Einführung... 17 1 Eine kurze Geschichte der Windows-Anwendungsentwicklung... 29 1.1 Das Leben von Windows... 29 1.1.1

Mehr

OCG Webmanagement. ECDL Image Editing (Photoshop) (WM1)

OCG Webmanagement. ECDL Image Editing (Photoshop) (WM1) OCG Webmanagement Sie verfolgen das grundlegende Ziel, anspruchsvolle Fertigkeiten in verschiedenen Bereichen des Webpublishing zu erlangen. Nach der Absolvierung dieses Kurses sind Sie in der Lage, professionelle

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Moderne Web- Anwendungen mit

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

Mehr

Themenkatalog der Schulungsinhalte

Themenkatalog der Schulungsinhalte IT-Training Themenkatalog der Schulungsinhalte Seite 1 von 6 Inhalt 1. DATENBANKEN... 3 1.1 Datenbank - Programmierung... 3 1.1.1 SQL - Structured Query Language / Compound Statements...3 1.2 Datenbank

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag Martin Marinschek- Wolfgang Radinger Ruby on Rails Einstieg in die effiziente Webentwicklung [Tu dpunkt.verlag Inhaltsverzeichnis 1 Ruby on Rails -»Bitte Einsteigen«1 1.1 Web-Entwicklung und Entwicklung

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

Wir bringen Ihre Notes/Domino Anwendungen sicher ins Web 19.11.2015, Bilster Berg Drive Resort Michael Steinhoff, agentbase AG. www.agentbase.

Wir bringen Ihre Notes/Domino Anwendungen sicher ins Web 19.11.2015, Bilster Berg Drive Resort Michael Steinhoff, agentbase AG. www.agentbase. Wir bringen Ihre Notes/Domino Anwendungen sicher ins Web 19.11.2015, Bilster Berg Drive Resort Michael Steinhoff, agentbase AG www.agentbase.de 1 Agenda Grundlagen Modernisierung Möglichkeiten mit Domino

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

4 Vererbung, Polymorphie

4 Vererbung, Polymorphie 4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de CARL HANSER VERLAG Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5 www.hanser.de 1 1.1 Einleitung... 2 Über dieses Buch... 3 1.2 Für wen ist das Buch gedacht?...

Mehr

Visual Web Developer Express Jam Sessions

Visual Web Developer Express Jam Sessions Visual Web Developer Express Jam Sessions Teil 1 Die Visual Web Developer Express Jam Sessions sind eine Reihe von Videotutorials, die Ihnen einen grundlegenden Überblick über Visual Web Developer Express,

Mehr

Webdesign mit HTML und CSS Einführungsabend

Webdesign mit HTML und CSS Einführungsabend Einführungsabend Die eigene Internetseite Hypertext und html Das HTML Grundgerüst HTML-Editoren Skriptsprachen im WWW Rechtliche Absicherung Suchmaschinenoptimierung Das HTML Grundgerüst HTML ist ein Kompromiss

Mehr

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

Inhaltsverzeichnis. Hinweise zum Gebrauch des Buches... XIII. Teil I Grundlagen der Web-Programmierung Hinweise zum Gebrauch des Buches... XIII Teil I Grundlagen der Web-Programmierung 1 Entwicklung der Web-Programmierung... 3 1.1 DerWegzumWorldWideWeb... 3 1.2 Komponenten der frühen Technik..... 5 1.3

Mehr

Testen von grafischen Benutzeroberflächen

Testen von grafischen Benutzeroberflächen Seminarvortrag 10: Testen von grafischen Benutzeroberflächen 2004 / 06 / 28 Clemens Sommer, Gerald Peter Übersicht Motivation GUI Allgemein Fehlerquellen und deren Auswirkungen GUI Testwerkzeuge JUnit

Mehr

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1.

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1. Multimediale Web-Anwendungen JavaScript Einführung MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1 Entstehungsgeschichte: JavaScript 1995 Netscape Communications Corp. (Brendan Eich)

Mehr

Designänderungen mit CSS und jquery

Designänderungen mit CSS und jquery Designänderungen mit CSS und jquery In der epages-administration gibt es in den Menüpunkten "Schnelldesign" und "Erweitertes Design" umfangreiche Möglichkeiten, das Design der Webseite anzupassen. Erfahrene

Mehr

Adobe Flex & Grails RIA, REST und XML

Adobe Flex & Grails RIA, REST und XML Adobe Flex & Grails RIA, REST und XML Pascal Schudel Consultant pascal.schudel@trivadis.com Mischa Kölliker Principal Consultant mischa.koelliker@trivadis.com JUGS Zürich, 8. Juli 2010 Basel Bern Lausanne

Mehr

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

Inhaltsverzeichnis. Hinweise zum Gebrauch des Buches... XIII. Teil I Grundlagen der Web-Programmierung Inhaltsverzeichnis Hinweise zum Gebrauch des Buches... XIII Teil I Grundlagen der Web-Programmierung 1 Entwicklung der Web-Programmierung... 3 1.1 DerWegzumWorldWideWeb... 3 1.2 Komponenten der frühen

Mehr

Inhaltsverzeichnis. Simon Widjaja. Adobe Flex 4 ISBN: 978-3-446-42268-1. Weitere Informationen oder Bestellungen unter

Inhaltsverzeichnis. Simon Widjaja. Adobe Flex 4 ISBN: 978-3-446-42268-1. Weitere Informationen oder Bestellungen unter sverzeichnis Simon Widjaja Adobe Flex 4 ISBN: 978-3-446-42268-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42268-1 sowie im Buchhandel. Carl Hanser Verlag, München 1 Inhalt

Mehr

Version 1 SVG. Scalable Vector Graphics. B.Wenk, HTW Chur. apple ibooks Author

Version 1 SVG. Scalable Vector Graphics. B.Wenk, HTW Chur. apple ibooks Author Version 1 SVG Scalable Vector Graphics B.Wenk, HTW Chur SVG SVG - Scalable Vector Graphics 1 Einführung Bilder und Grafiken Mit der Digitalkamera aufgenommene oder mit einem Scanner aufgenommene Bilder

Mehr

Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links

Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links Was ist SVG? Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links SVG: Allgemeines zu SVG SVG = Scalable Vector Graphics

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Andreas Blumenthal, Horst Keller ABAP - Fortgeschrittene Techniken und Tools

Andreas Blumenthal, Horst Keller ABAP - Fortgeschrittene Techniken und Tools Andreas Blumenthal, Horst Keller ABAP - Fortgeschrittene Techniken und Tools Galileo Press Inhalt Vorwort 13 1 Fallen bei grundlegenden ABAP-Operationen vermeiden 17 1.1 Falle Nr. 1: Durchführung arithmetischer

Mehr

Praxisbuch Wicket. Professionelle Web-2.0-Anwendungen entwickeln. von Michael Mosmann. 1. Auflage. Hanser München 2009

Praxisbuch Wicket. Professionelle Web-2.0-Anwendungen entwickeln. von Michael Mosmann. 1. Auflage. Hanser München 2009 Praxisbuch Wicket Professionelle Web-2.0-Anwendungen entwickeln von Michael Mosmann 1. Auflage Hanser München 2009 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 41909 4 Zu Leseprobe schnell

Mehr

Kurs für Microsoft Online Kurs Microsoft Analysten Programmierer

Kurs für Microsoft Online Kurs Microsoft Analysten Programmierer Kurs für Microsoft Online Kurs Microsoft Analysten Programmierer Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses für Microsoft Modul 1 Basis Programm Erste Lerneinheit Einführung

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

Wiederholung und Themenbereiche der Klausur im Fach Autorensysteme 2

Wiederholung und Themenbereiche der Klausur im Fach Autorensysteme 2 Wiederholung und Themenbereiche der Klausur im Fach Autorensysteme 2 Termin: Do, 14.07. 10:00-12:00 Raum B101 Erlaubte Unterlagen: ActionScript-Lexikon Es kommen nur Inhalte vor, die in der Vorlesung durchgenommen

Mehr

ASP.NET: ATLAS -Framework. Nico Orschel Microsoft Student Partner, TU Ilmenau nico.orschel@studentprogram.de

ASP.NET: ATLAS -Framework. Nico Orschel Microsoft Student Partner, TU Ilmenau nico.orschel@studentprogram.de ASP.NET: ATLAS -Framework Nico Orschel Microsoft Student Partner, TU Ilmenau nico.orschel@studentprogram.de Agenda Einführung AJAX ATLAS Framework Architektur Microsoft AJAX Libary Microsoft ASP.NET 2.0

Mehr

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

Apollo Überblick. Klaus Kurz. Manager Business Development. 2007 Adobe Systems Incorporated. All Rights Reserved. Apollo Überblick Klaus Kurz Manager Business Development 1 Was ist Apollo? Apollo ist der Codename für eine plattformunabhängige Laufzeitumgebung, entwickelt von Adobe, die es Entwicklern ermöglicht ihre

Mehr

FLASH CATALYST CS5 KENNENLERNEN

FLASH CATALYST CS5 KENNENLERNEN INHALT ERSTE SCHRITTE Über dieses Buch........................................... 1 Voraussetzungen........................................... 2 Flash Catalyst installieren....................................

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

Mehr

XML und Datenbanken

<Trainingsinhalt> XML und Datenbanken XML und Datenbanken i training Inhaltsverzeichnis Vorwort 11 Kapitel 1 XML 13 1.1 Voraussetzungen für XML 14 1.2 Allgemeines 14 1.3 Migration von HTML zu XML 16 1.4 Argumente für XML

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

JSP und Servlet Programmierung

JSP und Servlet Programmierung Seminarunterlage Version: 5.02 Copyright Version 5.02 vom 1. März 2013 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Teil A Einführung in Microsoft Visual C# und Microsoft Visual Studio 2008 23

Teil A Einführung in Microsoft Visual C# und Microsoft Visual Studio 2008 23 Einleitung 13 Einführung 13 An wen sich dieses Buch richtet 13 Wegweiser für Ein- und Umsteiger 14 Konventionen und Features in diesem Buch 15 Konventionen 15 Weitere Features 16 Systemvoraussetzungen

Mehr

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Konzept eines Datenbankprototypen 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Inhalt (1) Projektvorstellung & Projektzeitplan Softwarekomponenten Detailierte Beschreibung der System Bausteine

Mehr

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov Überblick Einleitung JSP im Kontext von J2EE JSP2 Benutzerdefinierte Tags Zusammenfassung Einleitung Java Server Pages ist eine Technik

Mehr

Coded Culture. Adobe Flex & AIR. Rich Internet Applications mit einem PHP-Backend

Coded Culture. Adobe Flex & AIR. Rich Internet Applications mit einem PHP-Backend Culture Adobe Flex & AIR Rich Internet Applications mit einem PHP-Backend Über Coded Culture Spezialisierung auf Rich Internet Applications auf Flex Reto M. Kiefer & Daniel Kopp sind Inhaber der Software

Mehr

Browserbasiertes, kollaboratives Whiteboard

Browserbasiertes, kollaboratives Whiteboard WS 2011/12 Bachelorarbeit Browserbasiertes, kollaboratives Whiteboard Sebastian Dorn 1 von 21 Inhalt 1. Motivation 2. Analyse 3. Design 4. Evaluation 5. Fazit Inhalt 2 von 21 Motivation Zusammenarbeit

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

ABAP - Next Generation

ABAP - Next Generation Rieh Heilman, Thomas Jung ABAP - Next Generation Galileo Press Bonn Boston Einführung 15 1.1 Anmelden und erste Schritte 26 1.1.1 Workbench Object Browser 26 1.1.2 Object-Browser-Liste 27 1.1.3 Workbench-Einstellungen

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

Inhaltsverzeichnis. Teil 1 Grundlagen 5. Teil 2 Formatierung 31 INHALTSVERZEICHNIS

Inhaltsverzeichnis. Teil 1 Grundlagen 5. Teil 2 Formatierung 31 INHALTSVERZEICHNIS Inhaltsverzeichnis Vorwort 1 Was hat XML, das HTML nicht hat?......................................... 1 Zu diesem Buch.......................................................... 3 Die Website zum Buch....................................................

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

Adobe Certified Expert-Programm

Adobe Certified Expert-Programm Adobe Certified Expert-Programm Product Proficiency-Prüfungs-Bulletin Adobe Flex 3 mit AIR Prüfungsnr. 9A0-082 Checkliste für die ACE-Zertifizierung Die folgende Checkliste hilft Ihnen dabei, die ACE-Zertifizierung

Mehr

Inhalt. Vorbemerkungen... 1

Inhalt. Vorbemerkungen... 1 Vorbemerkungen...................................................... 1 1 Einleitung........................................................ 9 1.1 Statik und Dynamik............................................

Mehr

Warten auf Ereignisse

Warten auf Ereignisse Abb. 1: Diese Botschaften wurden von dem Programm WINSIGHT aufgezeichnet. Warten auf Ereignisse Wenn wir in einem Windows-Programm eine Schaltfläche anklicken, wenn wir die Maus bewegen oder eine Taste

Mehr

{ Light up the Web } Oliver Scheer. Evangelist Microsoft Deutschland

{ Light up the Web } Oliver Scheer. Evangelist Microsoft Deutschland { Light up the Web } Oliver Scheer Evangelist Microsoft Deutschland { Light up the Web } Oliver Scheer Evangelist Microsoft Deutschland Was ist Silverlight? Tools für Silverlight Designer-Developer-Workflow

Mehr

Schnelle Anwendungen mit Oracle Application Express

<Insert Picture Here> Schnelle Anwendungen mit Oracle Application Express Schnelle Anwendungen mit Oracle Application Express IT-Fundstücke... Einzelplatz- und Abteilungslösungen Excel-Spreadsheets PC-Datenbanken (z.b. MS Access) Skripting-Lösungen Abteilung

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

Mehr

Embedded Computing Conference 2014 Embedded UI Qt5

Embedded Computing Conference 2014 Embedded UI Qt5 Embedded Computing Conference 2014 Embedded UI Qt5 2 Embedded User Interfaces in the Smartphone Age The Power of Qt5 and the QNX OS Qt Vorstellung 3 Qt ( cute ) Hat eine lange Geschichte (Beginn der Entwicklung:

Mehr

SimpleOOP Opensource OOP Plugin

SimpleOOP Opensource OOP Plugin SimpleOOP Opensource OOP Plugin Einführung SimpleOOP bringt PureBasic eine einfache OOP Unterstützung ohne komplizierten Syntax, mit besonderem Wert auf einen sauberen und simplen Code. SimpleOOP ist Opensource

Mehr

Programmierung von Client/Server- Anwendungen

Programmierung von Client/Server- Anwendungen Programmierung von Client/Server- Anwendungen Komponenten des Web-Containers (Java EE) SoSe2015 Prof. Dr. Andreas Schmietendorf 1 Übersicht zur Vorlesung Entwicklung der Java Enterprise Edition Servlets,

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr