SlideShare a Scribd company logo
1 of 89
Developing for
PERFOMANCES
– Tim Kadlec , Holistic Performance
“Performance is not just a developmental
concern, it’s a fundamental component of the
user experience”.
126kb
1.249kb
60kb
303kb
56kb
html js css image other
Peso medio di una pagina
http://httparchive.org/interesting.php?a=All&l=Apr%201%202015
1.794mb
per pagina
1.75 miliardi
utenti smartphone
http://www.emarketer.com/Article/Smartphone-Users-Worldwide-Will-Total-175-Billion-2014/1010536
%ditraffico
Asse delle categorie
2010-032010-062010-092010-122011-032011-062011-092011-122012-032012-062012-092012-122013-032013-062013-092013-122014-032014-062014-092014-122015-03
Desktop Mobile
http://gs.statcounter.com/#desktop+mobile-comparison-ww-monthly-201003-201503
Trend di traffico
Critical Path
Client
DNS Host
Client
DNS Host
Elementi bloccanti
1. Richiediamo un pagina;
2. Una volta ricevuto l’HTML, il browser fa il
parsing del documento proceduralmente,
ponendo attenzione ai file esterni, e
convertendo l’HTML nella classica struttura ad
albero (DOM);
3. Quando il DOM è completo, JavaScript può
manipolare gli elementi, e gli stili CSS
vengono applicati all’intera pagina.
CSS e JS bloccano la
pagina dalla visualizzazione
Ogni volta che il browser trova un CSS mette
in pausa la renderizzazione del DOM per far
caricare gli stili.
Tuttavia, questo è un comportamento
positivo (previene il FOUC1).
1 Flash Of Unstyled Content
Ogni volta che viene trovato un JS, il
browser non mostra all’utente la pagina fino
a che tutti i metodi dello script non vengono
eseguiti.
document.write
Elementi non bloccanti
Tutti gli elementi che non
mettono il browser in standby e
che vengono caricati in parallelo
Azioni da fare
Compressione
Aggregazione
Minificazione
Ottimizzazione
Immagini
Ottimizza le immagini.
Photoshop: Salva per il Web;
Imagemin (Mac OS, Win, Linux);
ImageOptim (Mac OS);
JPEGmini (Mac OS, Win);
ImageAlpha (Mac OS).
TinyJPG;
TinyPNG;
ZeroSprites;
dimens.io;
kraken.io.
Ottimizza le immagini.
css-sprite (CLI, Grunt, Gulp);
glue (CLI, Grunt);
imagemin (CLI, Grunt, Gulp);
jpegoptim (CLI);
sprite-generator (Grunt, Gulp);
spritesmith (CLI, Grunt, Gulp);
Ottimizza le immagini.
kraken (php);
lazyload (JS);
lazysizes (JS);
Picturefill (Polyfill).
Ottimizza il caricamento delle immagini.
Ottimizza il caricamento delle immagini.
<picture>
Ricorda che <picture> non è ancora standard e che devi utilizzare un Polyfill per poterlo usare.
Valuta bene progetto per progetto!
tmi (CLI)
Analizza le immagini.
SVG
Ottimizza gli SVG.
SVGO (Mac OS, Win, CLI, Grunt, Gulp, Illustrator, Online);
SVG Editor.
Utilizza gli Sprite SVG.
Fontastic;
Grunticon (Grunt, Gulp);
svg-sprite (Grunt, Gulp).
CSS
Ottimizza il CSS.
- #id + .class
catene minime
colori sensati
pre-processori aiutano!
Analizza il CSS.
analyze-css (CLI, Grunt);
check-unused-css (Gulp);
grunt-css-metrics (Grunt);
CSSStats (CLI, Grunt, Gulp,
Online);
CSSCSS (Gem, Grunt, Gulp);
CSS Dig (Chrome Ext);
Parker (CLI, Gulp);
penthouse (CLI, Grunt, Online);
speedreport (CLI);
StyleStats (CLI, Grunt, Gulp,
Online);
Yellow Lab Tools (CLI, Online).
Aggrega i CSS.
unisci più CSS assieme
Poni attenzione ad above-the-fold.
critical (CLI, Grunt);
CriticalCSS (CLI, Grunt);
penthouse (CLI, Grunt, Online).
Comprimi il CSS.
Pre-processori;
CSSShrink (CLI, Grunt, Gulp, Online);
Servi i CSS compressi (.gzip).
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/javascript
</IfModule>
utilizza la cache per i CSS
considera anche la cache
offline offerta da HTML51
1 AppCache, localStorage, ecc
JavaScript
Ottimizza i JS.
scrivi il codice in modo
responsabile!
Analizza i JS.
fai il debug del codice
http://perf-tooling.today/tools?q=javascript
Aggrega i JS.
unisci più JS assieme
inserisci gli script prima della
chiusura di <body> e solo se
necessario in <head>
Inserisci JS nel punto giusto.
Comprimi i JS.
http://perf-tooling.today/tools?q=javascript
Servi i JS compressi (.gzip).
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/javascript
</IfModule>
utilizza la cache per i JS
considera anche la cache
offline offerta da HTML51
1 AppCache, localStorage, ecc
Fonts
Ottimizza i fonts.
usa i formati più leggeri e
necessari (.woff, .eot)
Ottimizza il caricamenti dei fonts.
meglio il FOUT1
rimuovi il FOIT2
1 Flash Of Unstyled Text
2 Flash Of Invisible Text
Comprimi i Fonts.
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/x-font-otf application/font-woff
</IfModule>
HTML
Ottimizza HTML.
scrivi il codice in modo
responsabile e con meno
nodi possibile!
Comprimi HTML.
dove possibile, togli spazi e
interruzioni per ridurre il peso
del file
Comprimi HTML.
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/javascript
</IfModule>
Analizza
monitora costantemente
il tuo sito
PageSpeed Insights
https://developers.google.com/speed/pagespeed/insights/?hl=it
WebPagetest
http://www.webpagetest.org/
Grunt-PerfBudget
https://www.npmjs.com/package/grunt-perfbudget
Demo
• Hosting condiviso;
• Uso di <picture>;
• HTML non compresso;
• Caricamento non ottimizzato dei CSS (no compressione, no
aggregazione);
• Caricamento non ottimizzato dei JS (no compressione, no
aggregazione);
• Immagini originali ottimizzate (con ritaglio non ottimizzato);
• Chaching base del server e del CMS disabilitato;
Load Time First Byte Start Render Speed Index
DOM
Elements
First View 2.709s 1.174s 1.792s 2002 160
Repeat View 1.555s 0.630s 1.291s 1302 160
Summary
Time Requests Bytes In
First View 2.709s 26 561 KB
Repeat View 1.555s 2 9 KB
Document complete
Time Requests Bytes In
First View 2.928s 27 563 KB
Repeat View 1.555s 2 9 KB
Fully loaded
Progress
Visualprogress(%)
0
25
50
75
100
Time (seconds)
0.0 1.7 1.8 1.9 2.0 2.7 2.8
Timings
Assedeivalori
0
750
1500
2250
3000
Visually
C
om
plete
Load
Tim
e
(onload)
Load
Tim
e
(Fully
Loaded)
D
O
M
C
ontentLoadedTim
e
to
FirstByte
1.174
1.796
2.928
2.7092.800
Requests
Assedeivalori
0
7,5
15
22,5
30
Total
H
TM
L
js
C
SS
im
age
font
6
44
12
1
27
Bytes
Assedeivalori
0
150000
300000
450000
600000
Total
H
TM
L
js
C
SS
im
age
font
394.901
92.4477.24772.7648.774
576.133
Requests
First view
6
4
4
12
1
html js css
image font
Repeat view
1 1
html image
Bytes
First view
394901
92447
7247
72764
8774
html js css
image font
Repeat view
440
8773
html image
Connection view (First view)
Connection view (Repeat view)
• Hosting condiviso;
• Uso di <picture>;
• HTML compresso;
• Caricamento ottimizzato dei CSS (compressione,
aggregazione, asincrono);
• Caricamento ottimizzato dei JS (compressione,
aggregazione);
• Immagini originali ottimizzate (con ritaglio non ottimizzato);
• Chaching base del server e del CMS abilitato;
Load Time First Byte Start Render Speed Index
DOM
Elements
First View 2.036s 0.544s 1.186s 1847 150
Repeat View 0.767s 0.167s 0.695s 702 150
Summary
Time Requests Bytes In
First View 2.036s 17 556 KB
Repeat View 0.767s 2 9 KB
Document complete
Time Requests Bytes In
First View 2.165s 18 557 KB
Repeat View 0.767s 2 9 KB
Fully loaded
Progress
Visualprogress(%)
0
25
50
75
100
Time (seconds)
0.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3
Timings
Assedeivalori
0
600
1200
1800
2400
Visually
C
om
plete
Load
Tim
e
(onload)
Load
Tim
e
(Fully
Loaded)
D
O
M
C
ontentLoadedTim
e
to
FirstByte
544
935
2.165
2.036
2.300
Requests
Assedeivalori
0
4,5
9
13,5
18
Total
H
TM
L
js
C
SS
im
age
font
6
4
2
5
1
18
Bytes
Assedeivalori
0
150000
300000
450000
600000
Total
H
TM
L
js
C
SS
im
age
font
394.738
92.3685.14668.9578.819
570.027
Requests
First view
6
4
2
5
1
html js css
image font
Repeat view
1 1
html image
Bytes
First view
394738
92368
5146
68957
8819
html js css
image font
Repeat view
440
8819
html image
Connection view (First view)
Connection view (Repeat view)
Compariamo le statistiche
Non ottimizzato
Load Time First Byte Start Render Speed Index
DOM
Elements
First View 2.709s 1.174s 1.792s 2002 160
Summary
Ottimizzato
Load Time First Byte Start Render Speed Index
DOM
Elements
First View 2.036s 0.544s 1.186s 1847 150
Progress
Visualprogress(%)
0
25
50
75
100
Time (seconds)
0.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.5 2.6 2.8
Timings
Assedeivalori
0
750
1500
2250
3000
Visually
C
om
plete
Load
Tim
e
(onload)
Load
Tim
e
(Fully
Loaded)
D
O
M
C
ontentLoadedTim
e
to
FirstByte
544
935
2.1652.036
2.300
1.174
1.796
2.928
2.7092.800
Requests
Assedeivalori
0
7,5
15
22,5
30
Total
H
TM
L
js
C
SS
im
age
font
6
4251
18
6
44
12
1
27
Bytes
0
150000
300000
450000
600000
Total
H
TM
L
js
C
SS
im
age
font
Connection view (First view)
Connection view (Repeat view)
2015 Giovanni Buffa - CC by-nd 3.0
Fonte: Responsible Responsive Design
• http://abookapart.com/products/responsible-responsive-
design

