Mit AngularJS Projekte schnell an die Wand fahren

Größe: px
Ab Seite anzeigen:

Download "Mit AngularJS Projekte schnell an die Wand fahren"

Transkript

1 Mit AngularJS Projekte schnell an die Wand fahren Häufige Fehler und wie sie sich vermeiden lassen Rouven Röhrig

2 2 Agenda 1. Herausforderungen in Enterprise-JavaScript-Projekten 2. Was ist AngularJS und was bietet es 3. Wie man Projekte an die Wand fährt und wie man es verhindert 4. Zusammenfassung und Ausblick

3 3 Agenda 1. Herausforderungen in Enterprise-JavaScript-Projekten 2. Was ist AngularJS und was bietet es 3. Wie man Projekte an die Wand fährt und wie man es verhindert 4. Zusammenfassung und Ausblick

4 4 Herausforderungen in Enterprise-JavaScript-Projekten Kein Compiler Keine natürliche Strukturierung Loser Zusammenhang der Dateien Dynamische Typisierung Kein Klassen -Konzept Asynchronität Client-seitige Ausführung

5 5 Agenda 1. Herausforderungen in Enterprise-JavaScript-Projekten 2. Was ist AngularJS und was bietet es 3. Wie man Projekte an die Wand fährt und wie man es verhindert 4. Zusammenfassung und Ausblick

6 6 Was ist AngularJS? JavaScript-Framework für Single-Page-Applikationen Client-seitiges JS für interaktives HTML Kümmert sich um die Abhängigkeiten der Dateien Hilft beim Strukturieren (u.a.) durch das MVVM-Pattern Entworfen für eine hohe Testbarkeit (UI- und Unit-Testing) Ermöglicht expressive HTML

7 7 Was ist eine Single-Page-Applikation? Klassische Webseite Single-Page-Applikation Webseite aufrufen HTTP requests Webseite aufrufen HTTP requests Antwort(en) mit Dateien (HTML, CSS, JS etc.) Antwort(en) mit Dateien (HTML, CSS, JS etc.) Webseite aufbauen Webseite aufbauen Link anklicken Link anklicken (HTTP requests) Send updates

8 8 Was ist expressive HTML? <div> <div> <div> <span>9</span> <span>1</span >... </div> <div> <span> </ span >... </div>... </div> </div> <sudoku> <grid> <row id="row1"> <cell id="r1c1">9</cell> <cell id="r1c2">1</cell>... </row> <row id="row2"> <cell id="r2c1"> </cell>... </row>... </grid> </sudoku>

9 9 MVW-Pattern: Model-View-Whatever-Pattern Angular ermöglicht die Trennung von View und Logik Manche sagen Angular basiert auf dem MVC-Pattern Andere (darunter der Referent) sagen es entspricht eher dem MVVM-Pattern Angular sagt es ist ein Model-View-Whatever-Pattern 1 : Stellen Sie es sich so vor, wie es für Sie am meisten Sinn ergibt! Angular sagt aber auch [ ] it's now closer to MVVM. 1 AngularJS: MVC vs MVVM vs MVP, 19 Juli 2012

10 10 Angulars wichtigste Konzepte Dependency Injection Two-Way-Databinding Expressive HTML

11 11 Angulars wichtigste Bausteine Expressions Direktiven Controller Services Module

12 12 Controller im MVVM Model nicht festgelegt in Angular? ViewModel Controller stellt Daten und Methoden zur Verfügung Databinding View DOM

