SlideShare uma empresa Scribd logo
1 de 27
Università degli Studi di Milano Bicocca
Dipartimento di Informatica, Sistemistica e Comunicazione
Corso di Strumenti e applicazioni del Web
7. Le applicazioni Web e i CMS
Roberto Polillo
Edizione 2014-15
2
Queste slides fanno parte del corso “Strumenti e applicazioni del Web”. Il
sito del corso, con il materiale completo, si trova in
www.corsow.wordpress.com . Data la rapida evoluzione della rete, il corso
viene aggiornato ogni anno.
Il presente materiale è pubblicato con licenza Creative Commons
“Attribuzione - Non commerciale - Condividi allo stesso modo – 3.0”
(http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it ):
La licenza non si estende alle immagini provenienti da altre fonti e
alle screen shots, i cui diritti restano in capo ai rispettivi proprietari,
che, ove possibile, sono stati indicati. L'autore si scusa per eventuali
omissioni, e resta a disposizione per correggerle.
R.Polillo - Marzo 2015
Queste slides
Applicazioni Web
 Oltre che "navigare", l'utente deve poter
"interagire" con un sito, fornendo dei dati che il
sito elaborerà fornendo le risposte opportune
 Non solo "Web sites" ma "Web applications"
R.Polillo - Marzo 2015
3
Applicazioni Web: script client-side
4
HTTP
internet
Browser
Web
server
HTML con script
client-side
HTML con programmi
client-side
Esecutore dei
programmi client-side
Esempi:
• Javascript (script interpretati) con librerie DOM
• Applet Java (codice precompilato interpretato
da JVM (Java Virtual Machine)
• Ajax (rende asincrona l'interazione col server)
AJAX Engine
Programmazione lato client
 JavaScript (creato da Netscape, 1995)
Semplice linguaggio di scripting, inserito nel codice HTML e (standardizzato da
ECMA col nome di ECMAScript)
Interpretato da una Javascript Engine
 DOM (Document Object Model)
Librerie di funzioni associate a Javascript, per la manipolazione delle pagine e degli
elementi dell'interfaccia del browser
 Applet Java (Java: linguaggio a oggetti creato da Sun, 1995)
Programmi già compilati in codice intermedio ("bytecode"), che viene eseguito da
una Java Virtual Machine.
Devono essere inviati dal server, e quindi per motivi di sicurezza non hanno accesso
al file system del client.
 AJAX (Asynchronous JavaScript and XML)
Un gruppo di tecnologie e metodi che rendono asincrone la gestione della
interazione con l'utente e il dialogo con il web server
R.Polillo - Marzo 2015
5
Esempi
<html>
<head> …. </head>
<body>
….
<script type="text/javascript">
Document.write('Hello World')
</script>
…..
</body>
</html>
R.Polillo - Marzo 2015
6
<applet
code="Hello class" width="200" hight="200">
</applet>
Applet Java: esempio
R.Polillo - Marzo 2015
7
Applicazioni Web: script server-side
(pagine dinamiche)
9
HTTP
internet
Browser
Web
server
HTML con programmi
server- e client-side
HTML con script
client-side
Esempi:
•script PHP (Personal Home Page Tools)
•script JSP (Java Server Pages)
•Servlet Java
•…
Codice generato
server-side
Esecutore di
programmi server-side
Codice server-side
La trasmissione dei dati di input
10
HTTP
Web
server
HTML
HTTP e HTML forniscono degli strumenti per richiedere dati
all'utente e trasmetterli al Web server
GET (URL)
1
HTML
PUT
2
Nome:
OK
3
5
GET URL', Nome=mario
4
Scrive "Mario"
e preme OK
6
Elaborazione dati e
produzione / invio di
una nuova pagina
<form method="get" action=http://www.google.com/search>
<input type="text" name="querystring">
<input type="submit" name="button1" value="Google Search">
</form>
Form: esempio
R.Polillo - Marzo 2015
11
bla bla
querystring=bla+bla&button1=Google+SearchAl server
Architetture a più livelli ("multi-tier")
12
HTTP
internet
Browser
Web
server HTML con script
client-side
Pagine generate
dinamicamente
Application
server
db
server
Data base
Come installare un sito Web?
13
HTTP
internet
Browser
Web
server
Pagine
web
Editor
HTTP
FTP
HTML
Es.:
Dreamweaver
Una soluzione elementare
Content Management Systems (CMS)
14
HTTP
internet
Browser
Web
server
Pagine generate
dinamicamente
CMSdb
server
Data base
Lettore
Un'applicazione che permette di costruire e
installare le pagine, e di servirle ai lettori
Content Management Systems (CMS)
15
HTTP
internet
Browser
Web
server
Pagine generate
dinamicamente
CMSdb
server
Data base
Lettore
Browser
Editor
Browser
Content Management Systems (CMS)
16
HTTP
internet
Browser
Web
server
Pagine generate
dinamicamente
CMSdb
server
Data base
Autore
Lettore
Browser
Amministratore
Content Management Systems (CMS)
17
HTTP
internet
Browser
Web
server
Pagine generate
dinamicamente
CMSdb
server
Data base
Browser
Autore
Lettore
Browser
Amministratore
Templates
Materiale autore
Materiale amministratore
CMS: tipologie
R.Polillo - Marzo 2015
18
Codice proprietario Codice aperto
(open source)
Codice
preinstallato
Codice da
installare
“Online site builders”
Es.:
blogger (Google)
Weebly, Webs,
Ning, Socialgo, …
Es.:
www.wordpress.com
….
Es.:
wordpress
Joomla
drupal
Online site builders
 Applicazioni proprietarie che permettono di costruire e
pubblicare siti web interamente on-line, senza necessità di
programmazione
 Il sito può essere personalizzato in vari modi: scelta del tema
grafico, uso di widget, … A volte si può personalizzare il codice
o modificare i CSS
 Quasi sempre a pagamento (canone mensile), a volte servizi di
base gratuiti
 Esempi:
Per blog: www.blogger.com (di Google, gratuito), …
Per siti: www.weebly.com, www.webs.com, …
Per social networks: www.ning.com, www.socialgo.com, …
19R.Polillo -
Marzo 2015
CMS open source
 Si deve scaricare il software e installarlo su un server
(proprio o di un provider)
 Si rivolgono a utenti più esperti, e sono più flessibili
 Esempi:
 WordPress (www.wordpress.org)
Molto semplice da usare, molto ricco di plugin pronti all’uso.
Esiste anche una versione online semplificata: www.wordpress.com
(funzionalmente limitata, molto diffusa: http://en.wordpress.com/stats/ )
 Joomla (www.joomla.org)
Più complesso
 Drupal (www.drupal.org)
Più complesso
20R.Polillo -
Marzo 2015
WordPress
 Il CMS open source più diffuso
 Nato per realizzare blog nel 2003 sulla base di un
precedente sistema del 2001, ora permette di
realizzare anche siti molto sofisticati
 Grande community che ne sviluppa l'ecosistema
 Facile da usare, può essere personalizzato anche in
modo molto sofisticato (HTML, PhP, MySQL)
 http://en.wikipedia.org/wiki/WordPress
21R.Polillo -
Marzo 2015
Blog iniziale:
tema di default
22
R.Polillo - Marzo 2015
Temi: strutture tipiche
R.Polillo -
Marzo 201523
Header
Colonna 1 Colonna 2 [Colonna 3]
Footer
[Menu orizzontale]
1, 2 o 3
colonne
Altro tema predefinito (2 colonne)
24
R.Polillo - Marzo 2015
Altro tema predefinito:
2 colonne
25
R.Polillo - Marzo 2015
Altro tema predefinito (3 colonne)
26
R.Polillo - Marzo 2015
Altro tema predefinito (3 colonne)
27
R.Polillo - Marzo 2015
Esempi realizzati con WordPress
Versione .com:
www.corsow.wordpress.com
Versione scaricabile:
http://www.rpolillo.it
http://www.stylenest.co.uk
http://mosaic-consulting.com
R.Polillo - Marzo 2015
28

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

3. Introduzione a internet (ii)
3. Introduzione a internet (ii)3. Introduzione a internet (ii)
3. Introduzione a internet (ii)
 
12. Mobile web
12. Mobile web12. Mobile web
12. Mobile web
 
16. Social media
16. Social media16. Social media
16. Social media
 
Realtà Aumentata
Realtà AumentataRealtà Aumentata
Realtà Aumentata
 
9. Come trovare l'informazione (I)
9. Come trovare l'informazione (I)9. Come trovare l'informazione (I)
9. Come trovare l'informazione (I)
 
Editoria e industria dei media di fronte alla rivoluzione digitale
Editoria e industria dei media di fronte alla rivoluzione digitaleEditoria e industria dei media di fronte alla rivoluzione digitale
Editoria e industria dei media di fronte alla rivoluzione digitale
 
Collaborative Editing
Collaborative EditingCollaborative Editing
Collaborative Editing
 
20. Le organizzazioni sul web
20. Le organizzazioni sul web20. Le organizzazioni sul web
20. Le organizzazioni sul web
 
1. Introduzione al corso
1. Introduzione al corso1. Introduzione al corso
1. Introduzione al corso
 
17. Web feed e aggregatori
17. Web feed e aggregatori17. Web feed e aggregatori
17. Web feed e aggregatori
 
5. Introduzione al web (ii)
5. Introduzione al web (ii)5. Introduzione al web (ii)
5. Introduzione al web (ii)
 
20. Social networks
20. Social networks20. Social networks
20. Social networks
 
23. Open internet
23. Open internet23. Open internet
23. Open internet
 
18. Content sharing sites
18. Content sharing sites18. Content sharing sites
18. Content sharing sites
 
11. Evoluzione del web: dal Web 1.0 al Web 2.0
11. Evoluzione del web: dal Web 1.0 al Web 2.011. Evoluzione del web: dal Web 1.0 al Web 2.0
11. Evoluzione del web: dal Web 1.0 al Web 2.0
 
17.Web feed e aggregatori
17.Web feed e aggregatori17.Web feed e aggregatori
17.Web feed e aggregatori
 
19. La presenza delle organizzazioni sul Web delle aziende (II)
19. La presenza delle organizzazioni sul Web delle aziende (II)19. La presenza delle organizzazioni sul Web delle aziende (II)
19. La presenza delle organizzazioni sul Web delle aziende (II)
 
Wikipedia
WikipediaWikipedia
Wikipedia
 
9. Ricercare nel web (Parte I)
9. Ricercare nel web (Parte I)9. Ricercare nel web (Parte I)
9. Ricercare nel web (Parte I)
 
Open internet
Open internetOpen internet
Open internet
 

Destaque

Destaque (10)

8. Il vostro blog
8. Il vostro blog8. Il vostro blog
8. Il vostro blog
 
Politiche di moderazione nei social network
Politiche di moderazione nei social networkPolitiche di moderazione nei social network
Politiche di moderazione nei social network
 
Web fakes
Web fakesWeb fakes
Web fakes
 
Crowdfunding
CrowdfundingCrowdfunding
Crowdfunding
 
Web reputation
Web reputation Web reputation
Web reputation
 
TV over the Internet: il video on-demand, Netflix e la concorrenza in Italia
TV over the Internet: il video on-demand, Netflix e la concorrenza in ItaliaTV over the Internet: il video on-demand, Netflix e la concorrenza in Italia
TV over the Internet: il video on-demand, Netflix e la concorrenza in Italia
 
Storytelling 2.0: definizione, tools, casi studio
Storytelling 2.0: definizione, tools, casi studioStorytelling 2.0: definizione, tools, casi studio
Storytelling 2.0: definizione, tools, casi studio
 
14. I blog
14. I blog14. I blog
14. I blog
 
13. Internet business models
13. Internet business models13. Internet business models
13. Internet business models
 
2. Introduzione a internet (I)
2. Introduzione a internet (I)2. Introduzione a internet (I)
2. Introduzione a internet (I)
 

Semelhante a 7. Applicazioni Web e CMS

Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Presentazione Corso - Parte 3
Presentazione Corso - Parte 3
Giorgio Carpoca
 

Semelhante a 7. Applicazioni Web e CMS (20)

07 - Web apps e CMS
07 - Web apps e CMS07 - Web apps e CMS
07 - Web apps e CMS
 
7. Applicazioni web e CMS
7. Applicazioni web e CMS7. Applicazioni web e CMS
7. Applicazioni web e CMS
 
7 - Web application e CMS
7 - Web application e CMS7 - Web application e CMS
7 - Web application e CMS
 
8 - Web App e CMS - 16/17
8 - Web App e CMS - 16/178 - Web App e CMS - 16/17
8 - Web App e CMS - 16/17
 
8 - Web app e CMS - 17/18
8 - Web app e CMS - 17/188 - Web app e CMS - 17/18
8 - Web app e CMS - 17/18
 
Le applicazioni web e i CMS (18/19)
Le applicazioni web e i CMS (18/19)Le applicazioni web e i CMS (18/19)
Le applicazioni web e i CMS (18/19)
 
8. Architetture web
8. Architetture web8. Architetture web
8. Architetture web
 
5 - Introduzione al Web (2/2) - 16/17
5 - Introduzione al Web (2/2) - 16/175 - Introduzione al Web (2/2) - 16/17
5 - Introduzione al Web (2/2) - 16/17
 
05 - Introduzione al Web II
05 - Introduzione al Web II05 - Introduzione al Web II
05 - Introduzione al Web II
 
Christmas greetings cards with blazor
Christmas greetings cards with blazorChristmas greetings cards with blazor
Christmas greetings cards with blazor
 
Spa with Blazor
Spa with BlazorSpa with Blazor
Spa with Blazor
 
Wasm and Blazor CDays keynote
Wasm and Blazor CDays keynoteWasm and Blazor CDays keynote
Wasm and Blazor CDays keynote
 
Lezione 6: Il Web come piattaforma
Lezione 6: Il Web come piattaformaLezione 6: Il Web come piattaforma
Lezione 6: Il Web come piattaforma
 
Wordpress 3/7. temi e plugin
Wordpress 3/7. temi e pluginWordpress 3/7. temi e plugin
Wordpress 3/7. temi e plugin
 
6. Il Web come piattaforma
6. Il Web come piattaforma6. Il Web come piattaforma
6. Il Web come piattaforma
 
2 Esercitazione: WordPress Parte 2
2 Esercitazione: WordPress Parte 22 Esercitazione: WordPress Parte 2
2 Esercitazione: WordPress Parte 2
 
2 Esercitazione (18/19)
2 Esercitazione (18/19)2 Esercitazione (18/19)
2 Esercitazione (18/19)
 
Link. javascript ajax
  Link. javascript ajax  Link. javascript ajax
Link. javascript ajax
 
Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Presentazione Corso - Parte 3
Presentazione Corso - Parte 3
 
Flash vs jQuery
Flash vs jQueryFlash vs jQuery
Flash vs jQuery
 

Mais de Roberto Polillo

Mais de Roberto Polillo (16)

Future City, Ipotesi sulla città del futuro
Future City, Ipotesi sulla città del futuroFuture City, Ipotesi sulla città del futuro
Future City, Ipotesi sulla città del futuro
 
Teaching HCI to computing students: some considerations
Teaching HCI to computing students: some considerationsTeaching HCI to computing students: some considerations
Teaching HCI to computing students: some considerations
 
22. Conclusioni del corso
22. Conclusioni del corso22. Conclusioni del corso
22. Conclusioni del corso
 
ICT e sviluppo sociale: alcune riflessioni
ICT e sviluppo sociale: alcune riflessioniICT e sviluppo sociale: alcune riflessioni
ICT e sviluppo sociale: alcune riflessioni
 
21. Progettare per l'errore
21. Progettare per l'errore21. Progettare per l'errore
21. Progettare per l'errore
 
20. Principi e linee guida (II)
20. Principi e linee guida (II)20. Principi e linee guida (II)
20. Principi e linee guida (II)
 
20. Principi e linee guida (I)
20. Principi e linee guida (I)20. Principi e linee guida (I)
20. Principi e linee guida (I)
 
18. Paradigmi di interazione uomo macchina (III)
18. Paradigmi di interazione uomo macchina (III)18. Paradigmi di interazione uomo macchina (III)
18. Paradigmi di interazione uomo macchina (III)
 
17. Evoluzione dei paradigmi di interazione uomo macchina (I)
17. Evoluzione dei paradigmi di interazione uomo macchina (I)17. Evoluzione dei paradigmi di interazione uomo macchina (I)
17. Evoluzione dei paradigmi di interazione uomo macchina (I)
 
16. Evoluzione dei paradigmi di interazione uomo macchina (I)
16. Evoluzione dei paradigmi di interazione uomo macchina (I)16. Evoluzione dei paradigmi di interazione uomo macchina (I)
16. Evoluzione dei paradigmi di interazione uomo macchina (I)
 
15. Ancora sulla grafica
15. Ancora sulla grafica15. Ancora sulla grafica
15. Ancora sulla grafica
 
14. Progettare il testo
14. Progettare il testo14. Progettare il testo
14. Progettare il testo
 
13. Conoscere l'utente: il sistema motorio
13. Conoscere l'utente: il sistema motorio13. Conoscere l'utente: il sistema motorio
13. Conoscere l'utente: il sistema motorio
 
Internet and sustainable telemedicine: an introduction
Internet and sustainable telemedicine: an introductionInternet and sustainable telemedicine: an introduction
Internet and sustainable telemedicine: an introduction
 
12.Visione e progettazione grafica (I)
12.Visione e progettazione grafica (I)12.Visione e progettazione grafica (I)
12.Visione e progettazione grafica (I)
 
11. Conoscere l'utente (II)
11. Conoscere l'utente (II)11. Conoscere l'utente (II)
11. Conoscere l'utente (II)
 

Último

Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
sasaselvatico
 
presentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptxpresentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptx
michelacaporale12345
 

Último (20)

Palestini Aurora-Steve Jobs,Olivetti e Gates.pptx
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptxPalestini Aurora-Steve Jobs,Olivetti e Gates.pptx
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptx
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
 
Piccole Personetestoitaliano-AuroraPalestini.docx
Piccole Personetestoitaliano-AuroraPalestini.docxPiccole Personetestoitaliano-AuroraPalestini.docx
Piccole Personetestoitaliano-AuroraPalestini.docx
 
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxTeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
 
Pancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptx
Pancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptxPancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptx
Pancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptx
 
Storia-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxStoria-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptx
 
Educazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpointEducazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpoint
 
Gli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda presGli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda pres
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opere
 
presentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptxpresentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptx
 
Pancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptx
Pancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptxPancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptx
Pancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptx
 
Pancia Asia_relazione laboratorio(forza d'attrito).docx
Pancia Asia_relazione laboratorio(forza d'attrito).docxPancia Asia_relazione laboratorio(forza d'attrito).docx
Pancia Asia_relazione laboratorio(forza d'attrito).docx
 
magia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxmagia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptx
 
magia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxmagia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptx
 
Le forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docxLe forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docx
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
 
Le forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docxLe forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docx
 
a scuola di biblioVerifica: come utilizzare il test TRAAP
a scuola di biblioVerifica: come utilizzare il test TRAAPa scuola di biblioVerifica: come utilizzare il test TRAAP
a scuola di biblioVerifica: come utilizzare il test TRAAP
 
PalestiniAurora-la conoscenzatestoita.docx
PalestiniAurora-la conoscenzatestoita.docxPalestiniAurora-la conoscenzatestoita.docx
PalestiniAurora-la conoscenzatestoita.docx
 

7. Applicazioni Web e CMS

  • 1. Università degli Studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Strumenti e applicazioni del Web 7. Le applicazioni Web e i CMS Roberto Polillo Edizione 2014-15
  • 2. 2 Queste slides fanno parte del corso “Strumenti e applicazioni del Web”. Il sito del corso, con il materiale completo, si trova in www.corsow.wordpress.com . Data la rapida evoluzione della rete, il corso viene aggiornato ogni anno. Il presente materiale è pubblicato con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo – 3.0” (http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it ): La licenza non si estende alle immagini provenienti da altre fonti e alle screen shots, i cui diritti restano in capo ai rispettivi proprietari, che, ove possibile, sono stati indicati. L'autore si scusa per eventuali omissioni, e resta a disposizione per correggerle. R.Polillo - Marzo 2015 Queste slides
  • 3. Applicazioni Web  Oltre che "navigare", l'utente deve poter "interagire" con un sito, fornendo dei dati che il sito elaborerà fornendo le risposte opportune  Non solo "Web sites" ma "Web applications" R.Polillo - Marzo 2015 3
  • 4. Applicazioni Web: script client-side 4 HTTP internet Browser Web server HTML con script client-side HTML con programmi client-side Esecutore dei programmi client-side Esempi: • Javascript (script interpretati) con librerie DOM • Applet Java (codice precompilato interpretato da JVM (Java Virtual Machine) • Ajax (rende asincrona l'interazione col server) AJAX Engine
  • 5. Programmazione lato client  JavaScript (creato da Netscape, 1995) Semplice linguaggio di scripting, inserito nel codice HTML e (standardizzato da ECMA col nome di ECMAScript) Interpretato da una Javascript Engine  DOM (Document Object Model) Librerie di funzioni associate a Javascript, per la manipolazione delle pagine e degli elementi dell'interfaccia del browser  Applet Java (Java: linguaggio a oggetti creato da Sun, 1995) Programmi già compilati in codice intermedio ("bytecode"), che viene eseguito da una Java Virtual Machine. Devono essere inviati dal server, e quindi per motivi di sicurezza non hanno accesso al file system del client.  AJAX (Asynchronous JavaScript and XML) Un gruppo di tecnologie e metodi che rendono asincrone la gestione della interazione con l'utente e il dialogo con il web server R.Polillo - Marzo 2015 5
  • 6. Esempi <html> <head> …. </head> <body> …. <script type="text/javascript"> Document.write('Hello World') </script> ….. </body> </html> R.Polillo - Marzo 2015 6 <applet code="Hello class" width="200" hight="200"> </applet>
  • 8. Applicazioni Web: script server-side (pagine dinamiche) 9 HTTP internet Browser Web server HTML con programmi server- e client-side HTML con script client-side Esempi: •script PHP (Personal Home Page Tools) •script JSP (Java Server Pages) •Servlet Java •… Codice generato server-side Esecutore di programmi server-side Codice server-side
  • 9. La trasmissione dei dati di input 10 HTTP Web server HTML HTTP e HTML forniscono degli strumenti per richiedere dati all'utente e trasmetterli al Web server GET (URL) 1 HTML PUT 2 Nome: OK 3 5 GET URL', Nome=mario 4 Scrive "Mario" e preme OK 6 Elaborazione dati e produzione / invio di una nuova pagina
  • 10. <form method="get" action=http://www.google.com/search> <input type="text" name="querystring"> <input type="submit" name="button1" value="Google Search"> </form> Form: esempio R.Polillo - Marzo 2015 11 bla bla querystring=bla+bla&button1=Google+SearchAl server
  • 11. Architetture a più livelli ("multi-tier") 12 HTTP internet Browser Web server HTML con script client-side Pagine generate dinamicamente Application server db server Data base
  • 12. Come installare un sito Web? 13 HTTP internet Browser Web server Pagine web Editor HTTP FTP HTML Es.: Dreamweaver Una soluzione elementare
  • 13. Content Management Systems (CMS) 14 HTTP internet Browser Web server Pagine generate dinamicamente CMSdb server Data base Lettore Un'applicazione che permette di costruire e installare le pagine, e di servirle ai lettori
  • 14. Content Management Systems (CMS) 15 HTTP internet Browser Web server Pagine generate dinamicamente CMSdb server Data base Lettore Browser Editor
  • 15. Browser Content Management Systems (CMS) 16 HTTP internet Browser Web server Pagine generate dinamicamente CMSdb server Data base Autore Lettore Browser Amministratore
  • 16. Content Management Systems (CMS) 17 HTTP internet Browser Web server Pagine generate dinamicamente CMSdb server Data base Browser Autore Lettore Browser Amministratore Templates Materiale autore Materiale amministratore
  • 17. CMS: tipologie R.Polillo - Marzo 2015 18 Codice proprietario Codice aperto (open source) Codice preinstallato Codice da installare “Online site builders” Es.: blogger (Google) Weebly, Webs, Ning, Socialgo, … Es.: www.wordpress.com …. Es.: wordpress Joomla drupal
  • 18. Online site builders  Applicazioni proprietarie che permettono di costruire e pubblicare siti web interamente on-line, senza necessità di programmazione  Il sito può essere personalizzato in vari modi: scelta del tema grafico, uso di widget, … A volte si può personalizzare il codice o modificare i CSS  Quasi sempre a pagamento (canone mensile), a volte servizi di base gratuiti  Esempi: Per blog: www.blogger.com (di Google, gratuito), … Per siti: www.weebly.com, www.webs.com, … Per social networks: www.ning.com, www.socialgo.com, … 19R.Polillo - Marzo 2015
  • 19. CMS open source  Si deve scaricare il software e installarlo su un server (proprio o di un provider)  Si rivolgono a utenti più esperti, e sono più flessibili  Esempi:  WordPress (www.wordpress.org) Molto semplice da usare, molto ricco di plugin pronti all’uso. Esiste anche una versione online semplificata: www.wordpress.com (funzionalmente limitata, molto diffusa: http://en.wordpress.com/stats/ )  Joomla (www.joomla.org) Più complesso  Drupal (www.drupal.org) Più complesso 20R.Polillo - Marzo 2015
  • 20. WordPress  Il CMS open source più diffuso  Nato per realizzare blog nel 2003 sulla base di un precedente sistema del 2001, ora permette di realizzare anche siti molto sofisticati  Grande community che ne sviluppa l'ecosistema  Facile da usare, può essere personalizzato anche in modo molto sofisticato (HTML, PhP, MySQL)  http://en.wikipedia.org/wiki/WordPress 21R.Polillo - Marzo 2015
  • 21. Blog iniziale: tema di default 22 R.Polillo - Marzo 2015
  • 22. Temi: strutture tipiche R.Polillo - Marzo 201523 Header Colonna 1 Colonna 2 [Colonna 3] Footer [Menu orizzontale] 1, 2 o 3 colonne
  • 23. Altro tema predefinito (2 colonne) 24 R.Polillo - Marzo 2015
  • 24. Altro tema predefinito: 2 colonne 25 R.Polillo - Marzo 2015
  • 25. Altro tema predefinito (3 colonne) 26 R.Polillo - Marzo 2015
  • 26. Altro tema predefinito (3 colonne) 27 R.Polillo - Marzo 2015
  • 27. Esempi realizzati con WordPress Versione .com: www.corsow.wordpress.com Versione scaricabile: http://www.rpolillo.it http://www.stylenest.co.uk http://mosaic-consulting.com R.Polillo - Marzo 2015 28