More Related Content

Viewers also liked

Google Chrome Developer Tools
Google Chrome Developer ToolsGoogle Chrome Developer Tools
Google Chrome Developer Toolstbmallf2e
 
Google Chrome DevTools features overview
Google Chrome DevTools features overviewGoogle Chrome DevTools features overview
Google Chrome DevTools features overviewOleksii Prohonnyi
 
Google Chrome developer tools
Google Chrome developer toolsGoogle Chrome developer tools
Google Chrome developer toolsDaniel Siepmann
 
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web App
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web AppTech Webinar: Come ottimizzare il workflow nello sviluppo di Web App
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web AppCodemotion
 
Responsive Web Design & Mobile
Responsive Web Design & MobileResponsive Web Design & Mobile
Responsive Web Design & MobileGiovanni Buffa
 

Viewers also liked (6)

CSS - Box Model
CSS - Box ModelCSS - Box Model
CSS - Box Model
 
Google Chrome Developer Tools
Google Chrome Developer ToolsGoogle Chrome Developer Tools
Google Chrome Developer Tools
 
Google Chrome DevTools features overview
Google Chrome DevTools features overviewGoogle Chrome DevTools features overview
Google Chrome DevTools features overview
 
Google Chrome developer tools
Google Chrome developer toolsGoogle Chrome developer tools
Google Chrome developer tools
 
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web App
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web AppTech Webinar: Come ottimizzare il workflow nello sviluppo di Web App
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web App
 
