SlideShare ist ein Scribd-Unternehmen logo
1 von 56
SchnelleWinkel
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?!
Browser
Kernel
JEEBackend
Liferay
PotletServer
Glassfish
CMS
Social Features
User Management
Primefaces
iss doch
schön!
Wir wollen aber noch….
Browser
Kernel
JEEBackend
Liferay
PotletServer
Glassfish
CMS
Social Features
User Management
Browser
Kernel
JEEBackend
Liferay
PotletServer
Glassfish
CMS
Social Features
User Management
Custom Portlets
jQuery Widgets
PrimeFaces
JSF
FacesBridge
Wantsome?
GetSome!
Loadbalancer
Server: 24x CPU, 40GB RAM
DB: 8x CPU, 40 GB RAM
[...] noch nicht mal gestartet,
Testphase erneut verschoben
und plötzlich auch noch langsam?
[…] jeder "Neuling" denkt sich
vermutlich: was'n das für ein
Saftladen […]
[...] Hoffentlich reiht es sich nicht
in die Reihe der deutschen Prestige-
projekte ein: Berliner Flughafen,
Stuttgart 21,
Elbphilharmonie
HILFE!WASTUN?
G‘scheid konfigurieren!
An LR kann‘s nicht liegen!
Messen, nicht raten!
An LR kann‘s nicht liegen!
mehr Portal!
JSP & Liferay pur
Produkt ohne
Schnick-Schnack
mehr Portal!
JSP & Liferay pur
Produkt ohne
Schnick-Schnack
mehr JEE!
JSF2 pur
keine Portlets
KISS
mehr Portal!
JSP & Liferay pur
Produkt ohne
Schnick-Schnack
mehr JEE!
JSF2 pur
keine Portlets
KISS
mehr Client!
JEE & RESTful Services
rein client-seitige UI
Innovativ & Riskant
0
2
4
6
8
10
12
Liferay JSF REST
300 Nutzer
1000 Nutzer
mehr Portal mehr JEE mehr Client
Sekunden/
Request
Browser
Kernel
JEEBackend
Liferay
PotletServer
Glassfish
CMS
Social Features
User Management
Custom Portlets
jQuery Widgets
PrimeFaces
JSF
FacesBridge
Browser
Kernel
JEEBackend
CMS
Glassfish
REST Service
Singe-Page UI
Kernel
Social Features
User Management
Browser
Kernel
JEEBackend
CMS
Glassfish
REST Service
Singe-Page UI
Kernel
Social Features
User Management
ANGULARJSINANUTSHELL
SPA&Client
Google
SolideGrundarchitektur
SolideGrundarchitektur
Echte Trennung View vs. Logik
- Deklarative View (Direktiven)
- Data Binding & Events
- MVVM
SolideGrundarchitektur
Echte Trennung View vs. Logik
- Controller & Services
- Dependency injection
- Module
HANDS-ONANGULARJS
http://jsbin.com/jobisaye/edit HelloKitty!
Scope-Objekt
showKitten: false,
greeting: “Hello Kitty”
Scope-Objekt
showKitten: false,
greeting: “Hello Kitty”
Direktiven
Controller(Javascript)Controller(Javascript)
View (HTML)View (HTML)
http://jsbin.com/rufut/4/edit Controller&DependencyInjection
Model (Scope-Objekt)
greeting: “Katzen?”
hugKitty: function()
Model (Scope-Objekt)
greeting: “Katzen?”
hugKitty: function()
Modul (Javascript)Modul (Javascript)
Referenz auf Module
Module,ServicesundDependencyInjection
Moduldefinition
Service
View (HTML)View (HTML)
http://jsbin.com/cipafaho/edit KomplexeDirektiven
index.html
<body ng-app="exampleApp1">
<div ng-include="'navtemplate.html'"/>
<div ng-view=""/>
</body>
index.html
<body ng-app="exampleApp1">
<div ng-include="'navtemplate.html'"/>
<div ng-view=""/>
</body>
navtemplate.html
<ul class='nav nav-tabs'>
<li><a href='#/Sport'>Sport</a></li>
<li><a href='#/Nature'>Nature</a></li>
</ul>
navtemplate.html
<ul class='nav nav-tabs'>
<li><a href='#/Sport'>Sport</a></li>
<li><a href='#/Nature'>Nature</a></li>
</ul>
sport.html
<img src=„surfer.jpg“/>
sport.html
<img src=„surfer.jpg“/>
nature.html
<img src=„tree.jpg“/>
nature.html
<img src=„tree.jpg“/>
Templating&Routing
Controller.js
$routeProvider.
when('/Sport', {
templateUrl: 'sport.html'
}).
when('/Nature', {
templateUrl: 'nature.html'
}).
otherwise({
redirectTo: '/Sport'
});
Controller.js
$routeProvider.
when('/Sport', {
templateUrl: 'sport.html'
}).
when('/Nature', {
templateUrl: 'nature.html'
}).
otherwise({
redirectTo: '/Sport'
});
TIPPSFÜRDENJAVA-ENTWICKLER
Unsere Erfahrungen in der Dose
»JavaScriptistheonlylanguagethatI’m
awareofthatpeople feeltheydon’tneed
tolearn beforetheystartusingit.«
- Douglas Crockford
Front-end first
Dedizierter REST-Layer
Client
JEE Services
- value1
- value2
Entity #1
Validierung
Transformierung
Error Handling
Cache Control
Authorisierung
RESTLayer
- value3
Entity #2
- formatted1
- value3
DTO
EmbraceREST/HTTP
EmbraceREST/HTTP
Klare Trennung & Design
Stateless; nur der Request zählt
Gute Testbarkeit
Frontend wirklich austauschbar
Lint your code
Tests, Tests, Tests!
E2E, E2M, Unit Frontend/Backend, REST
Knowyourtools
Scaffolding/Seeds ng-boilerplate, Yeoman, Mean.IO
Development IntelliJ UE, Netbeans
Build grunt, gulp
Package Management npm & Bower
Test Jasmine & Protractor
CSS LESS/SASS & Bootstrap
© http://pixabay.com/en/deadman-ranch-ancient-buildings-223774/
Superdetaillierter Vergleich der diversen Seed/Scaffolding-Kits:http://goo.gl/zz7XvC
Mut (& Wissen) zum Konservativen
Mut (& Wissen) zum Konservativen
Dependency Management
Build-/Laufzeit-Umgebung
Dokumentation & APIs
Solides Engineering
Framework
vs.
Anwendungsfall
DERMÜHELOHN…
0
5
10
15
20
25
30 Nutzer 50 Nutzer 100 Nutzer 300 Nutzer
Alte Anwendung Neue Anwendung
0
5
10
15
20
25
30 Nutzer 50 Nutzer 100 Nutzer 300 Nutzer
Alte Anwendung Neue Anwendung
[...] Kurz, ich bin echt begeistert.
Es ist sehr übersichtlich mit
schnellen Ladezeiten. [...]
[…] auf jeden Fall ein riesiger
Fortschritt [..] verbindet was ich
sonst noch so genutzt habe.
z.B. Facebook
Schön, modern und übersichtlich.
Ein deutlicher Schritt nach
vorne ... :-)
DieletzteSeite…
Fragen,Flames,Lob?
Benjamin.Schmid@exxcellent.de
Rainer.Schneider@exxcellent.de
@bentolor
https://www.exxcellent.de/
Image-Credits
subtlepatterns.com
sxc.hu
Death to the StockPhoto
Materialien zum Einstieg
www.angularbasics.co.uk/ Konzepteerklärt
angularjs.de/buch/ eBook,deutsch
AngularJS d.punkt,deutsch

