SlideShare a Scribd company logo
1 of 19
Università degli Studi di Milano Bicocca
Dipartimento di Informatica, Sistemistica e Comunicazione
Corso di Strumenti e applicazioni del Web
14 - Web designer vs Web
developer
Giuseppe Vizzari
Edizione 2019-20
Queste slides
Queste slides fanno parte del corso “Strumenti e applicazioni del Web”. Il sito del
corso, con il materiale completo, si trova in https://gvizzari.hopto.org/wp/. 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 shot, 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.
Job Titles in the Web Industry
(lista opinabile, probabilmente parziale e anche già vecchia)
Semplificando un po’… (1/2)
There are two primary jobs involved in creating a website:
• the web designer
• the web developer
The web designers are responsible for the visual aspect, which
includes the layout, coloring and typography of a web page.
Web designers will also have a working knowledge of markup
languages such as HTML and CSS, although the extent of
their knowledge will differ from one web designer to another
Particularly in smaller organizations one person will need the
necessary skills for designing and programming the full web
page, while larger organizations may have a web designer
responsible for the visual aspect alone
Complicando un po’… (2/2)
Further jobs which may become involved in the creation of a website
include:
• Graphic designers to create visuals for the site such as logos, layouts
and buttons
• Internet marketing specialists to help maintain web presence through
strategic solutions on targeting viewers to the site, by using marketing and
promotional techniques on the internet
• SEO writers to research and recommend the correct words to be
incorporated into a particular website and make the website more
accessible and found on numerous search engines
• Internet copywriter to create the written content of the page to appeal to
the targeted viewers of the site
• User experience (UX) designer incorporates aspects of user focused
design considerations which include information architecture, user
centered design, user testing, interaction design, and occasionally visual
design
But how things actually start, sometimes?
https://www.flickr.com/photos/24084766@N07/4595959073/
Wireframes or Mockups…
• A website wireframe is a visual guide that represents the
skeletal framework of a website
• It depicts the page layout or arrangement of the website’s
content, including interface elements and navigational systems,
and how they work together
• The wireframe usually lacks typographic style, color, or
graphics, since the main focus lies in functionality, behavior,
and priority of content…
• … although there can be high fidelity wireframes
• In other words, it focuses on what a system does, not what it
looks like
• … but it doesn’t necessarily mean that it must be ugly!
For those that aren’t good with a pencil…
https://en.wikipedia.org/wiki/Comparison_of_software_prototyping_tools#Wireframing
Molto lavoro nei prossimi semestri…
• Sul tema del design visuale, anche consapevole degli aspetti
cognitivi del visitatore di un sito / utente di un sistema web (o
informatico in generale) avrete diversi corsi
• Secondo semestre:
• Ergonomia cognitiva
• Laboratorio di comunicazione visiva
• Comunicazione digitale (non dedicato al tema, ma comunque rilevante)
• Secondo anno – primo semestre:
• Comunicazione visiva e design delle interfacce
• Lato marketing, avete un corso dedicato al secondo anno
(Digital Marketing)
• … inoltre avete altri corsi rilevanti
E il tema del web
development?
• Il corso di Elementi di Informatica, per chi lo
fa, ha una parte sulla programmazione di
base…
• … per gli altri è stato dichiarato che un minimo di
competenze di programmazioni sono già presenti
• Questo corso ha l’obiettivo di portarvi a
sviluppare un sito dinamico, in gruppo, con
una quantità e varietà di contenuti…
• … ma data l’eterogeneità della formazione
iniziale lo fa proponendo uno strumento pre-
esistente, senza necessità di programmare,
configurabile con plugin anche molto
sofisticati e potenzialmente anche molto
ricco… ma non si tratta certo dello sviluppo di
una nuova web application
• Se siete interessati ad approfondire il tema,
suggerisco il corso di Tecnologie e
applicazioni dei sistemi distribuiti (secondo
anno – primo semestre)
• … possiamo fare qualcosa di più ora?
Intanto qualche chiarimento
• Sviluppare oggi siti web è
prevalentemente usare
dei CMS:
• Market share Dec. 2017
(Survey W3Techs -
https://goo.gl/Cne9Qr)
• Wordpress: 58,5%
• Joomla: 6,6%
• Drupal: 4,7%
• …
• Dreamweaver: 1%
• …
• Moodle: 0,1%
• Imparare Wordpress ha
ancora senso, anzi…
• Nuovi CMS continuano a
essere prodotti, per venire
incontro a nuove esigenze
• Detto questo può capitare che certe
funzionalità base o plugin non siano
sufficienti o soddisfacenti, o che
certe operazioni vadano
automatizzate
• Qui serve uno sviluppatore web
Che sviluppatore, o almeno in quale
linguaggio?
• Di massima vedo tre motivi di
sviluppare qualcosa oggi
• In primis, quello che avete in testa
non esiste del tutto…
• … pensate a Zuckerberg, e tanti auguri!
• In seconda battuta, avete quasi tutto
quello che serve in un CMS
esistente…
• … studiatene bene l’architettura e
costruite uno/dei nuovi plugin
• … imparate un po’ di PHP
• Esistono dei servizi esterni che volete
combinare ai vostri dati e nel vostro
sito in modo innovativo, visivamente
piacevole, utile
• … imparate meglio Javascript e studiate
un framework, per esempio jQuery
Qualche esempio per capire di cosa
stiamo parlando…
• Attenzione, stiamo per vedere del codice JavaScript…
• … non è dannoso per la salute, nonostante il tipico aspetto
dell’informatico medio
• È consentito non trovarsi a proprio agio, non è consentito non
capire a meno di non dirlo subito: l’obiettivo non è insegnarvi a
programmare applicazioni web in pochi minuti (improbabile),
ma farvi capire a cosa potrebbe servirvi e cosa comporta
questo genere di tecnica
Ajax* di base – Google Maps (1)
*AJAX = Asychronous JavaScript and XML
Ajax di base – Google Maps (2)
<body onload="initialize()">
<div class="wrapper">
<div class="header”> [...] </div>
<div class="content">
<div class="main">
<h1>Google Maps</h1>
<div id="map"></div>
<div>
<p>Address:<br>
<input id="address" type="textbox" style="width: 755px;" value="Piazza della Scienza, 20126 Milano,
Italy"></p>
<p>Notes:<br>
<input id="note" type="textbox" style="width: 755px;" value="Piazza della Scienza, Università degli
Studi di Milano-Bicocca."></p>
<input type="button" value="Cerca" onclick="codeAddress()">
<br><br><br>
</div>
</div>
</div>
<div class="footer”> [... ] </div>
</div>
</body>
Ajax di base – Google Maps (3)
<script
src="https://maps.googleapis.com/maps/api/js?key=MYGOOGLEMAPSKEY&sensor=false"></script>
<script>
var map;
var geocoder;
var marker = null;
var infowindow = new google.maps.InfoWindow();
function initialize() {
geocoder = new google.maps.Geocoder();
var mapOptions = {
center: new google.maps.LatLng(45.4640, 9.1916),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map"),
mapOptions);
}
</script>
Ajax di base – Google Maps (4)
<script>
function codeAddress() {
var address = document.getElementById("address").value;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
map.setZoom(15);
if(marker === null){
marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
}
else {
marker.setPosition(results[0].geometry.location);
if((infowindow.getMap()!==null) &&
(typeof(infowindow.getMap())!== undefined))
infowindow.close();
}
marker.setTitle(document.getElementById("note").value);
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(document.getElementById("note").value);
infowindow.open(map, marker);
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
</script>
Fare una mappa con molti punti
preimpostati è molto più complicato?
A mio parere no, ma me lo dite voi, dopo che guardiamo il codice
Perché suggerisci jQuery?
• In primis, nel 2018 si usano librerie o framework, non si scrive codice “da
zero”; l’unica domanda è quale…
• jQuery è un framework JavaScript che rende molto semplice la scrittura di
applicazioni web offrendo funzionalità quali
• manipolazione di HTML/DOM e CSS
• metodi per eventi HTML
• effetti e animazioni
• supporto a programmazione AJAX
• varie altre utilità (anche tramite plugin)
• Uso jQuery per un corso al secondo anno della triennale in informatica
perché è
• diffuso, testato e manutenuto (utilizzato in siti come Dell, Digg, NBC e da Google
in alcuni progetti; è incluso in WordPress; ...)
• open source
• compatto (meno di 100kb, se compresso)
• può essere esteso con una serie di plugin di vario genere
Segue carrellata di esempi…

More Related Content

What's hot

What's hot (20)

9 - Ricercare nel Web
9 - Ricercare nel Web9 - Ricercare nel Web
9 - Ricercare nel Web
 
1 - Introduzione al corso 18/19
1 - Introduzione al corso 18/191 - Introduzione al corso 18/19
1 - Introduzione al corso 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)
Le applicazioni web e i CMS (18/19)
 
Il browser
Il browserIl browser
Il browser
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19
 
13 - Web feed e aggregatori
13 - Web feed e aggregatori13 - Web feed e aggregatori
13 - Web feed e aggregatori
 
Evoluzione del web
Evoluzione del webEvoluzione del web
Evoluzione del web
 
05 - Introduzione al Web II
05 - Introduzione al Web II05 - Introduzione al Web II
05 - Introduzione al Web II
 
1 Esercitazione: Introduzione + WordPress Parte 1
1 Esercitazione: Introduzione + WordPress Parte 11 Esercitazione: Introduzione + WordPress Parte 1
1 Esercitazione: Introduzione + WordPress Parte 1
 
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
 
5 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/185 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/18
 
Introduzione - Esercitazioni (18/19)
Introduzione - Esercitazioni (18/19)Introduzione - Esercitazioni (18/19)
Introduzione - Esercitazioni (18/19)
 
15 - Web designer vs Web developer
15 - Web designer vs Web developer15 - Web designer vs Web developer
15 - Web designer vs Web developer
 
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
 
Introduzione al web (1/2) - 18/19
Introduzione al web (1/2) - 18/19Introduzione al web (1/2) - 18/19
Introduzione al web (1/2) - 18/19
 
Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19
 
01 - Introduzione al Corso Strumenti e Applicazioni del Web - CdLM in TTC - 2...
01 - Introduzione al Corso Strumenti e Applicazioni del Web - CdLM in TTC - 2...01 - Introduzione al Corso Strumenti e Applicazioni del Web - CdLM in TTC - 2...
01 - Introduzione al Corso Strumenti e Applicazioni del Web - CdLM in TTC - 2...
 
2 Esercitazione (18/19)
2 Esercitazione (18/19)2 Esercitazione (18/19)
2 Esercitazione (18/19)
 
7 - Web application e CMS
7 - Web application e CMS7 - Web application e CMS
7 - Web application e CMS
 
3 - Introduzione a Internet (2/2)
3 - Introduzione a Internet (2/2)3 - Introduzione a Internet (2/2)
3 - Introduzione a Internet (2/2)
 

Similar to 14 - Web designer vs Web developer ...

Aziende Fornitori Web2.0
Aziende Fornitori Web2.0Aziende Fornitori Web2.0
Aziende Fornitori Web2.0
Gabriella
 
Studio e sviluppo di un sito web responsive attraverso Bootstrap
Studio e sviluppo di un sito web responsive attraverso BootstrapStudio e sviluppo di un sito web responsive attraverso Bootstrap
Studio e sviluppo di un sito web responsive attraverso Bootstrap
Davide Polotto
 
6 Step per un Sito Funzionale: 3. Web Design e Layout
6 Step per un Sito Funzionale: 3. Web Design e Layout6 Step per un Sito Funzionale: 3. Web Design e Layout
6 Step per un Sito Funzionale: 3. Web Design e Layout
FormazioneTurismo
 
Studio e sviluppo di un sito web responsive attraverso Bootstrap
Studio e sviluppo di un sito web responsive attraverso Bootstrap Studio e sviluppo di un sito web responsive attraverso Bootstrap
Studio e sviluppo di un sito web responsive attraverso Bootstrap
Davide Polotto
 

Similar to 14 - Web designer vs Web developer ... (20)

Wordpress 3/7. temi e plugin
Wordpress 3/7. temi e pluginWordpress 3/7. temi e plugin
Wordpress 3/7. temi e plugin
 
Laboratorio Internet: 1. Introduzione
Laboratorio Internet: 1. IntroduzioneLaboratorio Internet: 1. Introduzione
Laboratorio Internet: 1. Introduzione
 
Aziende Fornitori Web2.0
Aziende Fornitori Web2.0Aziende Fornitori Web2.0
Aziende Fornitori Web2.0
 
Aruba SuperSite - GUIDA: Semplici passi per imparare ad utilizzarlo
Aruba SuperSite - GUIDA: Semplici passi per imparare ad utilizzarloAruba SuperSite - GUIDA: Semplici passi per imparare ad utilizzarlo
Aruba SuperSite - GUIDA: Semplici passi per imparare ad utilizzarlo
 
SMAU Milano 2015
SMAU Milano 2015SMAU Milano 2015
SMAU Milano 2015
 
Studio e sviluppo di un sito web responsive attraverso Bootstrap
Studio e sviluppo di un sito web responsive attraverso BootstrapStudio e sviluppo di un sito web responsive attraverso Bootstrap
Studio e sviluppo di un sito web responsive attraverso Bootstrap
 
7. Applicazioni Web e CMS
7. Applicazioni Web e CMS7. Applicazioni Web e CMS
7. Applicazioni Web e CMS
 
scratch_parte1.pptx
scratch_parte1.pptxscratch_parte1.pptx
scratch_parte1.pptx
 
Corso di formazione Web Designer 2 0 e Comunicazione Multimediale
Corso di formazione Web Designer 2 0 e Comunicazione MultimedialeCorso di formazione Web Designer 2 0 e Comunicazione Multimediale
Corso di formazione Web Designer 2 0 e Comunicazione Multimediale
 
6 Step per un Sito Funzionale: 3. Web Design e Layout
6 Step per un Sito Funzionale: 3. Web Design e Layout6 Step per un Sito Funzionale: 3. Web Design e Layout
6 Step per un Sito Funzionale: 3. Web Design e Layout
 
Corso di formazione Web Designer 2.0 e Comunicazione Multimendiale
Corso di formazione Web Designer 2.0 e Comunicazione MultimendialeCorso di formazione Web Designer 2.0 e Comunicazione Multimendiale
Corso di formazione Web Designer 2.0 e Comunicazione Multimendiale
 
Ambienti software per l'apprendimento in rete
Ambienti software per l'apprendimento in reteAmbienti software per l'apprendimento in rete
Ambienti software per l'apprendimento in rete
 
Framework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostackFramework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostack
 
07 - Web apps e CMS
07 - Web apps e CMS07 - Web apps e CMS
07 - Web apps e CMS
 
1 - Introduzione al corso 16/17
1 - Introduzione al corso 16/17 1 - Introduzione al corso 16/17
1 - Introduzione al corso 16/17
 
Corso Base Wordpress 22-40 | installazione (2 di 4)
Corso Base Wordpress 22-40 | installazione (2 di 4)Corso Base Wordpress 22-40 | installazione (2 di 4)
Corso Base Wordpress 22-40 | installazione (2 di 4)
 
Studio e sviluppo di un sito web responsive attraverso Bootstrap
Studio e sviluppo di un sito web responsive attraverso Bootstrap Studio e sviluppo di un sito web responsive attraverso Bootstrap
Studio e sviluppo di un sito web responsive attraverso Bootstrap
 
Maria Grazia Maffucci - programmazione relazione
Maria Grazia Maffucci - programmazione relazioneMaria Grazia Maffucci - programmazione relazione
Maria Grazia Maffucci - programmazione relazione
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
 
Cosa è un servizio digitale?
Cosa è un servizio digitale?Cosa è un servizio digitale?
Cosa è un servizio digitale?
 

More from Giuseppe Vizzari

More from Giuseppe Vizzari (14)

12 - Social media (19/20)
12 - Social media (19/20)12 - Social media (19/20)
12 - Social media (19/20)
 
11 - Evoluzione del Web (19/20)
11 - Evoluzione del Web (19/20)11 - Evoluzione del Web (19/20)
11 - Evoluzione del Web (19/20)
 
10 - Modelli di business nel Web (19/20)
10 - Modelli di business nel Web (19/20)10 - Modelli di business nel Web (19/20)
10 - Modelli di business nel Web (19/20)
 
HTML (+ DOM) + CSS
HTML (+ DOM) + CSSHTML (+ DOM) + CSS
HTML (+ DOM) + CSS
 
4 - Introduzione al Web (1/2)
4 - Introduzione al Web (1/2)4 - Introduzione al Web (1/2)
4 - Introduzione al Web (1/2)
 
2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)
 