13 13 Two-way-Databinding Hello World! Hallo!.controller('MyController', function() { this.helloworld = 'Hello World!'; this.input; // 'Hallo!' });

14 14 Zusammenspiel Direktive HTML partial template Direktive Service Service Service Cont roller Cont roller Direktive Cont roller HTML partial HTML partial Service Service Direktive Cont roller HTML partial

15 15 Agenda 1. Herausforderungen in Enterprise-JavaScript-Projekten 2. Was ist AngularJS und was bietet es 3. Wie man Projekte an die Wand fährt und wie man es verhindert 4. Zusammenfassung und Ausblick

16 16 Problem: Unzureichende Automatisierung Wir fangen erst einmal an und automatisieren später Problematik: Manuelle Pflege der Abhängigkeiten Tests geben kein schnelles Feedback Es gibt keinen automatisierten Build-Prozess Build-Server ohne Build- und Test-Ergebnis => Tests werden vernachlässigt => Produktivitätsverlust => Nachgelagerte Automatisierung ist oft teuer!

17 17 Besser: Erst Automatisieren, dann Entwickeln Wir machen Automatisierung zur Voraussetzung! JavaScript-basierte Anwendungen lassen sich sehr gut automatisieren Automatisierung muss mitwachsen Umso später automatisiert wird, umso aufwendiger -> Geeignete Werkzeuge sind notwendig!

18 18 Besser: Erst Automatisieren, dann Entwickeln (2) Build-Prozess: NodeJS und npm NodeJS und npm für Entwicklungsabhängigkeiten npm als Command-line-tool npm als einziger Einstiegspunkt für Abhängigkeitsmanagement und Installation Build-Prozess Testausführung (Unit und GUI) Grunt oder Gulp? JA, Faustregel: npm wenn möglich, Grunt/Gulp wenn nötig

19 19 Besser: Erst Automatisieren, dann Entwickeln (3) Build-Prozess: npm als einziger Einstiegspunkt package.json install postinstall: test: e2e-test: taskxy: Entwicklungsabhängigkeiten Frontend-Abhängigkeiten Unit-Tests UI-Tests gulp complicated-job gulpfile.js gulp.task('complicated-job', );

20 20 Besser: Erst Automatisieren, dann Entwickeln (4) Standardisierte autarke Projekte durch npm Beliebiges JavaScript-Projekt, beliebiger Rechner: Voraussetzung: NodeJS und git 1. git clone 2. npm install (Installiert ALLE Abhängigkeiten lokal) 3. npm test (führt Tests aus) 4. npm start (optional: startet Webserver) -> Komplexität massiv reduziert

21 21 Besser: Erst Automatisieren, dann Entwickeln (5) Bower für Frontend-Abhängigkeiten npm für Entwicklungsabhängigkeiten bower für Frontend-Abhängigkeiten Vorteile: Trennung von Frontend und Backend-Abhängigkeiten. Flacher Abhängigkeitsgraph

22 22 Problem: Keine oder kaum GUI-Tests Problematik: Fehler treten trotz Unit-Tests auf Aufwand des manuellen Testens steigt Fehler bleiben lange unentdeckt => Äußere Qualität ist schlecht => Späte Automatisierung offenbart schlecht testbares HTML

23 23 GUI-Tests ab der ersten Seite Das Gesamtsystem testen GUI-Tests sind aufwendig und veralten schnell Auf wichtige Use Cases konzentrieren -> Smoke-Tests Testbare HTML-Komponenten benötigen IDs Klassen sind fehleranfälliger <row id="row1"> <cell id="r1c1"> </cell> <cell id="r1c2"> </cell> </row> <row id="row2"> <cell id="r2c1"> </cell> </row>

24 24 GUI-Tests: Page Object Pattern Egal ob Protractor oder Selenium, Java oder JavaScript: Page Objects! Ein Page Object repräsentiert eine Webseite weiß wie man darauf zugreift kennt Page Objects verlinkter Seiten Tests verwenden Page Objects statt eigene Locator Vorteil: Ändert sich eine Webseite, ändert sich nur ein Page Object

25 GUI-Tests: Page Object Pattern (2) Eine von vielen Möglichkeiten, die auf die Folie gepasst hat! 25 describe('login Page', function() { it('a user can login', function() { var loginpage = new LoginPage(); loginpage.get(); Für Page Objects bieten sich auch Singletons an! loginpage.setusernameandpassword('user1', 'abc'); var overviewpage = loginpage.clickloginexpectsuccess(); expect(overviewpage.isdisplayed()).tobe(true); }); });

26 GUI-Tests: Page Object Pattern (3) Eine von vielen Möglichkeiten, die auf die Folie gepasst hat! 26 function LoginPage() { this.get = function () { return browser.get('/#/login'); }; this.setusernameandpassword = function(username, password) { element(by.id('login-username')).sendkeys(username); element(by.id('login-password')).sendkeys(password); }; this.clickloginexpectsuccess = function() { element(by.id('login-button')).click(); return new OverviewPage(); }; }

27 27 Problem: Keine oder wenig Unit-Tests Das Frontend lässt sich nicht Unit-Testen Problematik: Viele Fehler Fehler werden spät entdeckt Entwicklung per Trial and Error Schlecht wartbarer und nicht testbarer Code => Schlechte innere und äußere Qualität => langsame riskante Entwicklung

28 28 Besser: Von Anfang an Unit-Tests Noch besser: TDD oder Test-first Testbarkeit ist wichtige Metrik für Qualität In Angular: Nur ein testbarer Controller kann ein guter Controller sein Frontend-Code lässt sich auch testen (Direktiven und Controller) Strikte Trennung von View und Logik Controller darf nicht vom DOM abhängen (nur Zustand und Methoden) Direktiven: Operationen möglich mit Tools Fokus auf Controller

29 29 Besser: Von Anfang an Unit-Tests (2) Geeignete Werkzeuge Test-Framework: Jasmine oder Mocha Test-Runner: Karma Testausführung in verschiedenen Browsern Viele Erweiterungen: Code-Coverage Ergebnis für Build-Server (z.b. Jenkins) Automatisierung: npm führt Karma aus, Karma führt Jasmine-Tests aus

30 30 Besser: Von Anfang an Unit-Tests (3) Automatisierung Automatisierung Viele Projekte haben einen größeren Build-Prozess z.b. Minification, Uglification, Sass-Build etc. Häufig muss der Code gebaut werden, bevor er getestet wird Okay und gut für Build-Server Schlecht für TDD und schnelles Feedback Empfehlung: Unit-Tests müssen auch ohne Build laufen Oder watch-task für Entwickler der wirklich schnell ist

31 31 Problem: Keine einheitlichen Codekonventionen Problematik: Flüchtigkeitsfehler schleichen sich ein Einfache Programmierfehler treten auf Schlechte Lesbarkeit und Wartbarkeit => Verringerte Softwarequalität => Verringerte Produktivität

32 32 Codekonventionen durchsetzen Linter findet einfache Fehler und stellt Konventionen sicher Statische Codeanalyse überprüft Codekonventionen und findet typische Fehler Bekannte Linter: JSLint: Fester Standard JSHint: Konfigurierbar ESLint: Konfigurierbar und erweiterbarer Zusätzlich: HTML validieren => Gute IDEs integrieren Linter-Errors

33 33 Problem: IDE unterstützt JavaScript unzureichend Wir entwickeln schon immer mit <BLANK>. Problematik: Schlechter oder kein JavaScript-Support Kein Syntax-Highlighting Keine Funktionen Keine automatisierten Refactorings Keine Linter-Integration => Langsame Entwicklungsgeschwindigkeit => Viele überflüssige Fehler

34 34 Eine IDE mit guter JavaScript-Integration Folgende IDEs bieten eine Integration WebStorm (kommerziell) Brackets, Atom, Sublime et al. (nicht-kommerziell) Visual Studio (kommerziell) => Aufwand und Kosten amortisieren sich schnell!

35 35 Problem: Code-Duplikationen Problematik: Änderungen müssen an vielen Stellen erfolgen Gefixte Fehler tauchen wieder auf Features sind nicht an allen Stellen implementiert => Änderungen und Erweiterungen sind teuer => Zunehmend unwartbarer Code => Schlechte Codequalität

36 36 Keine Code-Duplikationen Aber wie? HTML-Duplikationen Controller-unabhängig: Template-Direktive Controller-abhängig: Direktive (mit eigenem Controller) Duplikationen im Controller: Wiederverwendbarer Service JavaScript-Objekt

37 37 Keine Code-Duplikationen (2) JavaScript-Objekte explizit modellieren Objekte können on-the-fly erzeugt werden -> Führt zu Code-Duplikationen function Message(title, content) { var message = { title: 'a title', content: 'a message' }; Besser Eine von vielen Möglichkeiten, die auf die Folie gepasst hat! } this.title = title; this.content = content;.factory('message', function() { return Message; });

38 38 Keine Code-Duplikationen (3) Kleine Controller, Direktiven und Services Methodik: Große Controller lassen sich schlecht testen, daher: TDD! -> Kann ich einen Controller schwer Unit-Testen, ist er häufig zu groß. Werkzeuge: Services: (Wiederverwendbare) Logik auslagern Template-Direktiven: (Wiederverwendbare) HTML-Templates Direktiven: (Wiederverwendbare) UI-Aspekte kapseln

39 39 Problem: ng-controller statt Direktiven Problematik: ng-controller wird verwendet HTML-Code-Duplikationen Ähnliche oder duplizierte Controller => Komplizierte Scope-Abhängigkeiten => Schwer verständlicher Code => Duplizierter Code

40 40 Besser: Domänenspezifische Sprache mit Direktiven Direktiven sind das Feature von AngularJS Eine Direktive ist in sich abgeschlossen, bestehend aus: HTML-Template Controller Styling Unit-Test ;-) Eine Direktive manipuliert nur ihren eigenen DOM

41 41 Besser: Domänenspezifische Sprache mit Direktiven (2).directive('infobox', function() { return { templateurl: 'infobox.html', controller: function() {...}, controlleras: 'infobox', scope: { 'text': '@', }, bindtocontroller: true }; }); <div class="alert alert-info"> {{infobox.text}} <div> infobox{ /* styling */ } <infobox text="hello World!"/> Hello World!

42 42 Besser: Domänenspezifische Sprache mit Direktiven (3).directive('anotherDirective', function() { return { /* */ }; }); anotherdirective{ /* styling */ } <infobox ng-if="{{anotherdirective.somecondition}}" text="{{anotherdirective.status}}"/> <input /> <button.../>

43 43 Problem: Callback-based APIs Problematik: Führt meist in die Callback Hell [1] Abhängigkeiten schlecht parallelisierbar Aufwendige Fehlerbehandlung Keine Trennung von Fehler- und Erfolgsfall [1]

44 44 Besser: Promise-based APIs Angular bietet eigene API für Promises Promises ermöglichen Einheitliches API-Design Trennung von Fehler- und Erfolgsfall Promise chaining Sauberer Code loaddata(42).then( preprocessdata ).then( displayresult ).catch( alertuser ).finally( clearloadingflag ); => Achtung Design und Testing eigener APIs ist dennoch anspruchsvoll

45 45 Agenda 1. Herausforderungen in Enterprise-JavaScript-Projekten 2. Was ist AngularJS und was bietet es 3. Wie man Projekte an die Wand fährt und wie man es verhindert 4. Zusammenfassung und Ausblick

46 46 Empfehlungen Automatisierung von Anfang an GUI-Tests ab der ersten Seite Unit-Tests -> TDD oder Test-first Hohe Testabeckung -> Testabdeckung messen! Code-Konventionen -> Linter und gute IDE Keine Code-Duplikationen -> Angulars Möglichkeiten nutzen Promise-based APIs

47 47 Rahmenbedingungen von Enterprise-JavaScript-Projekten Kein Compiler Testautomatisierung Keine natürliche Strukturierung Disziplin und Angular-Module Loser Zusammenhang der Dateien Angular-Module Dynamische Typisierung Testautomatisierung Kein Klassen -Konzept Explizit modellierte Objekte Asynchronität ~ Promise-based APIs Client-seitige Ausführung => Einige Probleme werden von EcmaScript2015 adressiert

48 48 Noch besserer Code durch TypeScript Vorteile von Angular mit TypeScript Typisierung (Typdeklaration, Klassen, Interfaces) Compile-Errors Typsichere Rest-Schnittstelle Serverseitiges DTO (z.b. in Java geschrieben) kann als TypeScript-DTO generiert werden -> TypeScript-Compile-Errors Kommt mit vielen zukünftigen EcmaScript-Features (Debugging mit Source in TypeScript-Dateien möglich)

49 49 Noch besserer Code durch TypeScript (2) Einschränkungen beim Einsatz von TypeScript mit Angular Konversion nicht immer ohne Cast möglich Compiler-Schritt kostet etwas Zeit Typdefinitionen für externen JavaScript-Code => Angular 2 wird mit TypeScript entwickelt

50 50 Vielen Dank für Ihre Aufmerksamkeit

Mit AngularJS Projekte schnell an die Wand fahren

Mit 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

Mehr

Frontend-Entwicklung mit JavaScript

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

Mehr

Oliver Zeigermann http://zeigermann.eu. JavaScript für Java-Entwickler

Oliver Zeigermann http://zeigermann.eu. JavaScript für Java-Entwickler Oliver Zeigermann http://zeigermann.eu JavaScript für Java-Entwickler 4 Vorurteile 1. JavaScript ist eine tote Sprache 2. Java als Sprache ist sauberer und klarerer als JavaScript 3. JavaScript-Anwendungen

Mehr

Auf einen Blick. 1 Einführung Funktionen und funktionale Aspekte Objektorientierte Programmierung mit JavaScript...

Auf einen Blick. 1 Einführung Funktionen und funktionale Aspekte Objektorientierte Programmierung mit JavaScript... Auf einen Blick Auf einen Blick 1 Einführung... 17 2 Funktionen und funktionale Aspekte... 61 3 Objektorientierte Programmierung mit JavaScript... 121 4 ECMAScript 6... 173 5 Der Entwicklungsprozess...

Mehr

Schnelle Winkel. Performantere JEE Webapps mit AngularJS

Schnelle Winkel. Performantere JEE Webapps mit AngularJS Schnelle Winkel Performantere JEE Webapps mit AngularJS Lernplattform mit sozialer Komponente Portal & CMS JEE-Basis Wir fangen dann schon mal an! Portal? Forum? Social? CMS? Da gibts doch schon was?!

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

Schnelle Winkel. 10x schnellere Webapps mit AngularJS und Jee

Schnelle Winkel. 10x schnellere Webapps mit AngularJS und Jee Schnelle Winkel 10x schnellere Webapps mit AngularJS und Jee Lernplattform mit sozialer Komponente Portal & CMS JEE-Basis Wir fangen dann schon mal an! Portal? Forum? Social? CMS? Da gibts doch schon was?!

Mehr

Vorwort Einleitung Entstehung und Historie 18

Vorwort Einleitung Entstehung und Historie 18 Inhalt Vorwort 13 1 Einführung n 1.1 Einleitung 17 1.2 Entstehung und Historie 18 1.3 Einsatzgebiete von JavaScript 19 1.3.1 Clientseitige JavaScript-Webanwendungen 19 1.3.2 Serverseitige JavaScript-Anwendungen

Mehr

TypeScript JavaScript mit ohne Kopfschmerzen. Veit Weber 3. JUG Saxony Day Radebeul

TypeScript JavaScript mit ohne Kopfschmerzen. Veit Weber 3. JUG Saxony Day Radebeul TypeScript JavaScript mit ohne Kopfschmerzen Veit Weber 3. JUG Saxony Day 30.09.2016 Radebeul Über mich blog.pikodat.com veit_weber Workshops Apps AngularJS Java EE Agenda 01 02 03 Die Krankheit JavaScript

Mehr

ENTERPRISEY ANGULAR.JS

ENTERPRISEY 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

Mehr

ZenQuery - 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 Single Page Applications mit AngularJS und Spring MVC - Björn Wilmsmann - ZenQuery Enterprise Backend as a Service Unternehmen horten Daten in Silos ZenQuery

Mehr

Aachen, den 19. Januar 2016

Aachen, 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

Mehr

Fortgeschrittene Webentwicklung

Fortgeschrittene Webentwicklung Fortgeschrittene Webentwicklung Hochschule Darmstadt, Fachbereich Informatik, Wintersemester 2016/2017 Christopher Dörge, Thomas Sauer, David Müller Vorlesung 1 Einleitung 05.10.2016 Wer sind wir? Für

Mehr

Angular & TypeScript. Grundlagen

Angular & TypeScript. Grundlagen Angular & TypeScript Grundlagen Überblick TypeScript Typen & Grundlagen Klassen & Interfaces Dekoratoren Module Tooling Modul Systeme & Module Loader TypeScript Compiler & Linting BuildSystem:

Mehr

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

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

Mehr

Kompendium der Web-Programmierung

Kompendium der Web-Programmierung . Thomas Walter Kompendium der Web-Programmierung Dynamische Web-Sites Mit 510 Abbildungen und 22 Tabellen 4ü Springer OOM- Hinweise zum Gebrauch des Buches XIII Teil I Grundlagen der Web-Programmierung

Mehr

Automatisieren von Alltagsaufgaben. Tobias Meier BridgingIT GmbH

Automatisieren von Alltagsaufgaben. Tobias Meier BridgingIT GmbH Automatisieren von Alltagsaufgaben Tobias Meier BridgingIT GmbH Tobias Meier Lead Softwarearchitekt Microsoft Blog: http://blog.bridging-it.de/author/tobias.meier Twitter: @bittobiasmeier Email: Tobias.Meier@bridging-it.de

Mehr

D3kjd3Di38lk323nnm. AngularJS. Philipp Tarasiewicz / Robin Böhm, AngularJS, dpunkt.verlag, ISBN

D3kjd3Di38lk323nnm. AngularJS. Philipp Tarasiewicz / Robin Böhm, AngularJS, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm AngularJS Philipp Tarasiewicz / Robin Böhm, AngularJS, dpunkt.verlag, ISBN 978-3-86490-154-6 Über die Autoren Philipp Tarasiewicz ist im Web groß geworden und arbeitet als freiberuflicher

Mehr

LT 56 - NODE.JS ES GIBT AUCH SCHÖNE MOMENTE. Ralf Enderle

LT 56 - NODE.JS ES GIBT AUCH SCHÖNE MOMENTE. Ralf Enderle LT 56 - NODE.JS ES GIBT AUCH SCHÖNE MOMENTE Ralf Enderle BE AWARE! Wir betrachten in diesem Lighting Talk ausschließlich die schönen Effekte einiger Feature von Node.js bzw. JavaScript. Über die dunklen

Mehr

als Ober äche für Enterprise Java Projekte Bastian Voigt @BastianVoigt xing.com/pro"le/bastian_voigt ConceptPeople IT-Talk 8.09.

als Ober äche für Enterprise Java Projekte Bastian Voigt @BastianVoigt xing.com/prole/bastian_voigt ConceptPeople IT-Talk 8.09. als Ober äche für Enterprise Java Projekte Bastian Voigt @BastianVoigt xing.com/pro"le/bastian_voigt ConceptPeople IT-Talk 8.09.2014 Gliederung 1) Über mich 2) Was ist Enterprise Java Softwareentwicklung?

Mehr

Skill Profil & Projekt CV. Version Datum 05. April 2018

Skill 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

App-Entwicklung mit React-Native, React und Redux

App-Entwicklung mit React-Native, React und Redux Experts in agile software engineering App-Entwicklung mit React-Native, React und Redux - Ein Erfahrungsbericht Rouven Röhrig und Raphael Knecht 2017 andrena objects ag Experts in agile software engineering

Mehr

Node.js Einführung Manuel Hart

Node.js Einführung Manuel Hart Node.js Einführung Manuel Hart Seite 1 Inhalt 1. Node.js - Grundlagen 2. Serverseitiges JavaScript 3. Express.js 4. Websockets 5. Kleines Projekt Seite 2 1. Node.js Grundlagen Node.js is a JavaScript runtime

Mehr

Echte Cross-Plattform Anwendungen mit Angular 2 in Action!

Echte 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

Mehr

Vorstellung e.solutions

Vorstellung 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

Mehr

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

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

Mehr

React.js flottes Front-End für Domino. Knut Herrmann

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

Mehr

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

Ein UI in zwei Welten - Controls in HTML5 und WPF. Timo Korinth Ein UI in zwei Welten - Controls in HTML5 und WPF Timo Korinth Timo Korinth Lead Developer HTML5 bei maximago Zuvor.NET / WPF Entwicklung Warum überhaupt HTML5 und WPF? Was bedeutet Control-Entwicklung

Mehr

App-Entwicklung mit React-Native, React und Redux

App-Entwicklung mit React-Native, React und Redux Experts in agile software engineering App-Entwicklung mit React-Native, React und Redux - Ein Erfahrungsbericht Rouven Röhrig und Raphael Knecht Experts in agile software engineering 2 andrena Experts

Mehr

Entwicklung von effizienten UI-basierten Akzeptanztests für Webanwendungen

Entwicklung von effizienten UI-basierten Akzeptanztests für Webanwendungen Entwicklung von effizienten UI-basierten Akzeptanztests für Webanwendungen Präsentation bei den Stuttgarter Testtagen 21.März 2013 NovaTec - Ingenieure für neue Informationstechnologien GmbH Leinfelden-Echterdingen,

Mehr

Skalierbare Enterprise Architekturen für Universal Windows Platform Apps

Skalierbare 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

Mehr

SEQIS 10 things. Herzlich Willkommen! Alexander Weichselberger SEQIS Geschäftsleitung

SEQIS 10 things. Herzlich Willkommen! Alexander Weichselberger SEQIS Geschäftsleitung SEQIS 10 things SEQIS 10 things Herzlich Willkommen! Alexander Weichselberger SEQIS Geschäftsleitung SEQIS 10 things Programm 2014 20.03.14 Business Analyse Einführung in den BABOK Guide 26.06.14 API Testing:

Mehr

JavaScript: Von einfachen Scripten zu komplexen Anwendungen. MMT 28 3. Dezember 2011

JavaScript: Von einfachen Scripten zu komplexen Anwendungen. MMT 28 3. Dezember 2011 JavaScript: Von einfachen Scripten zu komplexen Anwendungen MMT 28 3. Dezember 2011 Guten Tag Mathias Schäfer (molily) molily.de Software-Entwickler bei 9elements.com Spezialgebiet JavaScript Worum geht

Mehr

Client-Architektur. in Angular. Philipp Burgmer

Client-Architektur. in Angular. Philipp Burgmer Client-Architektur in Angular Philipp Burgmer Über mich Philipp Burgmer Entwickler, Trainer, Speaker Web-Technologien TypeScript, Angular 1 Über uns W11K GmbH - The Web Engineers Gegründet 2000

Mehr

Webprojekte mit AngularJS und JHipster

Webprojekte mit AngularJS und JHipster Webprojekte mit AngularJS und JHipster Lessons learned Michel Mathis mp technology AG November 2015 Über mp technology mp technology AG, Zürich www.mptechnology.ch Individual-Software für Intranet und

Mehr

Maximilian Berghoff 2

Maximilian 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

Mehr

Vorwort... 3 Angular CLI: Der Codegenerator für unser Projekt Vorstellung Installation Die wichtigsten Befehle...

Vorwort... 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.........................................

Mehr

1 mysap.com und der Web Application Server 1

1 mysap.com und der Web Application Server 1 D3kjd3Di38lk323nnm xi 1 mysap.com und der Web Application Server 1 1.1 Das Zeitalter der Portale... 1 1.2 Die mysap-technologie im Detail... 3 1.3 Funktionen des SAP Web Application Server... 5 2 Die Systemarchitektur

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

UI / UX Designer (m/w)

UI / UX Designer (m/w) UI / UX Designer (m/w) Konzeption und Design für Webportale, Shopsysteme und mobile Anwendungen Erstellen von Wireframes und Prototypen für neue Projekte und Features Resposive Design von Benutzeroberflächen

Mehr

Über die Autoren. www.dpunkt.de/plus

Über die Autoren. www.dpunkt.de/plus Über die Autoren Philipp Tarasiewicz ist im Web groß geworden und arbeitet als freiberuflicher Technologieberater, Autor, Sprecher und Coach. Seit einigen Jahren hat er sich auf den Bereich Enterprise

Mehr

Über mich. Daniel Bälz. Softwareentwickler (inovex GmbH) github.com/dbaelz

Über mich. Daniel Bälz. Softwareentwickler (inovex GmbH) github.com/dbaelz Quo vadis Dart? Über mich Daniel Bälz Softwareentwickler (inovex GmbH) dbaelz.de plus.dbaelz.de github.com/dbaelz Agenda Was Wie Warum Wohin Was ist Dart? Übersicht Einsatzgebiet Client (Browser, CLI)

Mehr

Be dynamic! RichClient-Funktionalitäten mit dem Google Web Toolkit

Be dynamic! RichClient-Funktionalitäten mit dem Google Web Toolkit Be dynamic! RichClient-Funktionalitäten mit dem Google Web Toolkit DOAG Konferenz 16. 18.11.2010, Nürnberg Julian Gärtner info@ordix.de www.ordix.de Heutiges Ziel Einordnen von GWT in die Welt der Rich

Mehr

Dies ist der zweite Artikel einer Serie über Electron.

Dies ist der zweite Artikel einer Serie über Electron. Electron WebDeskApps Dies ist der zweite Artikel einer Serie über Electron. Im ersten Artikel wurden die Grundlagen von Elektron, und die benötigten Ressourcen, die man benötigt um eine Elektron-App zu

Mehr

bsc Education Center bsc solutions GmbH & Co. KG Industriestr. 50 b, Walldorf Tel:

bsc Education Center bsc solutions GmbH & Co. KG Industriestr. 50 b, Walldorf Tel: bsc Education Center bsc solutions GmbH & Co. KG Industriestr. 50 b, 69190 Walldorf education@bsc-solutions.com Tel: +49 6227 384 85-100 www.bsc-solutions.com SCHULUNGSÜBERSICHT: SAPUI5 / SAP Fiori BSC-UI-300

Mehr

Design for Testability in der Praxis David Völkel, codecentric AG

Design 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 *

Mehr

Tragfähige Frontend-Architekturen

Tragfähige Frontend-Architekturen Tragfähige Frontend-Architekturen Till Schulte-Coerne JavaLand 2014 Wir lösen das persönlich! Frontend-Architektur? Software-Architektur! Frontend Backend Fertig! DB Was wo hin? Frontend Backend DB Rest

Mehr

WebComponents. Bausteine des modernen Web

WebComponents. 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

Mehr

Florian Rappl. TypeScript

Florian Rappl. TypeScript Florian Rappl TypeScript Profil Freiberuflicher IT-Berater Doktorand Theoretische Physik Microsoft MVP für Visual C# CodeProject MVP Kurzer Abriss Aufschwung von JS Vielzahl von Bibliotheken / Code Größere

Mehr

auxiliary - Objektorientiertes Framework für PHP 5 Frank Kleine auxiliary Objektorientiertes Framework für PHP5

auxiliary - Objektorientiertes Framework für PHP 5 Frank Kleine auxiliary Objektorientiertes Framework für PHP5 auxiliary Objektorientiertes Framework für PHP5 Agenda Hintergründe zu auxiliary Basisfunktionalität Aktueller Status Ein paar Begriffe Beispiel: Aufbau einer Seite Spotlight: Features Selbstkritik Ausblick

Mehr

Continuous Integration mit VSTS Dieter Rüetschi

Continuous Integration mit VSTS Dieter Rüetschi Continuous Integration mit VSTS Dieter Rüetschi (ruetschi@ability-solutions.ch) 1 2 Warum ist Continuous Delivery so wichtig? Geschwindigkeit schnell auf dem Markt Unterstützung und Teil des ALM 3 DevOps

Mehr

NILS HARTMANN OLIVER ZEIGERMANN EINSTIEG IN. React.

NILS 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

Mehr

Kurs-Dokumentation. Zentrum für Informatik ZFI AG. Angular 6+? Der komplette Leitfaden (JANG-0319) -IT Ausbildung nach Mass

Kurs-Dokumentation. Zentrum für Informatik ZFI AG. Angular 6+? Der komplette Leitfaden (JANG-0319) -IT Ausbildung nach Mass Zentrum für Informatik - Angular 6+? Der komplette Leitfaden (JANG-... 1/9 Kurs-Dokumentation Zentrum für Informatik ZFI AG Angular 6+? Der komplette Leitfaden (JANG-0319) -IT Ausbildung nach Mass http://www.zfi.ch/jang-0319

Mehr

Testen von sicherheitskritischer Embedded Software mit frei verfügbaren Tools. - ein Erfahrungsbericht

Testen von sicherheitskritischer Embedded Software mit frei verfügbaren Tools. - ein Erfahrungsbericht Testen von sicherheitskritischer Embedded Software mit frei verfügbaren Tools - ein Erfahrungsbericht Martin Mühlemann CSA Engineering AG, CH-4500 Solothurn Ausgangslage Embedded-Firmware testen für ein

Mehr

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können. Seite: 1 / 10 Designentwurf 1 Allgemeines 1.1 Kurzcharakterisierung Die Glossarverwaltung soll eine einheitliche Terminologie zwischen allen Beteiligten sicherstellen, hier zwischen den Mitarbeitern der

Mehr

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

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an? WEBAPPLIKATIONEN MIT PHP Wo gibt es Hilfe? Wie fang ich an? Tools Webapplikationen bestehen aus Textdateien Lassen sich in Texteditoren schreiben Alternativen: Eclipse (PDT) Netbeans (Dynamic Languages)

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

10 things I wished they d told me! Automate your mobile 10 instruktive Tipps zur Testautomation mobiler Endgeräte. 10 Tipps & Tricks zum Nachlesen

10 things I wished they d told me! Automate your mobile 10 instruktive Tipps zur Testautomation mobiler Endgeräte. 10 Tipps & Tricks zum Nachlesen 10 things I wished they d told me! Automate your mobile 10 instruktive Tipps zur Testautomation mobiler Endgeräte Markus Schwabeneder 10 Tipps & Tricks zum Nachlesen Vorwort SEQIS, der führende österreichische

Mehr

C++ OpenCppCoverage. Detlef Wilkening

C++ OpenCppCoverage. Detlef Wilkening http://www.wilkening-online.de Seite 1 / 52 C++ OpenCppCoverage Detlef Wilkening 10.11.2016 http://www.wilkening-online.de Seite 2 / 52 Warum überhaupt dieser Vortrag? Wir waren mal wieder in einer Gruppe

Mehr

Qualität im Web Frontend

Qualität im Web Frontend Qualität im Web Frontend Werkzeuge und Vorgehen vor Produktion Fokus Überblick zur Technik - nicht in diesem Talk komplementäre Praktiken Code-Review / Pull-Requests / Pairing Karsten Sitterberg Entwickler,

Mehr

NILS HARTMANN. React MODERNE WEB-ANWENDUNGEN MIT. Slides: BED-CON BERLIN SEPTEMBER

NILS 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

Mehr

MVVM in Windows 8 und Windows Phone 8

MVVM 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,

Mehr

Containerized End 2 End Testing

Containerized End 2 End Testing Containerized End 2 End Testing + Referent: Tobias Schneck, ConSol Software GmbH Agenda 1. Einordnung End 2 End Testing 2. Welche Vorteile bieten Container Technologien? 3. Der Sakuli End 2 End Testing

Mehr

Echte Cross-Plattform Anwendungen mit Angular 2 in Action!

Echte 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

Mehr

REST-API mit Node, Express und MongoDB

REST-API mit Node, Express und MongoDB REST-API mit Node, Express und MongoDB 1 Installation von Node.js, MongoDB Download nodejs.org, mongodb.com Test $ node -v v10.15.0 $ npm -v 6.4.1 $ mongo --version MongoDB shell version v4.0.5 (evtl.

Mehr

Robuste und Praktikable Ansätze zur Verhinderung von Sicherheitsdefekten. Christoph Kern, Google

Robuste und Praktikable Ansätze zur Verhinderung von Sicherheitsdefekten. Christoph Kern, Google Robuste und Praktikable Ansätze zur Verhinderung von Sicherheitsdefekten Christoph Kern, Google Weit verbreitete Sicherheitslücken SQL-injection, XSS, XSRF, etc -- OWASP Top 10 Grundproblem: APIs/Frameworks

Mehr

ARS. JavaScript/node.js Entwickler (m/w) ARS Computer und Consulting GmbH /

ARS. JavaScript/node.js Entwickler (m/w) ARS Computer und Consulting GmbH  / JavaScript/node.js Entwickler (m/w) Computer und Consulting GmbH www.ars.de / hr@ars.de DAS INTERVIEW HR Managerin Anita Feuchtinger im Interview mit einem unserer JavaScript Entwickler: HR: Wo arbeitest

Mehr

Inhaltsverzeichnis. Vorwort 15

Inhaltsverzeichnis. Vorwort 15 Vorwort 15 Einleitung 17 Über dieses Buch 18 Wie Sie dieses Buch verwenden 18 Wer dieses Buch lesen sollte 18 Meilensteine 18 Codekonventionen und Downloads 19 Softwareanforderungen 20 Danksagung 20 Teil

Mehr

Angular in der Praxis: Do s and Don'ts WJAX 2018

Angular 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

Mehr

Der frühe Tester fängt den Bug

Der frühe Tester fängt den Bug Der frühe Tester fängt den Bug Kein Teststress am Entwicklungsende dank Webtest-First André Petry (Kühne + Nagel) SEACON 2013 16. / 17.05.2013 Agenda Vorstellung Persönlich Projekt Warum Testen oft schwierig

Mehr

Maven 2 Softwareprojekte mit Kultur

Maven 2 Softwareprojekte mit Kultur Maven 2 Softwareprojekte mit Kultur Patrick Zeising 28.05.2010 Motivation Projekte unterscheiden sich stark im Aufbau Abläufe beim Übersetzen und Deployen unterscheiden sich stark

Mehr

Code-Organisation in JavaScript

Code-Organisation in JavaScript Code-Organisation in JavaScript Webworker-Stammtisch NRW 10. Januar 2013 Frederic Hemberger Codekapselung What happens in Vegas, stays in Vegas. Warum sollte man Code kapseln? Wir haben immer mehr Scripte

Mehr

WERDEGANG BENJAMIN STELLJES FULL STACK WEB DEVELOPER

WERDEGANG BENJAMIN STELLJES FULL STACK WEB DEVELOPER KURZPROFIL Die Softwareentwicklung erfordert viele Voraussetzungen an eine Person wie analytisches Denken, Kompetenzen in der Problemlösung und natürlich fachliche Fähigkeiten in der Anwendungsentwicklung.

Mehr

Diagramme - Next Generation

Diagramme - Next Generation Diagramme - Next Generation D3.js im Unternehmen nutzen Carsten Czarski Business Unit Database Oracle Deutschland B.V. & Co KG Was ist D3js? Daten-Visualisierung im Browser mit HTML5 und Javascript Basiert

Mehr

Automatisierte Akzeptanztests für ios-apps. Sven Günther it-agile GmbH

Automatisierte Akzeptanztests für ios-apps. Sven Günther it-agile GmbH Automatisierte Akzeptanztests für ios-apps Sven Günther it-agile GmbH Wer entwickelt native Apps? Wer testet die Apps selbst? Wer hat externe Testdienstleister? Wer hat Unit-Tests? Wer hat Akzeptanztests?

Mehr

Legacy Web-Apps mit AngularJS pimpen

Legacy Web-Apps mit AngularJS pimpen Legacy Web-Apps mit AngularJS pimpen Über uns Jan Blankenhorn und Philipp Burgmer Software Developers w11k.com / thecodecampus.de > Esslingen / Stuttgart Schulungen, Projekt-Kickoff Consulting, Softwareentwicklung

Mehr

Electron - WebDeskApps

Electron - WebDeskApps Electron - WebDeskApps Dies ist der dritte Artikel einer Serie über Electron. Im ersten Artikel wurden die Grundlagen von Electron, und die verschiedenen Ressourcen, die man benötigt um eine Electron-App

Mehr

Michael C. Feathers. Legacy Code. Effektives Arbeiten mit. Refactoring und Testen bestehender Software

Michael C. Feathers. Legacy Code. Effektives Arbeiten mit. Refactoring und Testen bestehender Software Michael C. Feathers Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software Vorwort................................................... 13 Geleitwort.................................................

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik Entwicklung webbasierter Anwendungen Tipps und Tricks zur Software Installation 1 Vorbemerkung Auf den Laborrechnern ist natürlich alles installiert! Die Installation

Mehr

Mobile hybride Applikationen Investment-App der BW-Bank

Mobile hybride Applikationen Investment-App der BW-Bank Mobile hybride Applikationen Investment-App der BW-Bank avono Aktiengesellschaft Breite Straße 2 70173 Stuttgart www.avono.de Fon (0711) 28 07 57 0 Fax (0711) 28 07 57-28 Ihr Referent Manfred Heiland Senior

Mehr

Web-Techniken Einführung in JavaScript

Web-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

Mehr

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH Erfahrungen und Erkenntnisse Klaus Richarz, HBT GmbH Java Enterprise Edition 5.0 JBoss Seam Konsequenzen für Realisierung Qualitätssicherung Build & Deployment Fazit & Empfehlungen JBoss Seam in Projekten,

Mehr

WERDEGANG BENJAMIN STELLJES FULL STACK WEB DEVELOPER

WERDEGANG BENJAMIN STELLJES FULL STACK WEB DEVELOPER KURZPROFIL Die Softwareentwicklung erfordert viele Voraussetzungen an eine Person wie analytisches Denken, Kompetenzen in der Problemlösung und natürlich fachliche Fähigkeiten in der Anwendungsentwicklung.

Mehr

WebApps in spezieller Umgebung

WebApps in spezieller Umgebung WebApps in spezieller Umgebung Neuentwicklung des dm Service-Punkts #devfestka2016 Matthias Reuter inovex GmbH @gweax Philipp Christoph FILIADATA GmbH Grafk: Polygon GmbH Alles neu?! SPAF Service-Punkt

Mehr

Unternehmensdokumente mit dem XML Publisher erzeugen

Unternehmensdokumente mit dem XML Publisher erzeugen Unternehmensdokumente mit dem XML Publisher erzeugen Jürgen Menge TSBU Middleware ORACLE Deutschland GmbH XML-Publisher Moderne Lösung zur Entwicklung und Verteilung von Geschäftsdokumenten (Output Management)

Mehr

MOC 20486 - Entwicklung von ASP.NET MVC 4 Webapplikationen

MOC 20486 - Entwicklung von ASP.NET MVC 4 Webapplikationen MOC 20486 - Entwicklung von ASP.NET MVC 4 Webapplikationen Kompakt-Intensiv-Training Diese Schulung bereitet Sie optimal auf die MOC-Zertifzierung vor. Zu Beginn der Schulung erhalten Sie einen Überblick

Mehr

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler Eine technische Plattform für Smart-Client-Systeme Alexander Ziegler Agenda Ausgangssituation Smart Client Ansatz Technische Kernthemen Erfahrungen 1 Agenda Ausgangssituation Smart Client Ansatz Erfahrungen

Mehr

Evaluation von Angular als Framework für Single-Page-Webanwendungen

Evaluation 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

Mehr

Referat. Continuous Integration. mit Maven und Jenkins. Benjamin Keeser. Hochschule für angewandte Wissenschaften München FB 07 Informatik (Master)

Referat. Continuous Integration. mit Maven und Jenkins. Benjamin Keeser. Hochschule für angewandte Wissenschaften München FB 07 Informatik (Master) # Entwicklung verteilter Java Anwendungen # Referat Continuous Integration mit Maven und Jenkins Benjamin Keeser Hochschule für angewandte Wissenschaften München FB 07 Informatik (Master) 2 Ablauf... Continuous

Mehr

Cross-Platform Mobile mit.net

Cross-Platform Mobile mit.net Cross-Platform Mobile mit.net Mobile Entwicklungslandschaft Nativ Crosscompiled Hybrid Web Beste Usability? Überschaubare Kosten? Was ist Xamarin? Was ist Xamarin? 2011 Gegründet aus dem Ximian, Novell

Mehr

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

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

Mehr

Sebastian Springer

Sebastian Springer Sebastian Springer ist Diplom-Informatiker (FH) und arbeitet als JavaScript-Entwickler bei der Mayflower GmbH in München. Neben seiner Tätigkeit als Consultant unterrichtet er als Dozent an der Hochschule

Mehr

Continuous Integration mit TravisCI u.a. Jan Steemann

Continuous Integration mit TravisCI u.a. Jan Steemann Continuous Integration mit TravisCI u.a. Jan Steemann Ziele für heute sind: eine kleine Applikation und Code-Änderungen daran automatisiert zu testen Build-Status und Coverage zu veröffentlichen die Code-Coverage

Mehr

Entwicklung einer IDE unabhängigen Benutzeroberfläche für Saros. Matthias Bohnstedt Betreuer: Franz Zieris Eingereicht bei: Prof. Dr.

Entwicklung einer IDE unabhängigen Benutzeroberfläche für Saros. Matthias Bohnstedt Betreuer: Franz Zieris Eingereicht bei: Prof. Dr. Entwicklung einer IDE unabhängigen Benutzeroberfläche für Saros Matthias Bohnstedt Betreuer: Franz Zieris Eingereicht bei: Prof. Dr. Prechelt Aufbau des Vortrags Einleitung Motivation: Saros für IntelliJ

Mehr

Test Driven Development

Test Driven Development Test Driven Development Definition & Motivation [~15min] Demo [~10min] Stubs & Mocks [~15min] Übliche Fehler [~5min] Folie 1 TDD [Kent Beck] Schreibe keine Zeile Code ohne einen fehlschlagenden (roten)

Mehr

dvconfig Webservice Produktkonfiguration mit Constraints TYPO3 Camp Berlin Juli 2016 Dr. Rico Schüppel

dvconfig Webservice Produktkonfiguration mit Constraints TYPO3 Camp Berlin Juli 2016 Dr. Rico Schüppel dvconfig Webservice Produktkonfiguration mit Constraints TYPO3 Camp Berlin Juli 2016 Dr. Rico Schüppel dvconfig Webservice Produktkonfiguration mit Constraints: Trennung von FrontEnd und Logik Produktkonfiguratoren

Mehr