Weitere ähnliche Inhalte

Was ist angesagt?

JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptJSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptOPEN KNOWLEDGE GmbH
 
JavaScript: Von einfachen Scripten zu komplexen Anwendungen
JavaScript: Von einfachen Scripten zu komplexen AnwendungenJavaScript: Von einfachen Scripten zu komplexen Anwendungen
JavaScript: Von einfachen Scripten zu komplexen Anwendungenmolily
 
Qooxdoo 0.8 - Das Neue Gui Toolkit
Qooxdoo 0.8 - Das Neue Gui ToolkitQooxdoo 0.8 - Das Neue Gui Toolkit
Qooxdoo 0.8 - Das Neue Gui ToolkitFabian Jakobs
 
JavaScript-Entwicklung mit den Chrome DevTools
JavaScript-Entwicklung mit den Chrome DevToolsJavaScript-Entwicklung mit den Chrome DevTools
JavaScript-Entwicklung mit den Chrome DevToolsVolker Rose
 

Was ist angesagt? (9)

Eintauchen in MVP mit GWT
Eintauchen in MVP mit GWT Eintauchen in MVP mit GWT
Eintauchen in MVP mit GWT
 
GWT: Eintauchen in MVP und Internationalisierung
GWT: Eintauchen in MVP und InternationalisierungGWT: Eintauchen in MVP und Internationalisierung
GWT: Eintauchen in MVP und Internationalisierung
 
GWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der PraxisGWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der Praxis
 
Blank Template für Joomla!
Blank Template für Joomla!Blank Template für Joomla!
Blank Template für Joomla!
 
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptJSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
 
JavaScript: Von einfachen Scripten zu komplexen Anwendungen
JavaScript: Von einfachen Scripten zu komplexen AnwendungenJavaScript: Von einfachen Scripten zu komplexen Anwendungen
JavaScript: Von einfachen Scripten zu komplexen Anwendungen
 
Qooxdoo 0.8 - Das Neue Gui Toolkit
Qooxdoo 0.8 - Das Neue Gui ToolkitQooxdoo 0.8 - Das Neue Gui Toolkit
Qooxdoo 0.8 - Das Neue Gui Toolkit
 
IHK GfI
IHK GfIIHK GfI
IHK GfI
 
JavaScript-Entwicklung mit den Chrome DevTools
JavaScript-Entwicklung mit den Chrome DevToolsJavaScript-Entwicklung mit den Chrome DevTools
JavaScript-Entwicklung mit den Chrome DevTools
 

Ähnlich wie Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEE

Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5kkramhoeft
 
Mit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & AndroidMit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & AndroidBjörn Wibben
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UIgedoplan
 
.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1Manfred Steyer
 
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigermagnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigerThomas Kratz
 
Java in the Cloud - am Beispiel der Google App Engineg
Java in the Cloud - am Beispiel der Google App EnginegJava in the Cloud - am Beispiel der Google App Engineg
Java in the Cloud - am Beispiel der Google App Engineggedoplan
 
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-AppsAber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-AppsGregor Biswanger
 
Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Dirk Ginader
 
Von 0 auf 100 - Performance im Web
Von 0 auf 100 - Performance im WebVon 0 auf 100 - Performance im Web
Von 0 auf 100 - Performance im WebSebastian Springer
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtOPITZ CONSULTING Deutschland
 
Einführung in die webOS Programmierung
Einführung in die webOS ProgrammierungEinführung in die webOS Programmierung
Einführung in die webOS ProgrammierungMarkus Leutwyler
 
Ajax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google SuggestAjax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google SuggestBastian Feder
 
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionEffiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionMartin Leyrer
 
Fanstatic pycon.de 2012
Fanstatic pycon.de 2012Fanstatic pycon.de 2012
Fanstatic pycon.de 2012Daniel Havlik
 
Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Patrick Lauke
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsUlrich Schmidt
 

Ähnlich wie Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEE (20)

Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5
 
Mit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & AndroidMit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & Android
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UI
 
.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1
 
Einführung in React
Einführung in ReactEinführung in React
Einführung in React
 
Wicket Kurzübersicht
Wicket KurzübersichtWicket Kurzübersicht
Wicket Kurzübersicht
 
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigermagnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
 
