Re-usable Content in 3D und Simulationssystemen Angularjs Referent: Janek Rudolf.

Slides:



Advertisements
Ähnliche Präsentationen
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Advertisements

Einführung in Cocoa Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller, SS 2012 Do, Uhr, Archäologie-Pool Referent: Nelson.
Ruby on Rails im Überblick
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Colibi Bibliothekssystem der Computerlinguistik. Einführung Motivation Was braucht Colibi? Software Datenbankdesign.
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
TempaVoila Referent: Johannes Lenz. TemplaVoila Ist eine templating enginge Dient dazu eigene Templates (hauptsächlcih Designs) zu erstellen Wurde entwickelt.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
By Monika Krolak & Christian Meschke
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Einführung MySQL mit PHP
Xindice Datenbanken vs. Markup Prof Dr. Manfred Thaller WS 2009 / 2010 Referent: Seyda Kurt.
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 6 Sitzung 6: Model-View-Controller als Grundlage.
YouTube5 .0 Projektpräsentation
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
Wir bauen uns eine Webapplikation!
Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
App-Entwicklung mit HTML5, CSS und JavaScript
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
Spring Framework.
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
REBOL. Was ist REBOL frei verfügbar plattformübergreifend highly reflective flexibel kompakt interpretiert.
Objectives Verstehen was unterDelegate verstanden wird
Multimedia in Java Thomas Witschel, Kerstin Steinert & Erik Reinhard.
Goldpartner: Veranstalter: Der Werkzeugkasten für Entwickler Ein UI-Framework in AngularJS Timo Korinth.
A) Erklären Sie den Datentyp char. b) Erklären Sie den Datentyp Struct c) Erklären Sie die Wirkungsweise des Operators & bei Anwendung im Zusammenhang.
BRÜCKENSEMESTER Kursthema: Frontend-Entwicklung für Webapplikationen M.Sc. Anna Prenzel, Sebastian Otto.
Lightning Talk von Andreas Güntzel Model Driven Software Development CODE GENERIERUNG MIT ANY.
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
JavaScript Geschichte : Netscape entwickelt LiveScript (Syntax angelehnt an Java) - Umbenennung von Live Script in JavaScript - Mircrosoft.
Quelle: xkcd.com SQL Injections.
Digitale Annotationen. Grundlage: John Bradley “Towards a Richer Sense of Digital Annotation: Moving Beyond a Media Orientation of the Annotation of Digital.
1 VeranstaltungThemaTeilnehmerBetreuer AINF-Lehrgang PROGRAMMIEREN Martina GREILER Wolfgang KATOLNIG Peter RENDL Helfried TUISEL Peter ZYCH Heinz STEGBAUER.
JQuery Maya Kindler 5c. Entwickler/ Autor John Resig hat jQuery entwickelt. jQuery ist eine Javascript Bibliothek die das programmieren in Javascript.
Vorteile von XML Die installed base von HTML, HTTP und Webbrowsern XML ist einfach und portabel XML kann Dokumente beliebiger Komplexität abbilden XML.
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
XSLT I Re-usable Content in 3D und Simulationssystemen Dozent: Prof. Manfred Thaller Referentin: Elisabeth Chang.
1 Einleitung Auf dem Weg zum Web 2.0 (was immer das sein mag) ist jQuery klein und fix Hängt damit die "Großen" wie Prototype, Dojo oder Mochikit ab Kreuzt.
Tutorium Software-Engineering SS14 Florian Manghofer.
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
PHPUG Karlsruhe 1. Juli 2009 Zend_ProgressBar und Zend_Tag_Cloud Ben Scholzen Software Entwickler DASPRiD's.
Verwendung von Graphical-User-Interfaces der Bibliothek: javax.swing.*
Fakultät ET/IT, Institut für Automatisierungstechnik, Professur für Prozessleittechnik Päsentation zur Belegarbeit: XML & Web Angela Wobar
Erfahrungen mit dem neuen Primo-UI
Regionale Lehrerfortbildung
Das Entwurfsmuster Model-View-Controller
Abschlusspräsentation Tobias Vogel
Schnelle PHP-Webapplikationen mit Booosta 3.0
Jakarta Struts Quasi-Standard für JSP-basierte Entwicklung: Jakarta Struts Key Features von Struts: Implementierung des Action-Command-Pattern („Model.
SLA Reporting leicht gemacht
Persönliche Informationen
Die Struktur einer Java-Klasse
Gewachsene Architektur Das kann nicht funktionieren!
Oracle EPM Planning 11 SKYTEC AG.

Programmierung und Vererbung in Java
Programmiermethodik Übung 7
Thilo Volprich - Team Technology GmbH
Übersicht und Benutzung von Sphinx
Felder in der Informatik
Schmock Mutter nicht ausreichend versorgt  fast verhungert Mutter bei Geburt verstorben Schmock mit Flasche aufgezogen.
 Präsentation transkript:

Re-usable Content in 3D und Simulationssystemen Angularjs Referent: Janek Rudolf

Inhalt ● Was ist Angularjs ● Vorteile von Angularjs ● Databinding ● Direktiven + Beispiele ● Veranschaulichung

Was ist AngularJS und was beinhaltet es: ● Javascript-Framework für dynamische Webapplikationen ● Zur Entwicklung von Single-Page-Apps ● Entwickelt und eingesetzt von Google ● Open-Source-Projekt (seit 2009) ● MVC(Model/View/Controller)/MVVM(Model View View Model) -Framework, das bidirektionales Databinding unterstützt ● Browserunabhängig ohne Modifikation des Browsers ● Auf gute Testbarkeit ausgelegt ● Opinionated

Vorteile von Angularjs ● Keine manuelle DOM-Selektion/-Manipulation ● Keine manuelle Event-Behandung ● Code-Reduktion durch Automatisierung (Direktiven,Databinding) von Standardaufgaben ● Dependency Injection für gute Testbarkeit, Code-Reduktion und leichte Refaktorierung ● Verwendung normaler Datentypen von Javascript → leichte Einbindung fremder Bibliotheken

Einfaches Databinding Bidirektionales Databinding

Dependency Injection ● Normalerweise liegt Kontrolle von Objektinstanziierungen bei der Funktion ● Objekte müssen sich selbst verwalten und Kenntnisse der Umgebung haben ● Mit DI wird Kontrolle an zentrale Komponente übergeben ● → Unabhängigkeit des Objekts von seiner Umgebung ● Klasse/Objekt soll nach Single-Responsibility-Prinzip ausgelegt sein ● → Vermeidung unnötiger Abhängigkeiten beim Kompilieren ● → deutliche leichtere Erstellung von Unit-Tests

● An HTML angepasst und bringen dieser quasi neue “Tricks“ bei ● Unerlässlich zur Web-App-Entwicklung ● Bessere Lesbarkeit des Codes durch : ● - Reduzierung unwichtiger(rein gestalterischer) Elemente ● - semantische Benennung der Elemente ● Komponenten entstehen automatisch ● Lassen sich gut testen und wiederverwenden Direktiven

Vorstellung einiger Direktiven Ng-app ● Ng-app dient zum automatischen Bootstrapping(Urladen)/initialisieren der Applikation ● Diese Direktive kann nur einmal mit einem HTML- Dokument benutzt werden (sonst manuelles bootstrappen) ● Normalerweise steht sie am Anfang einer Applikation und im Html-Tag ● Ohne ng-app klappen die einfachsten Dinge nicht, wie zum Beispiel:

I can add: = {{ 1+2 }} Ausgabe: I can add: = 3

Ng-controller ● Ist im Prinzip die Main-Funktion, übernimmt die Variable $scope und bringt den Datenaustausch mit dem View ● Der ngController ordnet dem scope sein Verhalten zu ● → Kernpunkt im Model-View-Controller ● Die von ngController erzeugte Klasse beinhaltet Methoden(z.B. hinzufügen, entfernen, löschen, grüßen etc.), die die betriebliche Logik der App ausdrücken. Beispiel:

function SettingsController($scope) $scope.name = "John Smith"; $scope.contacts = [ {type:'phone', value:' '}, {type:' ', ]; $scope.greet = function() { alert(this.name); $scope.addContact = function() { this.contacts.push({type:' ', $scope.removeContact = function(contactToRemove) { var index = this.contacts.indexOf(contactToRemove); this.contacts.splice(index, 1); $scope.clearContact = function(contact) { contact.type = 'phone'; contact.value = '';

Ng-Model ● Diese Direktive meldet Angularjs, das Bidirectional Databinding zu benutzen ● Arbeitet mit anderen Direktiven zusammen (u.a. input, textarea, select) ● Sie bindet den View in dem Model, was auch die oben genannten Direktiven erfordern ● Setzt die dazugehörige css-Klasse auf das Element ● Beispiel für Zusammenspiel mit input und checkbox:

Value1: Value2: <input type="checkbox" ng-model="value2" ng-true-value="YES" ng-false-value="NO"> value1 = {{value1}} value2 = {{value2}}

Ausgabe : Value1: Value2: value1 = true value2 = YES Klickt man das Häkchen weg, wird bei value1 = false und bei value2 = NO angezeigt

Ng-repeat ● Die Direktive ng-repeat instanziiert ein Template pro Element ● Für jede Template-Instanz wird ein scope erzeugt ● Dort ist eine Schleifenvariable im aktuellen Element festgelegt ● $index wird auf den Index des Elements gesetzt ● Beispiel:

I have {{friends.length}} friends. They are: [{{$index + 1}}] {{friend.name}} who is {{friend.age}} years old. </html

Ausgabe: I have 2 friends. They are: [1] John who is 25 years old. [2] Mary who is 28 years old.

_cg4

Danke für Ihre Aufmerksamkeit