Client-Architektur. in Angular. Philipp Burgmer
|
|
- Lisa Böhm
- vor 5 Jahren
- Abrufe
Transkript
1 Client-Architektur in Angular Philipp Burgmer
2 Über mich Philipp Burgmer <> Entwickler, Trainer, Speaker Web-Technologien TypeScript, Angular </> 1
3 Über uns W11K GmbH - The Web Engineers <> Gegründet 2000 Auftrags-Entwicklung / Consulting Web / Java Esslingen / Siegburg </> thecodecampus <> Technologie Schulungen seit 2007 Projekt-Kickoffs & Unterstützung im Projekt </> 2
4 Überblick <> Architektur <> Services & DI <> Komponenten <> Module & Routing <> Datenfluss <> Modularizierung <> Testen 3
5 Architektur
6 Was ist Architektur? <> Welche Komponenten gibt es <> Wie spielen diese Zusammen (Relationship) <> Wie grenzen sie sich von einander ab (Separation of Concern) 5
7 Wie lässt sich Architektur bewerten? <> Nicht-Funktionale-Anforderungen - Wartbarkeit / Testbarkeit - Erweiterbarkeit / Flexibilität - Wiederverwendbarkeit - Performance / Skalierbarkeit - Verständlichkeit / Nachvollziehbarkeit <> Widersprechen sich teilweise 6
8 Architektur in Angular
9 Style Guide <> Style Guide mit Best Practises <> Empfehlungen, keine Verpflichtung <> Beschreibt Architektur-Bausteine 8
10 Services & DI
11 Service <> Kapselt irgendwelche Funktionalität - Sollte UI nicht direkt verändern - Kombination Service und Komponente / Direktive - Ausnahme: Title Service <> Richtige Größe wichtig - Schwierig zu Schneiden - Single-Responsibility-Prinzip - Indiz: Testbarkeit 10
12 Dependency Injection <> Ermöglicht lose Kopplung <> Abhängigkeiten sichtbar machen (Konstruktor-Parameter) <> Nicht an konkrete Implementierung binden Flexibilität <> Nicht an Umgebung binden Wiederverwendbarkeit <> Abhängkeiten mockbar Testbarkeit 11
13 Komponenten
14 Komponenten <> Klein halten - Single Responsibility - Wiederverwendbarkeit, Testbarkeit <> Kapselung einhalten - - Verändern nur eigenen DOM Component Service Component <> Sind für UI zuständig - Single-Responsibility - Datenbeschaftung und Haltung in Services 13
15 Demo
16 Context & Presentation <> a.k.a Smart & Dumb / Smart & Presentation <> Presentation - Kennt Umgebung nicht - Soll Daten darstellen - Bekommt Daten per Input übergeben - Aggregiert und abstrahiert Events per Output <> Context - Kennt Umgebung - Besorgt Daten - Bindet Presentation-Components ein - Interpretiert Events 15
17 Demo
18 Module & Routing
19 EcmaScript Module <> Steuern welcher Code eingebunden wird - Kein toter Code <> Kapselung - Keine globalen Variablen - Anhängigkeiten erkennbar 18
20 Angular Module <> Ebene über EcmaScript-Modulen - Steuern was das Framework kennt und auflösen kann <> Feature-Module - Anhaltspunkt: Top-Level-Menü-Einträge - Beinhalten Komponenten und Services <> Core - Beinhaltet allgemeine, häufig verwendete Sachen - Auch Abhängigkeiten zwischen Features erlaubt (z.b. Dashboard) <> Oft feinere Aufteilung - Für Build-Optimierung 19
21 Routing <> Heimliches Herzstück von Angular Anwendungen <> Gibt mit Modulen zusammen Anwendung eine Struktur - Routen in Feature-Modulen definieren, in App aggregieren - Kontext-Komponenten im Routing verwenden 20
22 Demo
23 Zustand & Datenfluss
24 Datenfluss <> Wer ändert wann welche Daten <> Wer wird wie über Änderungen informiert <> Großes Problem in AngularJS Anwendungen <> Angular ebenfalls keine Vorgaben 23
25 Demo
26 Der Feind: Mutability <> Shared Mutable State <> Zwei-Wege-Data-Binding <> Daten werden einfach geändert <> Wer Binding hat wird aktualisiert <> Führt zu viel Polling 25
27 Die Lösung: Functional Reactive Programming <> Immutable Data Structures - z.b. über Object.freeze und Bibliothek wie Immer - Nur bestimmter Code darf Daten verändern <> Observables - In Angular über RxJS schon integriert - Subscriber bekunden Interesse - Aktualisierungen können explizit bekannt gemacht werden 26
28 Flux Action Dispatcher Store View <> Grundgedanke: Unidirectional Data Flow <> Flux ist ein Pattern - Verschiedene Implementierungen 27
29 Redux 3 Action Store View current state Reducer <> Redux implementiert Flux - Etwas andere Namen - Gleicher Grundgedanke 1 new state 28
30 Tydux Store 2 1 View State 3 Mutators <> Inspiriert von Flux & Redux <> Versucht die Probleme von Redux zu lösen - Alles komplett typisiert (TypeScript) - Keine Zuordnung über Strings - Erzwingt Unveränderbarkeit der Daten außerhalb von Mutators 29
31 Demo
32 Angular Module & Kapselung
33 Angular Module & Komponenten 32
34 Angular Module & Komponenten 33
35 Angular Module & Komponenten 34
36 Angular Module & Komponenten <> Positiv - Vermeidung Namenskolisionen <> Negativ - Schwierig zu lernen - Schlecht nachvollziehbar - Im Code nicht gleich ersichtlich 35
37 Angular Module & Provider 36
38 Angular Module & Provider 37
39 Angular Module & Provider 38
40 Angular Module & Provider <> Negativ - Abhängigkeit von Feature zu Core nicht ersichtlich - Fehler erst zur Laufzeit <> Positiv - Ist in anderen DI Umgebungen auch so - Eigentlich auch richtig <> Problem: Unterschiedliches Verhalten für Provider und Komponenten - Für Zugriff auf Komponenten muss Core in Feature importiert werden 39
41 Angular Module & Provider 40
42 Modularizierung über Packages
43 Packages <> Angular Anwendung Monolith zur Laufzeit <> Wiederverwendbare / allgemeine Teile auslagern (Bibliothek) - Eigene NPM Packages - Private Repos möglich (Nexus, Artifactory, NPM Inc) <> Kombination aller Paket- & Modulsysteme - NPM Paket installieren - EcmaScript Module per absolutem import Statement - NgModule zu imports hinzufügen <> Re-Exports um interne Strukturen zu verbergen 42
44 Demo
45 Packages <> Problem 1: Kein Schutz vor tiefem Zugriff <> Problem 2: Angular CLI bisher nur für Anwendungen - Alternative Builds wie ng-packagr oder nrwl/nx <> Problem 3: Entwicklung mit aktuellem Stand - npm link - Separate App für Package-Entwicklung 44
46 Testen
47 Testen <> Unit-Tests wichtig für langfristige Wartbarkeit - Tests oft guter Indikator für saubere Architektur - Lesbarkeit & Verständlichkeit der Tests - Tests sind im Idealfall ausführbare Doku <> Test-Driven-Development hilft beim Schneiden - Zusätzlicher Context - Single-Responsibility - Schlecht testbar? Indiz für macht zuviel 46
48 Testen <> Dependency Injection und Mock-Support <> Angular Testing Guide <> Test-Code leider sehr aufgebläht - it('desc', async(inject([dependency, (dep) => {}]))) - Viel Schachtelung, viele Klammern - Keine Verwendung der Typen bei inject 47
49 Lazy-Loading
50 Lazy Loading <> Wichtig für Skalierung - Code on-demand nachladen - Initialen Payload klein halten - Schneller Start bei großen Anwendungen <> Führt nicht gerade zu mehr Übersichtlichkeit - Provider an Modulen - "Referenzierung" von Modulen in Strings statt über import Statements <> Häufiger Fehler: Alles lazy laden 49
51 Lazy Loading 50
52 Lazy Loading 51
53 Lazy Loading 52
54 Lazy Loading 53
55 Zusammenfassung <> Angular bietet viele Konzepte <> Konzepte alleine machen keine gute Architektur <> Saubere Architektur möglich <> Gefahren lauern im Detail <> Über Style-Guide viele Empfehlungen vorhanden 54
56 Philipp Burgmer GitHub: pburgmer
React.js flottes Front-End für Domino. Knut Herrmann
React.js flottes Front-End für Domino Knut Herrmann Knut Herrmann Senior Software Architekt Leonso GmbH Notes Domino Entwickler seit Version 2 Web-App-Entwickler aktiv auf StackOverflow E-Mail: knut.herrmann@leonso.de
Mehrng1 zu ng2+ migrieren Philipp Burgmer w11k / thecodecampus
ng1 zu ng2+ migrieren Philipp Burgmer w11k / thecodecampus Über mich Philipp Burgmer burgmer@w11k.de @philippburgmer SoftwareEntwickler, Trainer WebTechnologien, Sicherheit TypeScript, Angular TheCodeCampus
MehrVorwort... 3 Angular CLI: Der Codegenerator für unser Projekt Vorstellung Installation Die wichtigsten Befehle...
D3kjd3Di38lk323nnm xv Vorwort................................................... vii I Einführung 1 1 Haben Sie alles, was Sie benötigen?.................... 3 1.1 Visual Studio Code.........................................
MehrAngular & TypeScript. Grundlagen
Angular & TypeScript Grundlagen Überblick TypeScript Typen & Grundlagen Klassen & Interfaces Dekoratoren Module Tooling Modul Systeme & Module Loader TypeScript Compiler & Linting BuildSystem:
MehrJS 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
MehrMaximilian Berghoff 2
ANGULAR ANGULAR WORKSHOP MAXIMILIAN BERGHOFF - 25.08.2018 - FROSCON 1 2 Maximilian Berghoff 2 Maximilian Berghoff @ElectricMaxxx 2 Maximilian Berghoff @ElectricMaxxx github.com/electricmaxxx 2 Maximilian
MehrSOLID für.net und JavaScript
SOLID für.net und JavaScript www.binarygears.de Stefan Dirschnabel Twitter: @StefanDirschnab #dncgn SOFTWARE ENTWICKLUNG BERATUNG SCHULUNG 5 Prinzipien für das Design von Software Wartbarer Code Leicht
MehrMathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept
Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java Software-Architektur basierend auf dem Plug-in-Konzept Aufteilung: Probleme mit normaler/alter Software Ziele des Software Engineerings Die
MehrModerne App-Entwicklung am Beispiel waipu.tv
Moderne App-Entwicklung am Beispiel waipu.tv Andreas Bauer 10.11.2016 Johannes Schamburger Informationen zur inovex GmbH - IT-Dienstleister in Pforzheim, Karlsruhe, Köln, München und Hamburg - Application
MehrEvaluation von Angular als Framework für Single-Page-Webanwendungen
Evaluation von Angular als Framework für Single-Page-Webanwendungen Seminarvortrag - David Simons 24.01.2018 Inhaltsverzeichnis Einleitung Motivation Kriterien Framework Vorstellung Community Auswahl Angular
MehrTwitter & GitHub: romanroe
ReactiveX mit RxJava Roman Roelofsen - WK GmbH / thecodecampus Twitter & GitHub: romanroe Über mich Alpha Geek, Entwickler, Trainer WK GmbH - The Web Engineers Individualsoftware thecodecampus Schulungsanbieter
MehrAngular in der Praxis: Do s and Don'ts WJAX 2018
Angular in der Praxis: Do s and Don'ts WJAX 2018 Karsten Sitterberg Trainer Autor Entwickler https://sitterberg.com/ karsten@sitterberg.com @kakulty Typisch(e) Kunden Enterprise Anwendungen Komplexe Anwendungen
MehrEchte Cross-Plattform Anwendungen mit Angular 2 in Action!
Browser, Mobile & Desktop Echte Cross-Plattform Anwendungen mit Angular 2 in Action! Christian Weyer Thinktecture AG @christianweyer 2 Christian Weyer Mitgründer & Principal Consultant Thinktecture AG
MehrNativeScript & Angular 2
NativeScript & Angular 2 Von der WebApp zur nativen SmartphoneApp Frederik von Berg W11K / thecodecampus Überblick Über mich Ausgangslage Was ist Angular? Was ist NativeScript?
MehrProjektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi
Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE
MehrSkalierbare Enterprise Architekturen für Universal Windows Platform Apps
Agenda Ziele Portable Class Libraries Projektaufbau MVVM Databinding #1 MVVM Light Inversion of Control & Dependency Injection Repository Pattern Databinding #2 Skalierbare Enterprise Architekturen für
Mehr12 Flux-Architektur am Beispiel von Redux
D3kjd3Di38lk323nnm 229 12 Flux-Architektur am Beispiel von Redux 12.1 Einführung Sobald deine Anwendung größer wird und du vielleicht auch mit mehreren Entwicklern daran arbeitest, kann eine einheitliche
Mehrue.js on Steroids Wie man aus einem guten Framework noch mehr herausholt
ue.js on Steroids Wie man aus einem guten Framework noch mehr herausholt Wer sind wir? Christian Hunger @frozencoffee David Müller @dav1d55 David als Nuxt.js-Contributor Projekterfahrung mit Vue.js aus
MehrVON MVC ZU MODEL-VIEW-VIEWMODEL
VON MVC ZU MODEL-VIEW-VIEWMODEL Wissenschaftliche Vertiefung von Lukas Jaeckle Studiengang Softwaretechnik und Medieninformatik Folie 1 von 18 Agenda 1. Architekturmuster 2. Architekturmuster für interaktive
Mehr11. Komponenten Grundlagen der Programmierung 1 (Java)
11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung
MehrUmstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile
Umstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile OSGi The dynamic module system for Java Bundles Exports Imports Dependencies Services Declarative Services Versionen Dynamic
MehrModerne Android-App - Aber wie?
Moderne Android-App - Aber wie? Daniel Bälz Karlsruhe, 21.11.2016 Greetings, Exalted One. Allow me to introduce myself. Star Wars: Episode VI - Return of the Jedi 2 waipu.tv Fernsehen wie noch nie Produkt
MehrWir 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
MehrLanglebige Softwarearchitekturen - technische Schulden beherrschen und abbauen
Langlebige Softwarearchitekturen - technische Schulden beherrschen und abbauen Dr. Carola Lilienthal, cl@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software
Mehr1.1 Für wen dieses Buch gedacht ist Einleitung Danksagung... 2
D3kjd3Di38lk323nnm v 1 Vorwort 1 1.1 Für wen dieses Buch gedacht ist............................... 1 1.2 Einleitung............................................... 1 1.3 Danksagung.............................................
MehrMSE/SWF - API Design. Arthur Zaczek. Feb 2015
Arthur Zaczek Feb 2015 1 Einleitung Dieses Dokument ist eine Zusammenfassung des Buches Practical API Design: Confessions of a Java Framework Architect. [@Tulach2012] 1.1 Cluelessness Je einfacher eine
MehrENTERPRISEY ANGULAR.JS
ENTERPRISEY ANGULAR.JS THE GOOD, THE BAD, AND THE UGLY EnterJS 2015 - Ralph Guderlei Technology Advisor @ @rguderlei ENTERPRISE APPLICATIONS? komplexe Datenmodelle (100+ Entities) komplexe Geschäftsprozesse
MehrZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann -
ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC - Björn Wilmsmann - ZenQuery Enterprise Backend as a Service Unternehmen horten Daten in Silos ZenQuery
MehrMVVM in Windows 8 und Windows Phone 8
Basel MVVM in Windows 8 und Windows Phone 8 Thomas Claudius Huber Trivadis AG Thomas Claudius Huber Principal Consultat bei Trivadis www.trivadis.com www.thomasclaudiushuber.com Trainer, Coach, Developer,
MehrVorstellung e.solutions
Vorstellung e.solutions JavaScript, TDD und Code-Katas 1 Copyright e.solutions 5/3/2017 e.solutions Das Joint Venture von Audi und Elektrobit Bereiche bei e.solutions Bereiche bei e.solutions Erlangen
MehrDie S.O.L.I.D-Prinzipien für C# Entwickler Thomas Claudius
Die S.O.L.I.D-Prinzipien für C# Entwickler Thomas Claudius Huber @ThomasClaudiusH BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH
MehrOliver Zeigermann / Nils Hartmann, React, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm
D3kjd3Di38lk323nnm Oliver Zeigermann ist Entwickler, Architekt, Berater und Coach. Oliver wendet seine Erfahrungen aus dem Java-Umfeld auch auf die Softwareentwicklung und Architektur mit JavaScript an.
MehrIntegration von Java Legacy Code in die Fusion Middleware 11 mittels des SOA Suite Spring Components
Integration von Java Legacy Code in die Fusion Middleware 11 mittels des SOA Suite Spring Components Integration von Java Legacy Code in die Fusion Middleware 11 mittels des SOA Suite Spring Components
MehrTechnische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigen Dr. Carola Lilienthal Carola.Lilienthal@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Business-Software, die
MehrWebComponents. Bausteine des modernen Web
WebComponents Bausteine des modernen Web Thomas Kruse Entwickler, Trainer, Berater www.trion.de @everflux Java User Group Münster Frontend Freunde Münster Karsten Sitterberg Entwickler, Trainer, Berater
MehrModel-View-Controller
Model-View-Controller Seminar Software-Entwurf Leif Singer Gliederung Einordnung Überblick & Geschichte Aufgabenverteilung & Beispiel Model View Controller Zusammenspiel Web Anwendungen
MehrWeb-Techniken Einführung in JavaScript
Web-Techniken Einführung in JavaScript Prof. Dr. Axel Böttcher Winter 2012/13 15. September 2012 Ausführung von JavaScript Variante 1: Ausführung im Browser durch direktes Einbetten: 1 2
MehrFWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen
FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Sommersemester 2018 Michael Theis, Lehrbeauftragter 2 Servlet API Websockets JSF JAX-WS JAX-RS JMS JAXB JSON-P JEE Enterprise Application
MehrNILS HARTMANN OLIVER ZEIGERMANN EINSTIEG IN. React.
NILS HARTMANN OLIVER ZEIGERMANN EINSTIEG IN React http://bit.ly/react-lehmanns LEHMANNS MEDIA HAMBURG SEPTEMBER 2016 NILS HARTMANN @NILSHARTMANN OLIVER ZEIGERMANN @DJCORDHOSE HTTP://REACTBUCH.DE SINGLE
MehrManaged Extensibility Framework die dynamische Softwareplattform auf.net-basis. W3L AG
1 Managed Extensibility Framework die dynamische Softwareplattform auf.net-basis W3L AG info@w3l.de 2011 2 Inhalt Motivation Managed Extensibility Framework (MEF) Überblick Beispiel Programmiermodell Framework
MehrTh. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen
Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen Th Letschert FH Gießen-Friedberg Th. Letschert OOP 2 Sichtbarkeitsbeziehungen und Geheimnisprinzip Sichtbarkeitsbeziehungen realisieren
MehrLanglebige Softwarearchitekturen der Weg aus den technischen Schulden
Langlebige Softwarearchitekturen der Weg aus den technischen Schulden Dr. Carola Lilienthal, cl@wps.de, @cairolali www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG 1 Business-Software, die Spaß
MehrApplikationsarchitektur modularer Rich Client-Anwendungen am Beispiel der Windows Presentation Foundation
Applikationsarchitektur modularer Rich Client-Anwendungen am Beispiel der Windows Presentation Foundation Jörg Jooss MTC Architect joerg.jooss@microsoft.com http://blogs.msdn.com/mtcmuc/ OOP 2009 Das Szenario
MehrMit AngularJS Projekte schnell an die Wand fahren
Mit AngularJS Projekte schnell an die Wand fahren Häufige Fehler und wie sie sich vermeiden lassen Rouven Röhrig 2 Agenda 1. Herausforderungen in Enterprise-JavaScript-Projekten 2. Was ist AngularJS und
MehrUI-Architekturen mit JSF
Andy Bosch UI-Architekturen mit JSF Copyright 2011, Andy Bosch, www.jsf-academy.com Slide 1 Agenda Warum reden wir überhaupt über UI-Architektur? Technologien und Architekturen wie passt das zusammen?
MehrEntwurfsprinzip. Entwurfsprinzip
Die Komposition (hat ein Beziehung) ist der Vererbung (ist ein Beziehung) vorzuziehen. Es können Familien von Algorithmen in eigenen Klassensätzen gekapselt werden. Das Verhalten lässt sich zu Laufzeit
MehrML Deployment. Vom Prototyp zur Produktion
ML Deployment Vom Prototyp zur Produktion Marcel Spitzer Karlsruhe, 15.3.2018 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment
MehrMulti-Tool Testlandschaft mit DDS
Multi-Tool Testlandschaft mit DDS MATLAB UND SIMULINK ALS ENABLER FÜR RAPID TOOL PROTOTYPING SEBASTIAN BEWERSDORFF ASSYSTEM GERMANY MATLAB EXPO 2017 MÜNCHEN 27.06.2017 EINFÜHRUNG Tools in Unternehmensprozessen
MehrCreational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.
Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational
Mehrals Alternative zu REST Manuel
als Alternative zu REST Manuel Mauky @manuel_mauky Single-Page-Apps und mobile Apps API Wie kommen die Daten zum Client? API? Klassisch: REST/Hypermedia zahlreiche Ressourcen, jeweils über URIs erreichbar
MehrEclipse Rieh Client Platform
Heiko Sippel, Jens Bendisposto, Michael Jastram Eclipse Rieh Client Platform Entwicklung von erweiterbaren Anwendungen mit RCP ntwickier.press V E E.l E.2 E.3 E.4 Teil 1 1 1.1 1.2 1.3 1.4 1.5 2 2.1 2.2
MehrSpring & OSGi: Plattform der Zukunft. Bernd Kolb (Kolbware) Martin Lippert (akquinet agile GmbH) Gerd Wütherich (comdirect bank AG)
Spring & OSGi: Plattform der Zukunft Bernd Kolb (Kolbware) Martin Lippert (akquinet agile GmbH) Gerd Wütherich (comdirect bank AG) 0 Inhalt Warum Spring & OSGi? Die Grundidee Der Stand der Dinge Ein praktisches
MehrFunktionales TDD. Alles gleich oder alles anders?
Funktionales TDD Alles gleich oder alles anders? Johannes Link johanneslink.net Softwaretherapeut "In Deutschland ist die Bezeichnung Therapeut allein oder ergänzt mit bestimmten Begriffen gesetzlich nicht
MehrIndigo vs. Juno. Was ist neu für Eclipse 4.x RCP Entwickler? Hauptseminar 2012
Fakultät Informatik, Institut für Angewandte Informatik, Professur für Technische Informationssysteme Indigo vs. Juno Was ist neu für Eclipse 4.x RCP Entwickler? Hauptseminar 2012 Thomas Pischulski (Thomas.Pischulski@mailbox.zih.tu-dresden.de)
MehrBIF/SWE - Übungsbeispiel
Arthur Zaczek Feb 2015 1 Allgemein 1.1 Ziele Ziele dieses Übungsbeispieles ist es: GUI: Implementierung einer grafischen Oberfläche mit JavaFX oder WPF UI-Komponente: Implementierung einer eigenen grafischen
MehrKomponentenbasierter
Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten
MehrSoftware-Refactoring. 29. Mai 2013
Software-Refactoring 29. Mai 2013 Überblick Was ist Refactoring und wozu dient es? Welche Refactorings gibt es? Refactoring-Katalog: www.refactoring.com Wann, wo und wie führt man Refactorings durch? Wie
MehrTDD. mit JUnit & Mockito. Tobias Trelle, codecentric
TDD mit JUnit & Mockito Tobias Trelle, codecentric AG @tobiastrelle 1 Tobias Trelle Software Architekt @ codecentric AG Twitter: @tobiastrelle Slideshare: http://de.slideshare.net/tobiastrelle/ GitHub:
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.
MehrAufbau und Einsatz von Marionette Collective
Aufbau und Einsatz von Marionette Collective Management großer Systemumgebungen mit dem Server Orchestration Framework Andreas Schmidt andreas.schmidt@cassini.de @aschmidt75 2012 Cassini Consulting GmbH
MehrForms Desktop Kooperation
Forms Desktop Kooperation Oracle Forms in Integration & Interaktion Forms Day 2019 Motivation Kennen Sie diese Argumente? Kein modernes GUI.. fehlende Komponenten Forms zu starr und wird als Insel empfunden
MehrVaadin 8 What s new Jakob Magun, Benjamin Schupp
Vaadin 8 What s new 26.09.2017 Jakob Magun, Benjamin Schupp Vaadin Release 8 Was bringt die Version 8 von Vaadin mit sich? Was bedeutet dies für meine Projekte? mp technology AG / 2 Recap: Neu in Vaadin
MehrPraktikum. SEP: Java-Programmierung WS 2018/19. Modularisierung. Thomas Lemberger und Martin Spießl
Praktikum SEP: Java-Programmierung WS 2018/19 Modularisierung Thomas Lemberger und Martin Spießl Basierend auf Folien von Matthias Dangl und Karlheinz Friedberger 1 / 10 Modularisierung Module gliedern
MehrENTWURFSPRINZIPIEN DIE SOLID-PRINZIPIEN NACH ROBERT C. MARTIN 1 / 21. Markus Just Wissenschaftliche Vertiefung
ENTWURFSPRINZIPIEN DIE SOLID-PRINZIPIEN NACH ROBERT C. MARTIN Markus Just 22.01.2016 Wissenschaftliche Vertiefung 1 / 21 Agenda 1) Einführung 2) SOLID- nach Robert C. Martin 3) Fazit 2 / 21 Mängel von
MehrEclipse Scout Heute und Morgen. Jérémie Bresson BSI Business Systems Integration AG
Eclipse Scout Heute und Morgen @ZimMatthias @j2r2b Matthias Zimmermann Jérémie Bresson BSI Business Systems Integration AG Scout Heute Neon Release Eclipse Scout Neon Release Neue Java Platform Neon Release
MehrAus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar
Zweck des Entwurfs Aus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar Überspitztes Beispiel: Wenn eine Klas mit einer Methode, die 10.000 Zeilen lang ist, die geforderte
MehrHandbuch 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
MehrAachen, den 19. Januar 2016
Einführung in AngularJS anhand einer Single Page Application zur Darstellung und Bearbeitung von Fragebögen in MS Dynamics CRM 2013 Aachen, den 19. Januar 2016 Übersicht 1. Grundlagen 2. Die Applikation
MehrAPEX OOS TOOLS & HELFER
APEX OOS TOOLS & HELFER About me Oracle > 8 Jahre APEX > 8 Jahre Freelancer seit 2016 Vorher APEX Entwickler im Versicherungsumfeld aktiver Open Source Entwickler auf Github Mit-Entwickler von apex.world!
MehrOliver 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
MehrGegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung
Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Jan Düttmann Archimedon Software + Consulting GmbH & Co. KG Marienstraße 66 32427 Minden Stephan Kleuker Hochschule
Mehr3.5 Arten von Modulen
D3kjd3Di38lk323nnm 78 3 Das Java-Modulsystem Modulübergreifender Ressourcenzugriff Das Paket, in welchem die Ressource liegt, die für andere Module zugreifbar sein soll, mit opens nach außen öffnen und
MehrFOLIO EINFÜHRUNG. Richard Redweik Universitätsbibliothek Leipzig
FOLIO EINFÜHRUNG Richard Redweik redweik@ub.uni-leipzig.de Universitätsbibliothek Leipzig 28.09.2017 AGENDA 1. Motivation 2. FOLIO a. Übersicht b. Okapi c. Stripes 3. Zusammenfassung MOTIVATION Warum FOLIO?
MehrMagento. Ein Überblick
Magento Ein Überblick 1 Agenda Einleitung Projektvorstellung: design-bestseller.de Über Magento Fragen und Diskussion Andreas von Studnitz KKL Luzern Technological Overview 08.11.2014 2 3 Über mich Andreas
MehrEINFÜHRUNG IN REACT.JS UND REDUX
EINFÜHRUNG IN REACT.JS UND REDUX REACT.JS EINE JAVASCRIPT LIBRARY ZUM ERSTELLEN VON USER INTERFACES Nur die UI Virtual DOM Data Flow DATA FLOW Unidirektional ohne Event-Chaos https://www. ickr.com/photos/spilt-milk/5829575950
MehrModul Software Komponenten 01 Komponenten
Modul Software Komponenten 01 Komponenten Martin Jud Inhalt 1. Begriff 2. Bedeutung 3. Nutzen 4. Entwurf mit Komponenten HSLU T&A, 14.09.2008 Modul SWK - 01-Komponenten - Martin Jud 2 1. Begriff Definition
MehrVerbesserung der Architektur der DPP- Software Saros (Vortrag 2) Slawa Belousow Institut für Informatik FU Berlin
Verbesserung der Architektur der DPP- Software Saros (Vortrag 2) Slawa Belousow Institut für Informatik FU Berlin 03.02.2011 Inhalt der Präsentation 1.Arbeit und Vortrag 1 2.Aktuelle Saros-Architektur
MehrDesign for Testability in der Praxis David Völkel, codecentric AG
Design for Testability in der Praxis David Völkel, codecentric AG http://commons.wikimedia.org/wiki/file:pit_crew_hudson_valley.jpg http://commons.wikimedia.org/wiki/file:carservice.jpg David Völkel *
MehrServer-Überwachung mit Icinga 2
Server-Überwachung mit Icinga 2 Webinar 15.02.2017 Christian Stein NETWAYS GmbH Werner Fischer Thomas-Krenn AG Agenda Vorstellung Thomas-Krenn Vorstellung NETWAYS Vorstellung Icinga 2 Überwachungsmöglichkeiten
Mehrv i r t u a l 7 G m b H Consulting- und Softwarepartner Unternehmergeführt 1996 gegründet 85 Mitarbeiter 1 Team aus Spezialisten W E R W I R S I N D
v i r t u a l 7 G m b H Consulting- und Softwarepartner Unternehmergeführt 1996 gegründet 85 Mitarbeiter 1 Team aus Spezialisten W E R W I R S I N D K A R L S R U H E 50 Mitarbeiter Consulting Development
MehrCloud-Umgebungen mit Terraform verwalten. Sascha Askani
Cloud-Umgebungen mit Terraform verwalten Sascha Askani 20.04.2016 ... über inovex und den Referenten 2 Übersicht Einführung Umgebung konfigurieren Umgebung verwalten Fazit und Ausblick 3 ... Continuous
MehrNeue Wege mit Contao 4
Neue Wege mit Contao 4 Schöne neue PHP-Welt Contao Konferenz 2016 Über mich Andreas Schempp / terminal42 gmbh Schweiz Contao Core Entwickler Vorstand (Schatzmeister) Contao Association Hauptentwickler
MehrMultimedia im Netz Wintersemester 2012/13
Multimedia im Netz Wintersemester 2012/13 Übung 10 Ludwig-Maximilians-Universität München Multimedia im Netz WS 2012/13 - Übung 10-1 Lösung zu Übungsblatt 08 Ludwig-Maximilians-Universität München Multimedia
MehrPraktikum. SEP: Java-Programmierung SS Trie: Häufige Fragen. Thomas Bunk und Karlheinz Friedberger
Praktikum SEP: Java-Programmierung SS 2019 Trie: Häufige Fragen Thomas Bunk und Karlheinz Friedberger 1 / 12 Ab wann kann abgegeben werden? Seit Beginn der Aufgabe. Es können beliebig viele Abgaben hochgeladen
MehrModerne Web- Anwendungen mit
Moderne Web- Anwendungen mit Oliver.Damm@akquinet.de September 2013 Web- Anwendungen mit Vaadin???
MehrPuppet. Modul Guide. Alexander Pacnik Karlsruhe,
Puppet Modul Guide Alexander Pacnik Karlsruhe, 23.08.2013 Environment Struktur... worum es in diesem Vortrag geht. Environment-Struktur Repository-Struktur Modulprinzipien Modulestruktur Daten & Code Test
MehrNILS HARTMANN. React MODERNE WEB-ANWENDUNGEN MIT. Slides: BED-CON BERLIN SEPTEMBER
NILS HARTMANN React MODERNE WEB-ANWENDUNGEN MIT Slides: http://bit.ly/bedcon-react BED-CON BERLIN SEPTEMBER 2017 @NILSHARTMANN NILS HARTMANN Programmierer aus Hamburg Java JavaScript, TypeScript Trainings
MehrAPEX DESKTOP APPS. Interaktion mit dem Client System
APEX DESKTOP APPS Interaktion mit dem Client System About me Oracle > 8 Jahre APEX > 8 Jahre Freelancer seit 2016 Vorher APEX Entwickler im Versicherungsumfeld aktiver Open Source Entwickler auf Github
MehrArchitektur Pattern. Organisation und Interaktion zwischen den Komponenten
Architektur Pattern Organisation und Interaktion zwischen den Komponenten Einteilung Es gibt verschiedenste Architekturmuster welche abhängig vom Projektumfang und -umfeld sinnvoll verwendet werden: Model-View-Controller,
MehrObjektorientiertes Programmieren II
Objektorientiertes Programmieren II Symbolische Programmiersprache. Benjamin Roth Folien von Annemarie Friedrich Wintersemester 2017/2018 Centrum für Informations- und Sprachverarbeitung LMU München 1
MehrEchte Cross-Plattform Anwendungen mit Angular 2 in Action!
Browser, Mobile & Desktop Echte Cross-Plattform Anwendungen mit Angular 2 in Action! Christian Weyer Thinktecture AG @christianweyer 2 Christian Weyer Mitgründer & Principal Consultant Thinktecture AG
MehrSkill Profil & Projekt CV. Version Datum 05. April 2018
Skill Profil & Projekt CV Version 2018.4 Datum 05. April 2018 SkPr REACTIVE SYSTEMS KONTAKT POSTANSCHRIFT BÜROANSCHRIFT Ingo Grebe +49 (176) 225 179 15 Tulpenweg 17 Christian-Kremp-Straße 11 Dipl.-Inform.
Mehr- Architektur & Integration -
- Architektur & Integration - ADF und BI Integration Jürgen Menge Sales Consultant, Oracle Deutschland B.V. & Co. KG E-Mail: juergen.menge@oracle.com +++ Bitte wählen Sie sich in die Telefonkonferenz entweder
MehrDominik Doerner, Jonathan Bechtle ESCde
Dominik Doerner, Jonathan Bechtle ESCde Kursübersicht Einführung in ASP.NET Core 01 Was ist ASP.NET Core? 02 Startup und Middleware 03 Wie funktioniert MVC? 04 Debugging und Logging Trainer Dominik Doerner
Mehr