SlideShare a Scribd company logo
Angular.js: 
Lessons Learned 
At DAB-Bank
David.Amend@it-amend.de
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
DEMO 
https://www.dab-bank.de/Konto-Kredit/DAB-Finanzmanager-Demo/ 
https://www.dab-bank.de/Special/Videos/Video-Finanzmanager.xhtml
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Additional Slides
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality
Angular Module Dependencies
/app 
/applicationContext.js 
/modules 
/submodule 
Module Creation & Referencing 
Module Retrieval & Chargement 
Inspired By 
1. 
2. 
/submodule-service.js 
/submodule-directive.js 
/submodule-controller.js Miško Hevery
Single Point of Dependency Wireing 
/app 
applicationContext.js 
Registration 
angular.module(‘de.dab.pfm.app’, [‘dashboard’]); 
angular.module(‘de.dab.pfm.dashboard’, [‘de.dab.pfm.dashboard.header’]); 
angular.module(‘de.dab.pfm.dashboard..header’, [‘de.dab.pfm.dashboard.intro’, 
‘pieChart]); 
angular.module(‘de.dab.pfm.dashboard.intro’, [‘...’]); 
angular.module(‘de.dab.shared.pieChart’, [‘...’]);
By Module, loose coupled 
pieChart 
pie-chart-directive.js 
angular.module(‘de.dab.shared.pieChart’) 
.directive(‘de.dab.shared.pieChartService’, ...); 
pie-chart-service.js 
angular.module(‘de.dab.shared.pieChart’) 
.service(‘de.dab.shared.pieChartService’, ...) pie-chart- 
model.js 
pie-chart.tpl.html 
Getter 
full qualifier?
Compiling & TypeScript 
Why TypeScript? 
● Compilation Imposed by Google 
● Sweet Home Java/.Net-Developer 
● Refactoring Made Easy 
● Models Management 
● Future-Proof Syntax, Angular 2.0, ... 
Choice of TypeScriptifying
Personal Finance Management 
● https://www.dab-bank.de/Special/Videos/Video-Finanzmanager.xhtml 
● https://www.dab-bank.de/Konto-Kredit/DAB-Finanzmanager-Demo/ 
● (Team Setup: Scrum) 
● Circumstances 
● Competitors 
“ Rund zwei Drittel der Teilnehmer zeigen Interesse an 
Personal Finance Management und können sich dabei auch 
eine langfristige Nutzung vorstellen” 
http://www.ibi.de/1317-aktuelle-studie-personal-finance-management. 
html
Ad

Recommended

Practica 2
Practica 2
Erick Ramirez
 
Actividad 02
Actividad 02
Jose AC
 
Lab 10 gride view
Lab 10 gride view
Phonepaseuth Phonhdala
 
La vista video view
La vista video view
Yanori Perez
 
Gwt widget frameworks_presentation
Gwt widget frameworks_presentation
David Amend
 
Gwt presentation
Gwt presentation
철민 배
 
Reasons to migrate to modern web development with JavaScript
Reasons to migrate to modern web development with JavaScript
David Amend
 
Geecon 2014 - Five Ways to Not Suck at Being a Java Freelancer
Geecon 2014 - Five Ways to Not Suck at Being a Java Freelancer
Roberto Cortez
 
Multi modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.js
David Amend
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
David Amend
 
Maven - Taming the Beast
Maven - Taming the Beast
Roberto Cortez
 
Migration tales from java ee 5 to 7
Migration tales from java ee 5 to 7
Roberto Cortez
 
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1
David Amend
 
KYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under Control
Coimbra JUG
 
Just enough app server
Just enough app server
Antonio Goncalves
 
Componentization css angular
Componentization css angular
David Amend
 
Performance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomas
David Amend
 
Story about module management with angular.js
Story about module management with angular.js
David Amend
 
Thin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentation
David Amend
 
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with fun
David Amend
 
Client Vs. Server Rendering
Client Vs. Server Rendering
David Amend
 
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
David Amend
 
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
David Amend
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
David Amend
 

More Related Content

Viewers also liked (7)

Multi modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.js
David Amend
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
David Amend
 
Maven - Taming the Beast
Maven - Taming the Beast
Roberto Cortez
 
Migration tales from java ee 5 to 7
Migration tales from java ee 5 to 7
Roberto Cortez
 
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1
David Amend
 
KYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under Control
Coimbra JUG
 
Just enough app server
Just enough app server
Antonio Goncalves
 
Multi modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.js
David Amend
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
David Amend
 
Maven - Taming the Beast
Maven - Taming the Beast
Roberto Cortez
 
Migration tales from java ee 5 to 7
Migration tales from java ee 5 to 7
Roberto Cortez
 
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1
David Amend
 
KYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under Control
Coimbra JUG
 

More from David Amend (9)

Componentization css angular
Componentization css angular
David Amend
 
Performance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomas
David Amend
 
Story about module management with angular.js
Story about module management with angular.js
David Amend
 
Thin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentation
David Amend
 
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with fun
David Amend
 
Client Vs. Server Rendering
Client Vs. Server Rendering
David Amend
 
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
David Amend
 
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
David Amend
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
David Amend
 
Componentization css angular
Componentization css angular
David Amend
 
Performance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomas
David Amend
 
Story about module management with angular.js
Story about module management with angular.js
David Amend
 
Thin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentation
David Amend
 
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with fun
David Amend
 
Client Vs. Server Rendering
Client Vs. Server Rendering
David Amend
 
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
David Amend
 
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
David Amend
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
David Amend
 
Ad

Javascript & Angular .js for the enterprise, lessons learned, typescript scalable code quality

  • 36. /app /applicationContext.js /modules /submodule Module Creation & Referencing Module Retrieval & Chargement Inspired By 1. 2. /submodule-service.js /submodule-directive.js /submodule-controller.js Miško Hevery
  • 37. Single Point of Dependency Wireing /app applicationContext.js Registration angular.module(‘de.dab.pfm.app’, [‘dashboard’]); angular.module(‘de.dab.pfm.dashboard’, [‘de.dab.pfm.dashboard.header’]); angular.module(‘de.dab.pfm.dashboard..header’, [‘de.dab.pfm.dashboard.intro’, ‘pieChart]); angular.module(‘de.dab.pfm.dashboard.intro’, [‘...’]); angular.module(‘de.dab.shared.pieChart’, [‘...’]);
  • 38. By Module, loose coupled pieChart pie-chart-directive.js angular.module(‘de.dab.shared.pieChart’) .directive(‘de.dab.shared.pieChartService’, ...); pie-chart-service.js angular.module(‘de.dab.shared.pieChart’) .service(‘de.dab.shared.pieChartService’, ...) pie-chart- model.js pie-chart.tpl.html Getter full qualifier?
  • 39. Compiling & TypeScript Why TypeScript? ● Compilation Imposed by Google ● Sweet Home Java/.Net-Developer ● Refactoring Made Easy ● Models Management ● Future-Proof Syntax, Angular 2.0, ... Choice of TypeScriptifying
  • 40. Personal Finance Management ● https://www.dab-bank.de/Special/Videos/Video-Finanzmanager.xhtml ● https://www.dab-bank.de/Konto-Kredit/DAB-Finanzmanager-Demo/ ● (Team Setup: Scrum) ● Circumstances ● Competitors “ Rund zwei Drittel der Teilnehmer zeigen Interesse an Personal Finance Management und können sich dabei auch eine langfristige Nutzung vorstellen” http://www.ibi.de/1317-aktuelle-studie-personal-finance-management. html