SlideShare ist ein Scribd-Unternehmen logo
1 von 33
ModulAngular
DEVMarche 29/04/2015
Quanto costa un progetto strutturato?
Ha un costo relativo che vale la pena chiedersi se serve
@emanuele_r @violo
@emanuele_r @violo
La nostra esperienza
Web App
Cross device
Cross platform
Cross browser
Progetti > 12 mesi
Team dinamico
Competenze diverse:
(UX, UI, Front-End, Back-End, Analisti, PManager)
Clienti diversi:
(PA, Giuridico, Finanziario, Aziende Software)
Goal
Rispondere al cambiamento
Rispondere a esigenze diverse con massimo riuso -
Investimento e ROI - Riuso a diversi livelli
Supportare la dinamicità del team
Le new entry devono creare valore e diventare autonome in poco tempo - Devono
sentirsi sicure di non fare danni - Devono riutilizzare il più possibile cose già fatte
Manutenibile
A breve e lungo termine - Deve sopravvivere all’obsolescenza degli strumenti e
framework - Debito tecnico consapevole e condiviso - Codice comprensibile a tutti
Framework
Manutenibilità
GOAL
Dinamicità del team
OOCSS - Atomic Design - BEM
Risposta al cambiamento Manutenibilità
GOAL
Fixed Layout e Mediaquery
Risposta al cambiamento
GOAL
SVG assets con SVGmin e Grunticon
Risposta al cambiamento Manutenibilità
GOAL
App skin e theme.scss
Risposta al cambiamento Manutenibilità
GOAL
Styleguide, KSS e Palettable
Manutenibilità
GOAL
Dinamicità del team
CSS Lint, HTML Angular e Resemble js
Manutenibilità
GOAL
Organizzazione delle cartelle
Risposta al cambiamento Manutenibilità
GOAL
Dinamicità del team
Moduli COMMON :)
Manutenibilità
GOAL
Risposta al cambiamento
Moduli COMMON :(
Gestione delle dipendenze
Risposta al cambiamento Manutenibilità
GOAL
Dinamicità del team
Gestione delle dipendenze :(
One Click build
Risposta al cambiamento Manutenibilità
GOAL
Dinamicità del team
One Click build
Risposta al cambiamento Manutenibilità
GOAL
Dinamicità del team
1. GRUNT Gulp
2. UglifyJS/CSS
3. Preprocess
4. Template cache (grunt-angular-templates)
5. Convenzioni
Ogni applicazione ha il suo concetto di “BUILD”. Il consiglio
è quello di approcciare il problema in maniera incrementale.
One Click build
Risposta al cambiamento
GOAL
1. RequireJS
2. System.js + ES module
loader
Risposta al cambiamento Manutenibilità
GOAL
ES6 Now!
1. System.js
2. ES module loader
POJOs
Risposta al cambiamento
GOAL
TDD
Risposta al cambiamento Manutenibilità
GOAL
Dinamicità del team
1. KARMA
2. PhantomJS (attenzione!)
3. Grunt-watch
Test E2E
Risposta al cambiamento Manutenibilità
GOAL
Dinamicità del team
Test E2E
Risposta al cambiamento Manutenibilità
GOAL
Dinamicità del team
1. NgMockE2E
2. Ambiente stabile e/o riproducibile
3. protractor.addMockModule()
4. protractor.executeScript()
Test E2E :(
ESLINT + Js Style Guide
Manutenibilità
GOAL
Dinamicità del team
Se non hai tempo per scriverle rubale: https://github.
com/airbnb/javascript
Visual Smoke Testing
Risposta al cambiamento
GOAL
1. resemble.js
2. protractor.takeScreenshot()
Multipiattaforma SPINTO
Risposta al cambiamento Manutenibilità
GOAL
Dinamicità del team
Multipiattaforma SPINTO
1. Cordova (ngCordova)
2. Crosswalk
3. nwjs.io
4. Windows universal app
Proxy e Mock
Risposta al cambiamento Manutenibilità
GOAL
Dinamicità del team
Grazie!

Weitere ähnliche Inhalte

Was ist angesagt?

AngularJS: accessibility
AngularJS: accessibilityAngularJS: accessibility
AngularJS: accessibility
Vittorio Conte
 
AngularJS: server communication
AngularJS: server communicationAngularJS: server communication
AngularJS: server communication
Vittorio Conte
 
Zend Framework Workshop Parte1
Zend Framework Workshop Parte1Zend Framework Workshop Parte1
Zend Framework Workshop Parte1
massimiliano.wosz
 
Zend Framework Workshop Parte2
Zend Framework Workshop Parte2Zend Framework Workshop Parte2
Zend Framework Workshop Parte2
massimiliano.wosz
 
Alla scoperta di Zend Framework 1.8
Alla scoperta di Zend Framework 1.8Alla scoperta di Zend Framework 1.8
Alla scoperta di Zend Framework 1.8
massimiliano.wosz
 

Was ist angesagt? (20)

Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSWorkshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
 
Angular framework
Angular frameworkAngular framework
Angular framework
 
AngularJS: accessibility
AngularJS: accessibilityAngularJS: accessibility
AngularJS: accessibility
 
AngularJS: server communication
AngularJS: server communicationAngularJS: server communication
AngularJS: server communication
 
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un framework
 
Angular 4 - convertire o migrare un'applicazione Angularjs
Angular 4 -  convertire o migrare un'applicazione AngularjsAngular 4 -  convertire o migrare un'applicazione Angularjs
Angular 4 - convertire o migrare un'applicazione Angularjs
 
Corso angular js base
Corso angular js baseCorso angular js base
Corso angular js base
 
Zend Framework Workshop Parte1
Zend Framework Workshop Parte1Zend Framework Workshop Parte1
Zend Framework Workshop Parte1
 
Zend Framework Workshop Parte2
Zend Framework Workshop Parte2Zend Framework Workshop Parte2
Zend Framework Workshop Parte2
 
Applicazioni Web ultra-performanti con Vue.js e Delphi
Applicazioni Web ultra-performanti con Vue.js e DelphiApplicazioni Web ultra-performanti con Vue.js e Delphi
Applicazioni Web ultra-performanti con Vue.js e Delphi
 
Il Web orientato al futuro: Express, Angular e nodeJS
Il Web orientato al futuro: Express, Angular e nodeJS Il Web orientato al futuro: Express, Angular e nodeJS
Il Web orientato al futuro: Express, Angular e nodeJS
 
Presentazione tirocinio
Presentazione tirocinio Presentazione tirocinio
Presentazione tirocinio
 
Migliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsMigliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.js
 
Corso angular js componenti
Corso angular js componentiCorso angular js componenti
Corso angular js componenti
 
Alla scoperta di Zend Framework 1.8
Alla scoperta di Zend Framework 1.8Alla scoperta di Zend Framework 1.8
Alla scoperta di Zend Framework 1.8
 
Knockout.js
Knockout.jsKnockout.js
Knockout.js
 
Introduzioni ai services in Angular 4 e ad RxJS
Introduzioni ai services in Angular 4 e ad RxJSIntroduzioni ai services in Angular 4 e ad RxJS
Introduzioni ai services in Angular 4 e ad RxJS
 
Introduzione ai componenti in Angular 4
Introduzione ai componenti in Angular 4Introduzione ai componenti in Angular 4
Introduzione ai componenti in Angular 4
 
Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010
 
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, PiacenzaSviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
 

Ähnlich wie ModulAngular

Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Essere project manager senza rinunciare all'agilità integrata - Fabio SavarinoEssere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
PMexpo
 
Responsive Web Design: 7 Problemi da Evitare – 6^ parte
Responsive Web Design: 7 Problemi da Evitare – 6^ parteResponsive Web Design: 7 Problemi da Evitare – 6^ parte
Responsive Web Design: 7 Problemi da Evitare – 6^ parte
FormazioneTurismo
 
follow-ap DAY 4: HTML5 e jQuery
follow-ap DAY 4: HTML5 e jQueryfollow-ap DAY 4: HTML5 e jQuery
follow-ap DAY 4: HTML5 e jQuery
QIRIS
 
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
Simone Onofri
 

Ähnlich wie ModulAngular (20)

Agile@scale - Agile Day 2013
Agile@scale - Agile Day 2013Agile@scale - Agile Day 2013
Agile@scale - Agile Day 2013
 
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
Open Innovation Campus - 05/04/2018 - Agile challenges: essere agili nello sv...
 
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniserviziLe 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
 
AgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliAgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agili
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
 
Il tuo team "agile" scrive codice "flaccido"? Forse scrum non basta
Il tuo team "agile" scrive codice "flaccido"? Forse scrum non bastaIl tuo team "agile" scrive codice "flaccido"? Forse scrum non basta
Il tuo team "agile" scrive codice "flaccido"? Forse scrum non basta
 
Java o non java
Java o non javaJava o non java
Java o non java
 
Come rilasciare App di Qualità
Come rilasciare App di QualitàCome rilasciare App di Qualità
Come rilasciare App di Qualità
 
Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Essere project manager senza rinunciare all'agilità integrata - Fabio SavarinoEssere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
 
Abilitare le organizzazioni e le persone ad adottare con successo il Cloud
Abilitare le organizzazioni e le persone ad adottare con successo il CloudAbilitare le organizzazioni e le persone ad adottare con successo il Cloud
Abilitare le organizzazioni e le persone ad adottare con successo il Cloud
 
Responsive Web Design: 7 Problemi da Evitare – 6^ parte
Responsive Web Design: 7 Problemi da Evitare – 6^ parteResponsive Web Design: 7 Problemi da Evitare – 6^ parte
Responsive Web Design: 7 Problemi da Evitare – 6^ parte
 
Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011
 
follow-ap DAY 4: HTML5 e jQuery
follow-ap DAY 4: HTML5 e jQueryfollow-ap DAY 4: HTML5 e jQuery
follow-ap DAY 4: HTML5 e jQuery
 
Slide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfSlide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdf
 
Sviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUMSviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUM
 
Rich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsRich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.js
 
Semplicemente Agile
Semplicemente AgileSemplicemente Agile
Semplicemente Agile
 
Agile Project Framework
Agile Project FrameworkAgile Project Framework
Agile Project Framework
 
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
 
MEAN: il nuovo stack di sviluppo per il futuro del web
MEAN: il nuovo stack di sviluppo per il futuro del webMEAN: il nuovo stack di sviluppo per il futuro del web
MEAN: il nuovo stack di sviluppo per il futuro del web
 

Mehr von extrategy

Usare i Design System - Un approccio Frameworkless per la tua Web Application
Usare i Design System - Un approccio Frameworkless per la tua Web ApplicationUsare i Design System - Un approccio Frameworkless per la tua Web Application
Usare i Design System - Un approccio Frameworkless per la tua Web Application
extrategy
 
L’arte di massimizzare la quantità di lavoro non svolto
L’arte di massimizzare la quantità di lavoro non svoltoL’arte di massimizzare la quantità di lavoro non svolto
L’arte di massimizzare la quantità di lavoro non svolto
extrategy
 

Mehr von extrategy (20)

Un approccio Frameworkless per sviluppare la tua Single Page Application
Un approccio Frameworkless per sviluppare la tua Single Page ApplicationUn approccio Frameworkless per sviluppare la tua Single Page Application
Un approccio Frameworkless per sviluppare la tua Single Page Application
 
L'arte di massimizzare la quantità di lavoro non svolto
L'arte di massimizzare la quantità di lavoro non svoltoL'arte di massimizzare la quantità di lavoro non svolto
L'arte di massimizzare la quantità di lavoro non svolto
 
Adaptive planning
Adaptive planningAdaptive planning
Adaptive planning
 
Usare i Design System - Un approccio Frameworkless per la tua Web Application
Usare i Design System - Un approccio Frameworkless per la tua Web ApplicationUsare i Design System - Un approccio Frameworkless per la tua Web Application
Usare i Design System - Un approccio Frameworkless per la tua Web Application
 
Il Pair Coaching come evoluzione professionale e personale
Il Pair Coaching come evoluzione professionale e personaleIl Pair Coaching come evoluzione professionale e personale
Il Pair Coaching come evoluzione professionale e personale
 
L’arte di massimizzare la quantità di lavoro non svolto
L’arte di massimizzare la quantità di lavoro non svoltoL’arte di massimizzare la quantità di lavoro non svolto
L’arte di massimizzare la quantità di lavoro non svolto
 
CSS day 2018 - Layout Saga in the web application era
CSS day 2018 - Layout Saga in the web application eraCSS day 2018 - Layout Saga in the web application era
CSS day 2018 - Layout Saga in the web application era
 
Learning over Delivery: il business e l'innovazione ai tempi della complessità
Learning over Delivery: il business e l'innovazione ai tempi della complessitàLearning over Delivery: il business e l'innovazione ai tempi della complessità
Learning over Delivery: il business e l'innovazione ai tempi della complessità
 
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
 
IAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
IAD17 Il collante strategico durante lo sviluppo: Continuous DiscoveryIAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
IAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
 
Real time project portfolio management
Real time project portfolio managementReal time project portfolio management
Real time project portfolio management
 
Dalle Styleguide alla Pattern Libraries: cosa serve e quando
Dalle Styleguide alla Pattern Libraries: cosa serve e quandoDalle Styleguide alla Pattern Libraries: cosa serve e quando
Dalle Styleguide alla Pattern Libraries: cosa serve e quando
 
Web design patterns nell'era della digital transformation
Web design patterns nell'era della digital transformationWeb design patterns nell'era della digital transformation
Web design patterns nell'era della digital transformation
 
visione e immaginazione: dove vogliamo portare le nostre aziende domani?
visione e immaginazione: dove vogliamo portare le nostre aziende domani?visione e immaginazione: dove vogliamo portare le nostre aziende domani?
visione e immaginazione: dove vogliamo portare le nostre aziende domani?
 
Real time strategy for you
Real time strategy for youReal time strategy for you
Real time strategy for you
 
come il front-end automation aiuta tutto il team
come il front-end automation aiuta tutto il teamcome il front-end automation aiuta tutto il team
come il front-end automation aiuta tutto il team
 
Inclusiveness, openness, leanness: dove voglio portare l’azienda?
Inclusiveness, openness, leanness: dove voglio portare l’azienda? Inclusiveness, openness, leanness: dove voglio portare l’azienda?
Inclusiveness, openness, leanness: dove voglio portare l’azienda?
 
Innovazione. ovvero, le imprese non sono più quelle di una volta.
Innovazione. ovvero, le imprese non sono più quelle di una volta.Innovazione. ovvero, le imprese non sono più quelle di una volta.
Innovazione. ovvero, le imprese non sono più quelle di una volta.
 
Co-creare una strategia con Lego Serious Play
Co-creare una strategia con Lego Serious PlayCo-creare una strategia con Lego Serious Play
Co-creare una strategia con Lego Serious Play
 
Condividere obiettivi e prendere decisioni con Lego Serious Play
Condividere obiettivi e prendere decisioni con Lego Serious PlayCondividere obiettivi e prendere decisioni con Lego Serious Play
Condividere obiettivi e prendere decisioni con Lego Serious Play
 

ModulAngular