Responsive Web Design & Mobile
Responsive Web Design & MobileResponsive Web Design & Mobile
Responsive Web Design & Mobile
 

Similar to Developing for Performances - Laboratorio di Web Design 2014/15

Webperformance, come ottimizzare il tempo di caricamento di una pagina web!
Webperformance, come ottimizzare il tempo di caricamento di una pagina web!Webperformance, come ottimizzare il tempo di caricamento di una pagina web!
Webperformance, come ottimizzare il tempo di caricamento di una pagina web!Stefano Marchisio
 
Come sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTMLCome sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTMLSinergia Totale
 
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeomarcocasario
 
GWT vs CSS3
GWT vs CSS3GWT vs CSS3
GWT vs CSS3GWTcon
 
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Pietro Polsinelli
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS DevicesAndrea Picchi
 
Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018
Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018
Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018Giovanni Sacheli
 
OCA: da Oggi Contribuisco Anch'io!
OCA: da Oggi Contribuisco Anch'io!OCA: da Oggi Contribuisco Anch'io!
OCA: da Oggi Contribuisco Anch'io!Alex Comba
 
Spring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis WebSpring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis WebMassimiliano Dessì
 
Web Performance Optimization
Web Performance OptimizationWeb Performance Optimization
Web Performance OptimizationAlessandro Martin
 
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue jsGianfranco Castro
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS BuildGian Maria Ricci
 