Intelligenza Artificiale e Realtà Virtuale
Intelligenza Artificiale e Realtà VirtualeIntelligenza Artificiale e Realtà Virtuale
Intelligenza Artificiale e Realtà Virtuale
 
Wiki e open internet
Wiki e open internetWiki e open internet
Wiki e open internet
 
Web feed e aggregatori
Web feed e aggregatoriWeb feed e aggregatori
Web feed e aggregatori
 
I social media
I social mediaI social media
I social media
 
Modelli di business nel web
Modelli di business nel webModelli di business nel web
Modelli di business nel web
 
Ricercare nel web
Ricercare nel webRicercare nel web
Ricercare nel web
 
WordPress e il vostro blog - 18/19
WordPress e il vostro blog - 18/19WordPress e il vostro blog - 18/19
WordPress e il vostro blog - 18/19
 
Introduzione a Internet (1/2) - 18/19
Introduzione a Internet (1/2) - 18/19Introduzione a Internet (1/2) - 18/19
Introduzione a Internet (1/2) - 18/19
 

Recently uploaded

presentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptxpresentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptx
michelacaporale12345
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
sasaselvatico
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
nico07fusco
 

Recently uploaded (20)

presentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptxpresentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.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
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
 
Gli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda presGli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda pres
 
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
 
Educazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpointEducazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpoint
 
TeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxTeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docx
 
TeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfTeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdf
 
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
 
Storia-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxStoria-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptx
 
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
 
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...
 
PalestiniAurora-la conoscenzatestoita.docx
PalestiniAurora-la conoscenzatestoita.docxPalestiniAurora-la conoscenzatestoita.docx
PalestiniAurora-la conoscenzatestoita.docx
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
 
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
 
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
 
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
 
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
 
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxTeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
 

14 - Web designer vs Web developer ...

  • 1. Università degli Studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Strumenti e applicazioni del Web 14 - Web designer vs Web developer Giuseppe Vizzari Edizione 2019-20
  • 2. Queste slides Queste slides fanno parte del corso “Strumenti e applicazioni del Web”. Il sito del corso, con il materiale completo, si trova in https://gvizzari.hopto.org/wp/. 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 shot, 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.
  • 3. Job Titles in the Web Industry (lista opinabile, probabilmente parziale e anche già vecchia)
  • 4. Semplificando un po’… (1/2) There are two primary jobs involved in creating a website: • the web designer • the web developer The web designers are responsible for the visual aspect, which includes the layout, coloring and typography of a web page. Web designers will also have a working knowledge of markup languages such as HTML and CSS, although the extent of their knowledge will differ from one web designer to another Particularly in smaller organizations one person will need the necessary skills for designing and programming the full web page, while larger organizations may have a web designer responsible for the visual aspect alone
  • 5. Complicando un po’… (2/2) Further jobs which may become involved in the creation of a website include: • Graphic designers to create visuals for the site such as logos, layouts and buttons • Internet marketing specialists to help maintain web presence through strategic solutions on targeting viewers to the site, by using marketing and promotional techniques on the internet • SEO writers to research and recommend the correct words to be incorporated into a particular website and make the website more accessible and found on numerous search engines • Internet copywriter to create the written content of the page to appeal to the targeted viewers of the site • User experience (UX) designer incorporates aspects of user focused design considerations which include information architecture, user centered design, user testing, interaction design, and occasionally visual design
  • 6. But how things actually start, sometimes? https://www.flickr.com/photos/24084766@N07/4595959073/
  • 7. Wireframes or Mockups… • A website wireframe is a visual guide that represents the skeletal framework of a website • It depicts the page layout or arrangement of the website’s content, including interface elements and navigational systems, and how they work together • The wireframe usually lacks typographic style, color, or graphics, since the main focus lies in functionality, behavior, and priority of content… • … although there can be high fidelity wireframes • In other words, it focuses on what a system does, not what it looks like • … but it doesn’t necessarily mean that it must be ugly!
  • 8. For those that aren’t good with a pencil… https://en.wikipedia.org/wiki/Comparison_of_software_prototyping_tools#Wireframing
  • 9. Molto lavoro nei prossimi semestri… • Sul tema del design visuale, anche consapevole degli aspetti cognitivi del visitatore di un sito / utente di un sistema web (o informatico in generale) avrete diversi corsi • Secondo semestre: • Ergonomia cognitiva • Laboratorio di comunicazione visiva • Comunicazione digitale (non dedicato al tema, ma comunque rilevante) • Secondo anno – primo semestre: • Comunicazione visiva e design delle interfacce • Lato marketing, avete un corso dedicato al secondo anno (Digital Marketing) • … inoltre avete altri corsi rilevanti
  • 10. E il tema del web development? • Il corso di Elementi di Informatica, per chi lo fa, ha una parte sulla programmazione di base… • … per gli altri è stato dichiarato che un minimo di competenze di programmazioni sono già presenti • Questo corso ha l’obiettivo di portarvi a sviluppare un sito dinamico, in gruppo, con una quantità e varietà di contenuti… • … ma data l’eterogeneità della formazione iniziale lo fa proponendo uno strumento pre- esistente, senza necessità di programmare, configurabile con plugin anche molto sofisticati e potenzialmente anche molto ricco… ma non si tratta certo dello sviluppo di una nuova web application • Se siete interessati ad approfondire il tema, suggerisco il corso di Tecnologie e applicazioni dei sistemi distribuiti (secondo anno – primo semestre) • … possiamo fare qualcosa di più ora?
  • 11. Intanto qualche chiarimento • Sviluppare oggi siti web è prevalentemente usare dei CMS: • Market share Dec. 2017 (Survey W3Techs - https://goo.gl/Cne9Qr) • Wordpress: 58,5% • Joomla: 6,6% • Drupal: 4,7% • … • Dreamweaver: 1% • … • Moodle: 0,1% • Imparare Wordpress ha ancora senso, anzi… • Nuovi CMS continuano a essere prodotti, per venire incontro a nuove esigenze • Detto questo può capitare che certe funzionalità base o plugin non siano sufficienti o soddisfacenti, o che certe operazioni vadano automatizzate • Qui serve uno sviluppatore web
  • 12. Che sviluppatore, o almeno in quale linguaggio? • Di massima vedo tre motivi di sviluppare qualcosa oggi • In primis, quello che avete in testa non esiste del tutto… • … pensate a Zuckerberg, e tanti auguri! • In seconda battuta, avete quasi tutto quello che serve in un CMS esistente… • … studiatene bene l’architettura e costruite uno/dei nuovi plugin • … imparate un po’ di PHP • Esistono dei servizi esterni che volete combinare ai vostri dati e nel vostro sito in modo innovativo, visivamente piacevole, utile • … imparate meglio Javascript e studiate un framework, per esempio jQuery
  • 13. Qualche esempio per capire di cosa stiamo parlando… • Attenzione, stiamo per vedere del codice JavaScript… • … non è dannoso per la salute, nonostante il tipico aspetto dell’informatico medio • È consentito non trovarsi a proprio agio, non è consentito non capire a meno di non dirlo subito: l’obiettivo non è insegnarvi a programmare applicazioni web in pochi minuti (improbabile), ma farvi capire a cosa potrebbe servirvi e cosa comporta questo genere di tecnica
  • 14. Ajax* di base – Google Maps (1) *AJAX = Asychronous JavaScript and XML
  • 15. Ajax di base – Google Maps (2) <body onload="initialize()"> <div class="wrapper"> <div class="header”> [...] </div> <div class="content"> <div class="main"> <h1>Google Maps</h1> <div id="map"></div> <div> <p>Address:<br> <input id="address" type="textbox" style="width: 755px;" value="Piazza della Scienza, 20126 Milano, Italy"></p> <p>Notes:<br> <input id="note" type="textbox" style="width: 755px;" value="Piazza della Scienza, Università degli Studi di Milano-Bicocca."></p> <input type="button" value="Cerca" onclick="codeAddress()"> <br><br><br> </div> </div> </div> <div class="footer”> [... ] </div> </div> </body>
  • 16. Ajax di base – Google Maps (3) <script src="https://maps.googleapis.com/maps/api/js?key=MYGOOGLEMAPSKEY&sensor=false"></script> <script> var map; var geocoder; var marker = null; var infowindow = new google.maps.InfoWindow(); function initialize() { geocoder = new google.maps.Geocoder(); var mapOptions = { center: new google.maps.LatLng(45.4640, 9.1916), zoom: 8, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById("map"), mapOptions); } </script>
  • 17. Ajax di base – Google Maps (4) <script> function codeAddress() { var address = document.getElementById("address").value; geocoder.geocode( { 'address': address}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { map.setCenter(results[0].geometry.location); map.setZoom(15); if(marker === null){ marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); } else { marker.setPosition(results[0].geometry.location); if((infowindow.getMap()!==null) && (typeof(infowindow.getMap())!== undefined)) infowindow.close(); } marker.setTitle(document.getElementById("note").value); google.maps.event.addListener(marker, 'click', function() { infowindow.setContent(document.getElementById("note").value); infowindow.open(map, marker); }); } else { alert("Geocode was not successful for the following reason: " + status); } }); } </script>
  • 18. Fare una mappa con molti punti preimpostati è molto più complicato? A mio parere no, ma me lo dite voi, dopo che guardiamo il codice
  • 19. Perché suggerisci jQuery? • In primis, nel 2018 si usano librerie o framework, non si scrive codice “da zero”; l’unica domanda è quale… • jQuery è un framework JavaScript che rende molto semplice la scrittura di applicazioni web offrendo funzionalità quali • manipolazione di HTML/DOM e CSS • metodi per eventi HTML • effetti e animazioni • supporto a programmazione AJAX • varie altre utilità (anche tramite plugin) • Uso jQuery per un corso al secondo anno della triennale in informatica perché è • diffuso, testato e manutenuto (utilizzato in siti come Dell, Digg, NBC e da Google in alcuni progetti; è incluso in WordPress; ...) • open source • compatto (meno di 100kb, se compresso) • può essere esteso con una serie di plugin di vario genere Segue carrellata di esempi…