SlideShare a Scribd company logo
Ideare e creare Web Applications
Introduzione ad AngularJS
prima giornata
Chi siamo?
Andrea Milloch
Giovanni Buffa
Cos’è una Web Application?
Il Web è una Repubblica basata sulle App.
Applicativo software, spesso mono-tasking, il quale viene distribuito da un
server remoto ed eseguito via Internet su un Browser.
1. Accesso ai miei dati ovunque.
2. Utilizzo dell’ultima versione disponibile.
3. Funziona su qualsiasi dispositivo munito di browser.
4. Maggiore sicurezza locale.
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Cos’è AngularJS?
Superheroic JavaScript MVW Framework
Come approcciarsi ad un
progetto software?
Metodologie progettuali
Lean UX
1. Design Thinking
2. Agile Software Development
3. Lean Manufacturing
Design Thinking
Processo creativo human-centered, incentrato sui bisogni e sulle
soluzioni che vengono ideate per la persona.
È l’utente a decretare se un prodotto debba esistere o meno.
– Herbert Simon, economista e psicologo
“Non ci sono giudizi. Questo fa si che venga eliminata la paura di fallire
aumentando gli input e la partecipazione. Le idee spontanee sono le
benvenute, perché sono quelle che portano alle soluzioni più creative.”.
– Tim Brown, founder IDEO
“Il design thinking è il pilastro su cui basare la propria progettazione. È il
tentativo di compiere una rivoluzione ideativa, di non cercare più di fare
oggetti belli, utili e proficui, ma è qualcosa di molto più grande: è il
costruire attorno ad un oggetto un suo significato e una sua storia.
Dare un perché ad ogni oggetto creato”.
Chiunque è un designer, e il design thinking è un modo per applicare
le metodologie del design alla vita di tutti i giorni.
Agile Software Development
Stiamo scoprendo modi migliori di creare software, sviluppandolo e
aiutando gli altri a fare lo stesso.
Grazie a questa attività siamo arrivati a considerare importanti:
1. Gli individui e le interazioni più che i processi e gli strumenti
2. Il software funzionante più che la documentazione esaustiva
3. La collaborazione col cliente più che la negoziazione dei contratti
4. Rispondere al cambiamento più che seguire un piano
Ovvero, fermo restando il valore delle voci a destra, consideriamo più
importanti le voci a sinistra.
Lean Manufacturing
Filosofia imprenditoriale che mira alla riduzione progressiva degli
sprechi, fino al loro completo annullamento.
1. Seiri: separa ciò che ti serve da ciò che non è funzionale all'attività e quindi
crea disturbo e disordine, quindi spreco di tempo o di risorse - scartare.
2. Seiton: metti a posto tutto quello che è utile - "ogni cosa al suo posto e un
posto per ogni cosa" - sistema.
3. Seiso: tieni tale ordine costante e pulisci, un ambiente pulito ed ordinato è
un ambiente che "non nasconde" le inefficienze - pulisci.
4. Seiketsu: definisci delle metodologie ripetitive e canonizzate da utilizzare
per continuare queste attività di razionalizzazione delle risorse e degli spazi
lavorativi - standardizza.
5. Shitsuke: fai che questo modo di pensare ed agire sia pervasivo per tutte le
attività - diffondi.
IDEAS
PRODUCTDATA
BUILD
MEASURE
LEARN
Ed ora tocca a voi!
Definizione del problema
e dei suoi vincoli
Generazione individuale
di idee
Presentazioni e critiche
Ricomincia e perfeziona
Generazione collettiva
delle idee
Come continua il processo?
Creazione di un MVP ed esperimenti
Se vuoi massimizzare l’apprendimento:
1. Sii chiaro e conciso
2. Datti delle priorità
3. Rimani agile
4. Misura i cambiamenti
Se vuoi massimizzare il valore da trasmattere ai tuoi clienti:
1. Sii funzionale
2. Integrati con le statistiche attuali
3. Sii coerente con il resto dell’applicazione
Prototipi
Bassa fedeltà:
• Carta e penna
• Wireframe cliccabili
Media ed alta fedeltà:
• Software di prototipazione
• Coded prototypes
Feedback e Ricerche
• Collaborative discovery
• Continuos discovery
• Testing
• Meetup
Grazie a tutti!
Ci vediamo domani!
Ideare e creare Web Applications
Introduzione ad AngularJS
seconda giornata
Strumenti utili
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Tutti gli esempi possono essere scaricati da:
https://github.com/gioppy/workshop-angularjs-2015
Cos’è AngularJS?
Superheroic JavaScript MVW Framework
– Wikipedia
“AngularJS è un framework per applicazioni web open-source gestito da
Google e da una comunità di singoli sviluppatori e aziende, per affrontare
molte delle sfide incontrate nello sviluppo di Single Page Applications.
È mirato a semplificare lo sviluppo e la sperimentazione di tali applicazioni,
fornendo un framework basato sul design pattern MVC, assieme a
componenti comunemente utilizzati nelle Rich Internet Applications”.
Design Patterns &
Pattern MVC
VIEW CONTROLLER
USER
MODEL
VEDE
U
SA
AGGIORNA MANIPOLA
Imperativo
VS
Dichiarativo
Directives
Funzioni che agiscono sugli elementi del DOM e ne aggiungono funzionalità.
Compile
Viene attraversato il DOM e vengono collezionate tutte le directives.
Il risultato è una funzione di collegamento.
Link
Le directives vengono combinate con uno scope e inserite nella UI.
Built-in Directives
ngApp ngBind ngBindHtml ngBindTemplate ngBlur ngChange
ngChecked ngClass ngClassEven ngClassOdd ngClick ngCloak
ngController ngCopy ngCsp ngCut ngDblclick ngDisabled ngFocus
ngForm ngHide ngHref ngIf ngInclude ngInit ngKeydown ngKeypress
ngKeyup ngList ngModel ngMousedown ngMouseenter ngMouseleave
ngMousemove ngMouseover ngMouseup ngNonBindable ngOpen
ngPaste ngPluralize ngReadonly ngRepeat ngSelected ngShow ngSrc
ngSrcset ngStyle ngSubmit ngSwitch ngTransclude ngValue
Expressions
Template binding dalle nostre directives.
Possono essere inserite ovunque, anche all’interno degli attributi HTML.
Le expressions possono essere formattate/filtrate grazie ai Filters.
Data Bindings
Aggiornare la View alle modifiche del Data Model.
One-Time data binding
<p>{{::name}}</p>
Model
View
Two-Time data binding
Model
View
<p>{{name}}</p>
Three-Time data binding
Model
View
Server
Modules
Collezione di oggetti che definiscono il set di funzionalità della nostra App.
Scopes
Il collante tra la logica e la UI.
Esiste uno scope globale - $rootScope - al cui interno
vengono creati degli scope per ogni componente - $scope.
Ogni scope può accedere sia al proprio genitore che ai propri figli.
Esiste un caso in cui lo scope può essere isolato - isolated scope.
function MyCtrl($scope){
$scope.action = function(){//do something};
$scope.name = 'Name';
}
{
name: 'Name',
action: function
}
<p>{{name}}</p>
<button ng-click="action">Do Something</button>
Dependency Injection
Come gli oggetti devono accedere alle dipendenze di cui hanno bisogno
per poter funzionare.
– The Pico Container
“È il modo in cui vengono date le dipendenze ai componenti attraverso
costruttori, metodi o direttamente all’interno dei campi”.
Non puoi usare questo
senza quello!
Controllers
Definiscono le funzionalità per un singolo aspetto della nostra App.
Services
Oggetti singleton che svolgono compiti comuni a più aree della nostra App.
https://www.firebase.com/
1. Database in realtime
2. Autenticazione utente
3. Hosting
Demo
…e se tutto ciò non vi
bastasse…
http://ionicframework.com/
Grazie a tutti!
Ci sono domande?
© 2015 - Giovanni Buffa & Andrea Milloch

More Related Content

PPTX
AngularJS 2.0
PPTX
AngularJS: accessibility
PDF
AngularJS-Intro
PDF
Angularjs
PDF
ModulAngular
PPTX
Angular js: routing
PPTX
AngularJS – Reinventare le applicazioni web
PPTX
CommitUniversity AngularJSAdvanced Andrea Vallotti
AngularJS 2.0
AngularJS: accessibility
AngularJS-Intro
Angularjs
ModulAngular
Angular js: routing
AngularJS – Reinventare le applicazioni web
CommitUniversity AngularJSAdvanced Andrea Vallotti

What's hot (20)

PDF
Workshop angular
PPTX
Migliora il tuo codice con knockout.js
PPTX
AngularJS: server communication
PPTX
Slide typescript - net campus
PPTX
Asp.net 4 Community Tour VS2010
PDF
Applicazioni Web ultra-performanti con Vue.js e Delphi
PDF
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
PDF
Angular js o React? Spunti e idee per la scelta di un framework
PDF
Blazor: are we ready for the launch?
PDF
Training Signal Webtrends
PDF
ReactJS for beginners
PPTX
Asp.Net MVC 5
ODP
Corso angular js componenti
PPTX
Integrazione con Visual Studio Online
PPTX
Introduction to C#
PDF
Il Web orientato al futuro: Express, Angular e nodeJS
ODP
Corso angular js base
PDF
ASP.NET Core - dove siamo arrivati
PPSX
Asp.Net MVC 3 - Il Model View Controller secondo Microsoft
PPTX
Angular framework
Workshop angular
Migliora il tuo codice con knockout.js
AngularJS: server communication
Slide typescript - net campus
Asp.net 4 Community Tour VS2010
Applicazioni Web ultra-performanti con Vue.js e Delphi
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Angular js o React? Spunti e idee per la scelta di un framework
Blazor: are we ready for the launch?
Training Signal Webtrends
ReactJS for beginners
Asp.Net MVC 5
Corso angular js componenti
Integrazione con Visual Studio Online
Introduction to C#
Il Web orientato al futuro: Express, Angular e nodeJS
Corso angular js base
ASP.NET Core - dove siamo arrivati
Asp.Net MVC 3 - Il Model View Controller secondo Microsoft
Angular framework
Ad

Viewers also liked (20)

PPT
Capitolo12
PDF
Chiariamoci le idee
PPTX
White Paper - Decision Making
PDF
Laboratorio_sulle_DECISIONI_IN_SITUAZIONI_COMPLESSE_O_CONFLITTUALI
PDF
Decision Making
PDF
Town Hall Meeting September 2010v2
PPT
Percorso incrementale di un gruppo
PDF
Forum ABIlab 2013: Imola Informatica
PDF
Collaborare con successo
PDF
Elevare le performance
PPSX
PDF
Condividere obiettivi e prendere decisioni con Lego Serious Play
PDF
Team build work
PDF
Negoziazione win win
PPTX
Benefits of developing single page web applications using angular js
PPTX
Stress negoziazione- gestione conflitti
PPTX
Team working - Costruire i rapporti per lavorare bene assieme
PDF
Dispensa problem solving 2010
PDF
Team coaching e la gestione efficace di un team
PPT
La gestione del team work
Capitolo12
Chiariamoci le idee
White Paper - Decision Making
Laboratorio_sulle_DECISIONI_IN_SITUAZIONI_COMPLESSE_O_CONFLITTUALI
Decision Making
Town Hall Meeting September 2010v2
Percorso incrementale di un gruppo
Forum ABIlab 2013: Imola Informatica
Collaborare con successo
Elevare le performance
Condividere obiettivi e prendere decisioni con Lego Serious Play
Team build work
Negoziazione win win
Benefits of developing single page web applications using angular js
Stress negoziazione- gestione conflitti
Team working - Costruire i rapporti per lavorare bene assieme
Dispensa problem solving 2010
Team coaching e la gestione efficace di un team
La gestione del team work
Ad

Similar to Workshop Ideare e creare Web Applications, Introduzione ad AngularJS (20)

PDF
Netspin Lab soluzioni per le aziende
PDF
LinkMe Brochure late2016
PDF
DevOps - Come diventare un buon DevOpper
PDF
Usare i Design System - Un approccio Frameworkless per la tua Web Application
PDF
Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
PDF
Progettazione di Cartella Clinica Informatizzata
PPTX
Introduzione alla Metodologia Scrumban
PDF
Agile e Lean in sintesi
PDF
Come rilasciare App di Qualità
PDF
HCI -> Human Computer Interaction
PPTX
DevOps: l'IT al servizio del Business
PDF
Corso progettazione
PDF
Agile Lean Conference 2016 - Pescatore_ Road to Disciplined DevOps
PPTX
Disciplined Agile DevOps
PDF
Usabilità e User Experience Design: #2 Test e Monitoraggio
PDF
Web Usability - 2 | WebMaster & WebDesigner
PDF
Agile Lean Conference 2016 - Barengo _I principi del lean software development
PDF
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
PPTX
Enterprise Microblog per il Project Management
PPS
Synistema e Le Reti Sociali
Netspin Lab soluzioni per le aziende
LinkMe Brochure late2016
DevOps - Come diventare un buon DevOpper
Usare i Design System - Un approccio Frameworkless per la tua Web Application
Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Progettazione di Cartella Clinica Informatizzata
Introduzione alla Metodologia Scrumban
Agile e Lean in sintesi
Come rilasciare App di Qualità
HCI -> Human Computer Interaction
DevOps: l'IT al servizio del Business
Corso progettazione
Agile Lean Conference 2016 - Pescatore_ Road to Disciplined DevOps
Disciplined Agile DevOps
Usabilità e User Experience Design: #2 Test e Monitoraggio
Web Usability - 2 | WebMaster & WebDesigner
Agile Lean Conference 2016 - Barengo _I principi del lean software development
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Enterprise Microblog per il Project Management
Synistema e Le Reti Sociali

More from Giovanni Buffa (20)

PDF
Introduzioni ai services in Angular 4 e ad RxJS
PDF
Introduzione ai componenti in Angular 4
PDF
Introduzione ad Angular CLI
PDF
Introduzione ad ECMAScript 6 (ES6) e TypeScript
PDF
15 concetti importanti su javascript
PDF
Angular 4 - convertire o migrare un'applicazione Angularjs
PDF
Introduzione a Drupal - Versione Italiana
PDF
Laboratorio di Web Design 2015/16 - Introduzione al corso
PDF
Introduzione a JavaScript
PDF
Introduzione a GIT - Laboratorio di Web Design 2014/15
PDF
Developing for Performances - Laboratorio di Web Design 2014/15
PDF
Responsive Web Design & Mobile
PDF
The CSS Survival Manual - Giovanni Buffa (2014)
PDF
Introduzione al Theme Engin di Drupal 7
PDF
Introduzione a Drupal 7 Entity
PDF
SEO - Laboratorio di Web Design 2014/15
PDF
Introduzione a SASS - Laboratorio di Web Design 2014/15
PDF
Introduzione a Drupal
PDF
CSS - Box Model
PDF
Laboratorio di Web Design Base - 2014/15 - HTML/5
Introduzioni ai services in Angular 4 e ad RxJS
Introduzione ai componenti in Angular 4
Introduzione ad Angular CLI
Introduzione ad ECMAScript 6 (ES6) e TypeScript
15 concetti importanti su javascript
Angular 4 - convertire o migrare un'applicazione Angularjs
Introduzione a Drupal - Versione Italiana
Laboratorio di Web Design 2015/16 - Introduzione al corso
Introduzione a JavaScript
Introduzione a GIT - Laboratorio di Web Design 2014/15
Developing for Performances - Laboratorio di Web Design 2014/15
Responsive Web Design & Mobile
The CSS Survival Manual - Giovanni Buffa (2014)
Introduzione al Theme Engin di Drupal 7
Introduzione a Drupal 7 Entity
SEO - Laboratorio di Web Design 2014/15
Introduzione a SASS - Laboratorio di Web Design 2014/15
Introduzione a Drupal
CSS - Box Model
Laboratorio di Web Design Base - 2014/15 - HTML/5

Workshop Ideare e creare Web Applications, Introduzione ad AngularJS