Java in the Cloud - am Beispiel der Google App Engineg
Java in the Cloud - am Beispiel der Google App EnginegJava in the Cloud - am Beispiel der Google App Engineg
Java in the Cloud - am Beispiel der Google App Engineg
 
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-AppsAber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
 
Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010
 
20101117 activiti
20101117 activiti20101117 activiti
20101117 activiti
 
Von 0 auf 100 - Performance im Web
Von 0 auf 100 - Performance im WebVon 0 auf 100 - Performance im Web
Von 0 auf 100 - Performance im Web
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
 
Einführung in die webOS Programmierung
Einführung in die webOS ProgrammierungEinführung in die webOS Programmierung
Einführung in die webOS Programmierung
 
Ajax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google SuggestAjax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google Suggest
 
Ruby on Rails SS09 06
Ruby on Rails SS09 06Ruby on Rails SS09 06
Ruby on Rails SS09 06
 
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionEffiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
 
Fanstatic pycon.de 2012
Fanstatic pycon.de 2012Fanstatic pycon.de 2012
Fanstatic pycon.de 2012
 
Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
 

Mehr von Benjamin Schmid

Power catch up - Everything Practical and Important in Java 9 to 13
Power catch up - Everything Practical and Important in Java 9 to 13Power catch up - Everything Practical and Important in Java 9 to 13
Power catch up - Everything Practical and Important in Java 9 to 13Benjamin Schmid
 
Komponentenorientierte Webanwendungen mit wingS 2.0
Komponentenorientierte Webanwendungen mit wingS 2.0 Komponentenorientierte Webanwendungen mit wingS 2.0
Komponentenorientierte Webanwendungen mit wingS 2.0 Benjamin Schmid
 
Der 10-Punkte Plan für den sicheren Weg zum nicht-wartbaren Code
Der 10-Punkte Plan für den sicheren Weg zum nicht-wartbaren CodeDer 10-Punkte Plan für den sicheren Weg zum nicht-wartbaren Code
Der 10-Punkte Plan für den sicheren Weg zum nicht-wartbaren CodeBenjamin Schmid
 
Automatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumAutomatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumBenjamin Schmid
 
Auf dem Weg zu Unwartbarkeit - Die besten Strategien für den sicheren Erfolg!
Auf dem Weg zu Unwartbarkeit - Die besten Strategien für den sicheren Erfolg!Auf dem Weg zu Unwartbarkeit - Die besten Strategien für den sicheren Erfolg!
Auf dem Weg zu Unwartbarkeit - Die besten Strategien für den sicheren Erfolg!Benjamin Schmid
 
Vital und fit bis ins hohe Alter: Refactoring im Projekt
Vital und fit bis ins hohe Alter: Refactoring im ProjektVital und fit bis ins hohe Alter: Refactoring im Projekt
Vital und fit bis ins hohe Alter: Refactoring im ProjektBenjamin Schmid
 
Datenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBaseDatenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBaseBenjamin Schmid
 
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-EntwicklungVielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-EntwicklungBenjamin Schmid
 
Scharfe Anmerkungen für Java 6 mit Lombok
Scharfe Anmerkungen für Java 6 mit LombokScharfe Anmerkungen für Java 6 mit Lombok
Scharfe Anmerkungen für Java 6 mit LombokBenjamin Schmid
 
Das lustige Überlebenshandbuch für JavaScript
Das lustige Überlebenshandbuch für JavaScriptDas lustige Überlebenshandbuch für JavaScript
Das lustige Überlebenshandbuch für JavaScriptBenjamin Schmid
 
Trittsicher auf allen Mobilen Pfaden mit HTML5 & jQuery Mobile
Trittsicher auf allen Mobilen Pfaden mit HTML5 & jQuery MobileTrittsicher auf allen Mobilen Pfaden mit HTML5 & jQuery Mobile
Trittsicher auf allen Mobilen Pfaden mit HTML5 & jQuery MobileBenjamin Schmid
 
