SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
Angular.js: 
Lessons Learned 
At DAB-Bank
David.Amend@it-amend.de
DEMO 
https://www.dab-bank.de/Konto-Kredit/DAB-Finanzmanager-Demo/ 
https://www.dab-bank.de/Special/Videos/Video-Finanzmanager.xhtml
Additional Slides
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

Weitere ähnliche Inhalte

Andere mochten auch

Multi modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.jsMulti modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.jsDavid Amend
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankDavid Amend
 
Maven - Taming the Beast
Maven - Taming the BeastMaven - Taming the Beast
Maven - Taming the BeastRoberto Cortez
 
Migration tales from java ee 5 to 7
Migration tales from java ee 5 to 7Migration tales from java ee 5 to 7
Migration tales from java ee 5 to 7Roberto Cortez
 
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1David Amend
 
KYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under ControlKYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under ControlCoimbra JUG
 

Andere mochten auch (7)

Multi modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.jsMulti modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.js
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
 
Maven - Taming the Beast
Maven - Taming the BeastMaven - Taming the Beast
Maven - Taming the Beast
 
Migration tales from java ee 5 to 7
Migration tales from java ee 5 to 7Migration tales from java ee 5 to 7
Migration tales from java ee 5 to 7
 
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1
 
KYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under ControlKYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under Control
 
Just enough app server
Just enough app serverJust enough app server
Just enough app server
 

Mehr von David Amend

Componentization css angular
Componentization css angularComponentization css angular
Componentization css angularDavid Amend
 
Performance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomasPerformance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomasDavid Amend
 
Story about module management with angular.js
Story about module management with angular.jsStory about module management with angular.js
Story about module management with angular.jsDavid Amend
 
Thin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentationThin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentationDavid Amend
 
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with funGrunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with funDavid Amend
 
Client Vs. Server Rendering
Client Vs. Server RenderingClient Vs. Server Rendering
Client Vs. Server RenderingDavid 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...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 PhantomasGrunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with PhantomasDavid Amend
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationGrunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationDavid Amend
 

Mehr von David Amend (9)

Componentization css angular
Componentization css angularComponentization css angular
Componentization css angular
 
Performance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomasPerformance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomas
 
Story about module management with angular.js
Story about module management with angular.jsStory about module management with angular.js
Story about module management with angular.js
 
Thin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentationThin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentation
 
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with funGrunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with fun
 
Client Vs. Server Rendering
Client Vs. Server RenderingClient Vs. Server Rendering
Client Vs. Server Rendering
 
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...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...
 
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with PhantomasGrunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationGrunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
 

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

  • 3.
  • 4.
  • 5.
  • 6.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 33.
  • 34.
  • 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