Sviluppo e deployment cross-platform: Dal mobile alla Tv
Sviluppo e deployment cross-platform: Dal mobile alla Tv Sviluppo e deployment cross-platform: Dal mobile alla Tv
Sviluppo e deployment cross-platform: Dal mobile alla Tv Codemotion
 

Similar to Developing for Performances - Laboratorio di Web Design 2014/15 (20)

Mobile UI Design
Mobile UI DesignMobile UI Design
Mobile UI Design
 
HTML5
HTML5HTML5
HTML5
 
Wpo extended
Wpo extendedWpo extended
Wpo extended
 
Domino e HTML5, #dd13
Domino e HTML5, #dd13Domino e HTML5, #dd13
Domino e HTML5, #dd13
 
Webperformance, come ottimizzare il tempo di caricamento di una pagina web!
Webperformance, come ottimizzare il tempo di caricamento di una pagina web!Webperformance, come ottimizzare il tempo di caricamento di una pagina web!
Webperformance, come ottimizzare il tempo di caricamento di una pagina web!
 
Come sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTMLCome sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTML
 
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeo
 
GWT vs CSS3
GWT vs CSS3GWT vs CSS3
GWT vs CSS3
 
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
 
Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018
Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018
Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018
 
OCA: da Oggi Contribuisco Anch'io!
OCA: da Oggi Contribuisco Anch'io!OCA: da Oggi Contribuisco Anch'io!
OCA: da Oggi Contribuisco Anch'io!
 
05 OCA, da Oggi Contribuisco Anch'io!
05 OCA, da Oggi Contribuisco Anch'io!05 OCA, da Oggi Contribuisco Anch'io!
05 OCA, da Oggi Contribuisco Anch'io!
 
Spring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis WebSpring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis Web
 
Web Performance Optimization
Web Performance OptimizationWeb Performance Optimization
Web Performance Optimization
 
Wpo
WpoWpo
Wpo
 
Velocità sito web
Velocità sito webVelocità sito web
Velocità sito web
 
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue js
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS Build
 
Sviluppo e deployment cross-platform: Dal mobile alla Tv
Sviluppo e deployment cross-platform: Dal mobile alla Tv Sviluppo e deployment cross-platform: Dal mobile alla Tv
Sviluppo e deployment cross-platform: Dal mobile alla Tv
 

More from Giovanni Buffa

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 RxJSGiovanni Buffa
 
Introduzione ai componenti in Angular 4
Introduzione ai componenti in Angular 4Introduzione ai componenti in Angular 4
Introduzione ai componenti in Angular 4Giovanni Buffa
 
Introduzione ad Angular CLI
Introduzione ad Angular CLIIntroduzione ad Angular CLI
Introduzione ad Angular CLIGiovanni Buffa
 
Introduzione ad ECMAScript 6 (ES6) e TypeScript
Introduzione ad ECMAScript 6 (ES6) e TypeScriptIntroduzione ad ECMAScript 6 (ES6) e TypeScript
Introduzione ad ECMAScript 6 (ES6) e TypeScriptGiovanni Buffa
 
15 concetti importanti su javascript
15 concetti importanti su javascript15 concetti importanti su javascript
15 concetti importanti su javascriptGiovanni Buffa
 
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 AngularjsGiovanni Buffa
 
Introduzione a Drupal - Versione Italiana
Introduzione a Drupal - Versione ItalianaIntroduzione a Drupal - Versione Italiana
Introduzione a Drupal - Versione ItalianaGiovanni Buffa
 
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 AngularJSGiovanni Buffa
 
Introduzione a JavaScript
Introduzione a JavaScriptIntroduzione a JavaScript
Introduzione a JavaScriptGiovanni Buffa
 
The CSS Survival Manual - Giovanni Buffa (2014)
The CSS Survival Manual - Giovanni Buffa (2014)The CSS Survival Manual - Giovanni Buffa (2014)
The CSS Survival Manual - Giovanni Buffa (2014)Giovanni Buffa
 
Introduzione al Theme Engin di Drupal 7
Introduzione al Theme Engin di Drupal 7Introduzione al Theme Engin di Drupal 7
Introduzione al Theme Engin di Drupal 7Giovanni Buffa
 
Introduzione a Drupal 7 Entity
Introduzione a Drupal 7 EntityIntroduzione a Drupal 7 Entity
Introduzione a Drupal 7 EntityGiovanni Buffa
 
SEO - Laboratorio di Web Design 2014/15
SEO - Laboratorio di Web Design 2014/15SEO - Laboratorio di Web Design 2014/15
SEO - Laboratorio di Web Design 2014/15Giovanni Buffa
 
Laboratorio di Web Design Base - 2014/15 - Web History
Laboratorio di Web Design Base - 2014/15 - Web HistoryLaboratorio di Web Design Base - 2014/15 - Web History
Laboratorio di Web Design Base - 2014/15 - Web HistoryGiovanni Buffa
 

More from Giovanni Buffa (15)

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
 
Introduzione ad Angular CLI
Introduzione ad Angular CLIIntroduzione ad Angular CLI
Introduzione ad Angular CLI
 
Introduzione ad ECMAScript 6 (ES6) e TypeScript
Introduzione ad ECMAScript 6 (ES6) e TypeScriptIntroduzione ad ECMAScript 6 (ES6) e TypeScript
Introduzione ad ECMAScript 6 (ES6) e TypeScript
 
15 concetti importanti su javascript
15 concetti importanti su javascript15 concetti importanti su javascript
15 concetti importanti su javascript
 
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
 
Introduzione a Drupal - Versione Italiana
Introduzione a Drupal - Versione ItalianaIntroduzione a Drupal - Versione Italiana
Introduzione a Drupal - Versione Italiana
 
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
 
Introduzione a JavaScript
Introduzione a JavaScriptIntroduzione a JavaScript
Introduzione a JavaScript
 
The CSS Survival Manual - Giovanni Buffa (2014)
The CSS Survival Manual - Giovanni Buffa (2014)The CSS Survival Manual - Giovanni Buffa (2014)
The CSS Survival Manual - Giovanni Buffa (2014)
 
Introduzione al Theme Engin di Drupal 7
Introduzione al Theme Engin di Drupal 7Introduzione al Theme Engin di Drupal 7
Introduzione al Theme Engin di Drupal 7
 
Introduzione a Drupal 7 Entity
Introduzione a Drupal 7 EntityIntroduzione a Drupal 7 Entity
Introduzione a Drupal 7 Entity
 
SEO - Laboratorio di Web Design 2014/15
SEO - Laboratorio di Web Design 2014/15SEO - Laboratorio di Web Design 2014/15
SEO - Laboratorio di Web Design 2014/15
 
Introduzione a Drupal
Introduzione a DrupalIntroduzione a Drupal
Introduzione a Drupal
 
Laboratorio di Web Design Base - 2014/15 - Web History
Laboratorio di Web Design Base - 2014/15 - Web HistoryLaboratorio di Web Design Base - 2014/15 - Web History
Laboratorio di Web Design Base - 2014/15 - Web History
 

Recently uploaded

Storia dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptxStoria dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptxOrianaOcchino
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativovaleriodinoia35
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaPierLuigi Albini
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldivaleriodinoia35
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaRafael Figueredo
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieVincenzoPantalena1
 

Recently uploaded (9)

Storia dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptxStoria dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptx
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativo
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza cultura
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldi
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medie
 

Developing for Performances - Laboratorio di Web Design 2014/15