Hybride Schönheit - Das Java/JavaScript Webframeworks Echo
Hybride Schönheit - Das Java/JavaScript Webframeworks EchoHybride Schönheit - Das Java/JavaScript Webframeworks Echo
Hybride Schönheit - Das Java/JavaScript Webframeworks EchoBenjamin Schmid
 
Next Generation Java - Ceylon, Kotlin, Scala & Fantom im Überblick
Next Generation Java - Ceylon, Kotlin, Scala & Fantom im ÜberblickNext Generation Java - Ceylon, Kotlin, Scala & Fantom im Überblick
Next Generation Java - Ceylon, Kotlin, Scala & Fantom im ÜberblickBenjamin Schmid
 
'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!Benjamin Schmid
 

Mehr von Benjamin Schmid (14)

Power catch up - Everything Practical and Important in Java 9 to 13
Power catch up - Everything Practical and Important in Java 9 to 13Power catch up - Everything Practical and Important in Java 9 to 13
Power catch up - Everything Practical and Important in Java 9 to 13
 
Komponentenorientierte Webanwendungen mit wingS 2.0
Komponentenorientierte Webanwendungen mit wingS 2.0 Komponentenorientierte Webanwendungen mit wingS 2.0
Komponentenorientierte Webanwendungen mit wingS 2.0
 
Der 10-Punkte Plan für den sicheren Weg zum nicht-wartbaren Code
Der 10-Punkte Plan für den sicheren Weg zum nicht-wartbaren CodeDer 10-Punkte Plan für den sicheren Weg zum nicht-wartbaren Code
Der 10-Punkte Plan für den sicheren Weg zum nicht-wartbaren Code
 
Automatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumAutomatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit Selenium
 
Auf dem Weg zu Unwartbarkeit - Die besten Strategien für den sicheren Erfolg!
Auf dem Weg zu Unwartbarkeit - Die besten Strategien für den sicheren Erfolg!Auf dem Weg zu Unwartbarkeit - Die besten Strategien für den sicheren Erfolg!
Auf dem Weg zu Unwartbarkeit - Die besten Strategien für den sicheren Erfolg!
 
Vital und fit bis ins hohe Alter: Refactoring im Projekt
Vital und fit bis ins hohe Alter: Refactoring im ProjektVital und fit bis ins hohe Alter: Refactoring im Projekt
Vital und fit bis ins hohe Alter: Refactoring im Projekt
 
Datenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBaseDatenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBase
 
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-EntwicklungVielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
 
Scharfe Anmerkungen für Java 6 mit Lombok
Scharfe Anmerkungen für Java 6 mit LombokScharfe Anmerkungen für Java 6 mit Lombok
Scharfe Anmerkungen für Java 6 mit Lombok
 
Das lustige Überlebenshandbuch für JavaScript
Das lustige Überlebenshandbuch für JavaScriptDas lustige Überlebenshandbuch für JavaScript
Das lustige Überlebenshandbuch für JavaScript
 
Trittsicher auf allen Mobilen Pfaden mit HTML5 & jQuery Mobile
Trittsicher auf allen Mobilen Pfaden mit HTML5 & jQuery MobileTrittsicher auf allen Mobilen Pfaden mit HTML5 & jQuery Mobile
Trittsicher auf allen Mobilen Pfaden mit HTML5 & jQuery Mobile
 
Hybride Schönheit - Das Java/JavaScript Webframeworks Echo
Hybride Schönheit - Das Java/JavaScript Webframeworks EchoHybride Schönheit - Das Java/JavaScript Webframeworks Echo
Hybride Schönheit - Das Java/JavaScript Webframeworks Echo
 
Next Generation Java - Ceylon, Kotlin, Scala & Fantom im Überblick
Next Generation Java - Ceylon, Kotlin, Scala & Fantom im ÜberblickNext Generation Java - Ceylon, Kotlin, Scala & Fantom im Überblick
Next Generation Java - Ceylon, Kotlin, Scala & Fantom im Überblick
 
'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!
 

Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEE