La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione ai Linguaggi Formali: HTML e XML Fondamenti di Programmazione: Cenni di Javascript Politecnico di Milano Facoltà del Design – Bovisa Prof.

Presentazioni simili


Presentazione sul tema: "Introduzione ai Linguaggi Formali: HTML e XML Fondamenti di Programmazione: Cenni di Javascript Politecnico di Milano Facoltà del Design – Bovisa Prof."— Transcript della presentazione:

1 Introduzione ai Linguaggi Formali: HTML e XML Fondamenti di Programmazione: Cenni di Javascript Politecnico di Milano Facoltà del Design – Bovisa Prof. Gianluca Palermo Dipartimento di Elettronica e Informazione

2 Politecnico di Milano Cultura tecnologica del progetto2 Indice Il World Wide Web –Sistemi informativi lineari e non lineari: gli ipertesti –Il Web: cenni storici –Cenni di HTML –HTML come linguaggio formale Cenni di XML Fondamenti di programmazione –Il linguaggio Javascript Introduzione al modello open source

3 Politecnico di Milano Cultura tecnologica del progetto3 Testi consigliati Slide presentate a lezione Rick Darnel HTML 4 Tutto&Oltre Apogeo

4 Politecnico di Milano Cultura tecnologica del progetto4 Sistemi informativi lineari e non lineari Per pensare e comunicare gli uomini usano da sempre un sistema di informazione lineare ma lesigenza di reperire più velocemente dati ed effettuare ricerche ha portato alla nascita dei sistemi non lineari –I sistemi non lineari non sono nati con il web, si pensi ad esempio a libri e riviste i cui indici permettono di reperire direttamente le informazioni cercate senza dover leggere tutto ciò che viene prima –Si parla anche di ipertesti In un sistema non lineare non esiste un ordine predefinito di lettura. Sistema lineare Sistema non lineare

5 Politecnico di Milano Cultura tecnologica del progetto5 Sistemi non lineari: WWW Il World Wide Web (WWW) è un sistema informativo non lineare –Realizza un ipertesto distribuito e multimediale –È possibile consultare documenti seguendo un tracciato preimpostato dagli autori o costruendo percorsi dettati da interessi personali I motori di ricerca permettono, dopo linserimento di alcune parole chiave, di ottenere una lista di collegamenti a documenti che rispondono ad alcuni criteri. Lutente può proseguire la ricerca cliccando sui collegamenti e navigando di pagina in pagina verso dati sempre più specifici I documenti per il WWW sono scritti adoperando il linguaggio formale: lHyperText Markup Language

6 Politecnico di Milano Cultura tecnologica del progetto6 Breve storia del web Anni 80 - Nasce il concetto di ipertesto –I computer utilizzati non erano abilitati a visualizzare immagini Un ricercatore del CERN di Ginevra (Tim Berners-Lee) definisce il protocollo http e il linguaggio html per la costruzione di ipertesti distribuiti Anni 90 - Il WWW si diffonde –Larrivo dei browser grafici allinterno degli ambienti desktop permette di inserire contenuti multimediali ai documenti HTML Fine anni 90 - Si diffondono le tecnologie per la creazione di pagine dinamiche –Gli sviluppatori web iniziano a sostituire le pagine statiche con documenti creati dinamicamente tramite programmi lato server (script CGI,PHP,JSP,…) –Le pagine diventano dinamiche anche lato client tramite software studiato ad hoc (activeX, applet Java, codice javascript…)

7 Politecnico di Milano Cultura tecnologica del progetto7 Web: HTTP, Client (Browser) e Server HTTP è un protocollo di comunicazione che definisce le regole con le quali un programma client, chiamato Web Browser, e un programma server, chiamato Web Server, possono interagire per scambiarsi richieste e risposte Il Web Server è un processo (applicazione) in esecuzione continua su un elaboratore: –Il server resta in continuo ascolto delle richieste in arrivo tramite la rete Internet –Alla ricezione di una richiesta, il server individua la risorsa richiesta (ad es. un file HTML) e invia una risposta al client (1) (2)

8 Politecnico di Milano Cultura tecnologica del progetto8 Pagina HTML La risorsa di base richiesta dal client è una pagina HTML, ovvero un testo che rappresenta un documento ipertestuale Contenuto + Markup = risultato finale

9 Politecnico di Milano Cultura tecnologica del progetto9 Hyper Text Markup Language (HTML) HTML è un linguaggio di contrassegno testuale Un documento HTML è un file di testo che contiene due classi di informazioni –Contenuto: il testo vero e proprio del documento; da solo non garantisce la leggibilità –Sistema di contrassegno (mark-up): informazioni aggiuntive al contenuto, per determinarne le modalità di presentazione; a loro volta queste informazioni possono essere suddivise in due classi: Struttura: informazioni su come è diviso logicamente il documento (titolo, paragrafi, capitoli…) Formattazione: informazioni sulla presentazione del documento (font, colori, spaziature…) Un editor di testo è sufficiente per creare documenti HTML

10 Politecnico di Milano Cultura tecnologica del progetto10 Applicazione Web: pagine dinamiche Più in generale, una richiesta HTTP (proveniente da un browser Web) può puntare ad un file in qualunque formato archiviato nel Web Server. Se il file non è HTML, viene semplicemente scaricato dal Server al Client. Una richiesta HTTP può anche puntare allinvocazione di un programma da eseguire sul server (server side) Tipicamente lesecuzione del programma comporta anche la generazione di una pagina HTML da inviare in risposta al browser La pagina inviata in risposta non esiste come file fisico sul server, ma è generata al volo (=dinamicamente) a seguito della richiesta del browser (es. carrello della spesa, forum, etc.)

11 Politecnico di Milano Cultura tecnologica del progetto11 Primo Esempio Index.html Un documento html può avere estensione.htm o.html Contenuto Tag iniziale Il Browser è un applicazione software che consente di vedere e di interagire con un documento html Tag finale

12 Politecnico di Milano Cultura tecnologica del progetto12 Elementi Un documento HTML è composto da ELEMENTI –Un elemento può a sua volta contenerne altri in modo nidificato Un ELEMENTO è composto da un testo solitamente racchiuso tra 2 tag che ne indicano linizio e la fine –Es.: … Alcuni elementi hanno solo il tag di inizio –Es.: usato come interruzione di riga I tag hanno sempre la forma Il contenuto di un ELEMENTO è la stringa testuale racchiusa tra i due tag –Testo –Altri elementi nidificati I tag non sono case sensitive –

13 Politecnico di Milano Cultura tecnologica del progetto13 Attributi I tag possono avere degli attributi Gli attributi consentono al designer di definire caratteristiche e proprietà di un elemento adattandolo al contesto del documento Sono sempre nel formato nome_attributo=valore –Es.: … Sono sempre aggiunti nel tag iniziale dellelemento I browser commerciali permettono di usare attributi proprietari al di fuori degli standard. E una pratica sconsigliata poiché: –Su browser diversi si potrebbero ottenere risultati diversi –In alcuni casi attributi non aderenti allo standard vengono ignorati

14 Politecnico di Milano Cultura tecnologica del progetto14 Elemento Contenuto Start TagEnd Tag Attributo Gli elementi br e img non hanno il tag finale

15 Politecnico di Milano Cultura tecnologica del progetto15 Formattazione del testo: Headings Sono definiti dai tag fino ad Vengono utilizzati per differenziare diverse parti di un documento in base alla loro importanza Vengono visualizzati da diversi browser con variazioni nelle dimensioni e nello stile, ma tutti seguono la regola che viene visualizzato lo stile di dimensioni maggiori in grassetto con H1 e quello di dimensioni minori con H6 Lautore può variare lo stile (grassetto-sottolineato…) allinterno dellelemento

16 Politecnico di Milano Cultura tecnologica del progetto16 Paragrafi Il browser non visualizza gli spazi multipli e i new line (=a capo) –Ogni sequenza di spazi viene contata come un solo carattere di spazio –Ogni a capo viene tradotta in uno spazio Come risultato tutto il documento viene riportato su una sola riga e riformattato in base alla dimensione della finestra Un modo per dividere il documento in paragrafi è usare lelemento testo … –Il testo inizierà su una nuova riga e sarà allineato in base allattributo align Perché non usare ? – va semplicemente a capo mentre aggiunge solitamente mezza riga di spazio per separare il paragrafo dal resto (vedi esempio)

17 Politecnico di Milano Cultura tecnologica del progetto17

18 Politecnico di Milano Cultura tecnologica del progetto18 Stili Fisici Vincolano il testo ad avere un determinato aspetto –Stile del carattere –Dimensione –Colore … testo in grassetto … testo corsivo … apice … pedice … testo inserito … testo cancellato

19 Politecnico di Milano Cultura tecnologica del progetto19 Stili logici Dicono che funzione ha una parte di testo anziché stabilire fisicamente a come viene visualizzato Sarà il browser a decidere come visualizzarli … testo enfatizzato … testo di maggiore enfasi … contrassegna indirizzi di posta –Si comporta in modo simile a separando il contenuto dal resto del documento Alcuni tag sono ibridi: non definiscono ne un aspetto fisico ne un utilizzo logico – … il testo ha una dimensione maggiore rispetto a quella standard – … il testo ha una dimensione minore rispetto a quella standard

20 Politecnico di Milano Cultura tecnologica del progetto20

21 Politecnico di Milano Cultura tecnologica del progetto21 Entità Hanno due funzioni –Permettono di visualizzare caratteri che non sono presenti sulla tastierà –Permettono di visualizzare caratteri che che hanno un significato particolare in HTML e non verrebbero visualizzati in altro modo Ad esempio Si definiscono in due modi –&nome_entita; (esempio: <) –&#numero_entità; (esempio:  )

22 Politecnico di Milano Cultura tecnologica del progetto22

23 Politecnico di Milano Cultura tecnologica del progetto23 Link È lelemento che più ha contribuito allespansione del World Wide Web Permette –Di navigare dal documento corrente ad un altro –Di navigare tra due punti dello stesso documento –Di adoperare altri servizi (mail, ftp,…) Sintassi: LINK: – testo visualizzato ANCORA: permette di navigare direttamente verso un punto del documento – testo visualizzato

24 Politecnico di Milano Cultura tecnologica del progetto24 Mentre il link è visualizzato in modo differente rispetto al resto del testo, lancora è formattata come testo standard

25 Politecnico di Milano Cultura tecnologica del progetto25 Frames Permettono di dividere una pagina web in parti distinte aumentando il controllo sulle informazioni visualizzate Sintassi: … … È possibile partizionare la pagina orizzontalmente, verticalmente o in modo misto –...

26 Politecnico di Milano Cultura tecnologica del progetto26

27 Politecnico di Milano Cultura tecnologica del progetto27 Tabelle Permettono di formattare il layout di una pagina (o di una sua parte) in forma tabellare (righe,colonne) Sintassi – didascalia titolo prima col. titolo seconda col. prima colonna, prima riga … …

28 Politecnico di Milano Cultura tecnologica del progetto28 Attraverso lattributo border andiamo a definire quanto la struttura della tabella è visibile allutente

29 Politecnico di Milano Cultura tecnologica del progetto29 HTML come linguaggio formale HTML è un linguaggio formale Questo significa che –E sempre possibile decidere se una frase fa parte o meno del linguaggio (decidibilità) –E possibile determinare in modo univoco il significato di una frase In un linguaggio formale distinguiamo: –Sintassi: insieme delle regole che permettono di costruire frasi corrette –Semantica: insieme delle regole che permettono di dare un significato alle frasi del linguaggio (una frase può essere sintatticamente corretta ma non aver nessun significato semantico) In generale la programmazione di un computer avviene attraverso un linguaggio formale Ovvero: Un linguaggio di programmazione è un linguaggio formale, non sempre è vero il viceversa –HTML NON E un linguaggio di programmazione

30 Politecnico di Milano Cultura tecnologica del progetto30 Grammatica La sintassi di un linguaggio formale viene descritta attraverso una grammatica Una grammatica formale viene descritta: –Definendo tutti i simboli che è possibile utilizzare nel linguaggio –Definendo le regole sintattiche che permettono di utilizzare i simboli per generare frasi Per esempio nella grammatica del linguaggio HTML –I simboli sono rappresentati dallinsieme dei caratteri dellalfabeto e da tutte le parole speciali,,… –Le regole sintattiche sono tutte quelle che si occupano del corretto uso degli elementi (tag di apertura e di chiusura, attributi,…)

31 Politecnico di Milano Cultura tecnologica del progetto31 Errore sintattico: lelemento è stato chiuso in modo imprevisto.

32 Politecnico di Milano Cultura tecnologica del progetto32 Errore semantico: il documento è sintatticamente corretto ma il funzionamento non è quello desiderato dallautore.

33 Politecnico di Milano Cultura tecnologica del progetto33 Indice Il World Wide Web –Sistemi informativi lineari e non lineari: gli ipertesti –Il Web: cenni storici –Cenni di HTML –HTML come linguaggio formale Cenni di XML Fondamenti di programmazione –Il linguaggio Javascript Introduzione al modello open source

34 Politecnico di Milano Cultura tecnologica del progetto34 XML: un linguaggio a markup estensibile LExtensible Markup Language (XML) è uno standard del W3C nato nel febbraio del 1998 Si tratta di un linguaggio a markup estensibile –Un sottoinsieme di SGML –Con il quale è possibile creare nuovi tag Tale linguaggio può essere usato per descrivere, in forma testuale, informazioni strutturate Es. –Descrivere un prodotto avente un codice, un colore, una descrizione testuale –Descrivere un prodotto composto da parti ognuna delle quali caratterizzata da informazioni specifiche Il suo ambito naturale di utilizzo è quindi nel supporto alle attività di business-to-business

35 Politecnico di Milano Cultura tecnologica del progetto35 XML: un linguaggio a markup estensibile Come tutte le specifiche W3C, XML è uno standard aperto e indipendente dalla piattaforma Un documento XML è un documento di puro testo composto da dati e tag –In tal senso un documento XML assomiglia ad un documento HTML Lintero linguaggio HTML può essere definito usando XML

36 Politecnico di Milano Cultura tecnologica del progetto36 XML: un esempio Ing. Mario Rossi P.zza Leonardo da Vinci 1 Milano Italia 20133

37 Politecnico di Milano Cultura tecnologica del progetto37 XML vs. HTML HTML è un linguaggio di descrizione di pagina –I tag HTML permettono di descrivere come certe informazioni dovranno apparire a video –HTML fornisce informazioni legate allaspetto dei dati XML è un linguaggio di descrizione di dati –I tag XML nascono per definire informazioni riguardanti il tipo del dato, come esso sia strutturato e cosa le diverse parti rappresentino I tag HTML sono predefiniti –Nuove versioni di HTML aggiungono sempre nuovi tag XML permette la definizione di nuovi tag

38 Politecnico di Milano Cultura tecnologica del progetto38 Possibili utilizzi di XML In generale XML facilita lo scambio di dati tra applicazioni –Per applicazioni di business-to-business –Per permettere linteroperabilità tra applicazioni diverse Es. Database –Per creare formati standard che superino i vincoli dei formati proprietari (es. file word vs. XML) Miglioramento delle tecnologie di ricerca –Es. ricerca di informazioni commerciali (prezzo migliore per un certo tipo di prodotto) Scambio di informazioni tra agenti o tra agenti e siti Se HTML è il linguaggio per il rendering di informazioni sotto forma di pagine web, XML è il linguaggio per lo scambio dati su web

39 Politecnico di Milano Cultura tecnologica del progetto39 Caratteristiche di un documento XML Ogni documento XML inizia con una dichiarazione nella forma: – Un documento XML può essere: –Ben formato –Valido Un documento ben formato soddisfa le regole generali di XML –Per ogni tag aperto ne esiste uno chiuso –Vengono rispettate le regole di inclusione –... Un documento valido è un documento ben formato al quale è associato un document type definition (DTD) –Il DTD definisce quali tag possano essere utilizzati e come

40 Politecnico di Milano Cultura tecnologica del progetto40 Documenti ben formati Un documento XML è ben formato se: –Ha uno ed un solo elemento radice Che non è contenuto allinterno di nessun altro elemento –Viene rispettata la regola di corretto annidamento tra elementi Per ogni start-tag interno ad un elemento X esiste un end-tag posto prima della fine di X –Vengono rispettate le regole sulla sintassi dei tag Uso di soli caratteri alfanumerici nel nome del tag, … Un documento ben formato può essere utilizzato per descrivere un qualsiasi tipo di dato Ad esso non è esplicitamente associato alcun descrittore del tipo

41 Politecnico di Milano Cultura tecnologica del progetto41 I DTD Un DTD definisce le regole che un documento XML deve soddisfare per essere considerato valido rispetto a quel DTD Tali regole definiscono nome e tipo del contenuto di ogni elemento che può apparire nel documento Nonché le regole che definiscono dove tale elemento può o deve apparire allinterno del documento Un DTD rappresenta la definizione della grammatica di un linguaggio –Il linguaggio che deve essere usato per definire tutti i documenti validi rispetto a quel DTD

42 Politecnico di Milano Cultura tecnologica del progetto42 I DTD: Un esempio

43 Politecnico di Milano Cultura tecnologica del progetto43 Documenti validi Un documento XML è valido se: –E ben formato –Ha un DTD associato –E conforme al DTD associato Rispetta le regole sintattiche ivi definite Un documento XML valido inizia con la dichiarazione: – Lassociazione documento XML – DTD si ottiene tramite luso del tag DOCTYPE nel documento XML: – oppure

44 Politecnico di Milano Cultura tecnologica del progetto44 XML: un insieme di tecnologie CSS XSL XSLT XPath DOM …

45 Politecnico di Milano Cultura tecnologica del progetto45 Indice Il World Wide Web –Sistemi informativi lineari e non lineari: gli ipertesti –Il Web: cenni storici –Cenni di HTML –HTML come linguaggio formale Cenni di XML Fondamenti di programmazione –Il linguaggio Javascript Introduzione al modello open source

46 Politecnico di Milano Cultura tecnologica del progetto46 Pagine attive: Javascript È stato progettato per migliorare le capacità del codice HTML e per rendere attive le pagine web Il codice javascript è incorporato nei documenti HTML dentro i quali viene esegito È un linguaggio interpretato (linterprete è il browser) –Quindi il funzionamento dipende dal tipo di browser utilizzato È basato su eventi: –La maggior parte del codice viene attivato da azioni dellutente (ad esempio cliccando su un bottone)

47 Politecnico di Milano Cultura tecnologica del progetto47 Linguaggi compilati ed interpretati Il compilatore non esegue il programma che riceve in ingresso, ma lo traduce in linguaggio macchina. Il software viene eseguito dalla CPU Diversamente i linguaggi interpretati non vengono compilati ma eseguiti direttamente da un software particolare (interprete). In teoria per qualunque linguaggio è possibile sviluppare sia un compilatore che un interprete Luso dellinterpete peggiora le prestazioni run-time ma consente una fase di sviluppo rapida eliminando le fasi di compilazione e linking

48 Politecnico di Milano Cultura tecnologica del progetto48 Linguaggi compilati ed interpretati Codice sorgente Codice oggetto Eseguibile Compilatore linker interprete Loader esecuzione

49 Politecnico di Milano Cultura tecnologica del progetto49 Primo esempio Il codice viene inserito tra due tag ESEMPIO

50 Politecnico di Milano Cultura tecnologica del progetto50 Dove si posiziona il codice? HEAD –Utile per scatenare eventi, assicura che tutte le funzioni di cui si ha bisogno vengano caricate e siano pronte alluso. BODY –Utile per inserire contenuti direttamente nel documento File esterno –Utile quando si usa il medesimo codice in diverse pagine Manutenzione facilitata

51 Politecnico di Milano Cultura tecnologica del progetto51 Variabili Vengono usate per conservare dati Javascript è case sensitive –Risultato è diversa da risultato Dichiarazione È possibile ma non indispensabile adoperare lidentificatore var durante la creazione di una variabile

52 Politecnico di Milano Cultura tecnologica del progetto52 Funzioni Una funzione è una porzione di programma, costituita da un insieme di istruzioni che complessivamente eseguono una determinata operazione o risolvono un determinato problema Una funzione può restituire un valore ma non è necessario –Una funzione può essere chiamata per ottenere un valore come risultato oppure perché produce un determinato effetto pur senza ritornare nessun valore (ad esempio può redirezionare il browser su unaltra pagina o aprire una finestra) Una funzione può essere invocata da qualsiasi punto di una pagina Una funzione può a sua volta richiamare un'altra funzione o addirittura se stessa (si parla in questo caso di programmazione ricorsiva) La funzione invocante rimane sospesa fino al termine della funzione invocata

53 Politecnico di Milano Cultura tecnologica del progetto53 Come definire una funzione Si aspetta dei parametri e ritorna un valore Non richiede parametri e non ritorna un valore Si aspetta dei parametri e non ritorna un valore Non richiede parametri e ritorna un valore

54 Politecnico di Milano Cultura tecnologica del progetto54 Esempio

55 Politecnico di Milano Cultura tecnologica del progetto55 Validità delle variabili Una variabile dichiarata dentro una funzione ha validità solo allinterno della funzione Una variabile dichiarata allesterno di una funzione ha validità in tutta la pagina Nellesempio precendente che validità hanno le variabili –valoreDaRestituire ? –risultato ?

56 Politecnico di Milano Cultura tecnologica del progetto56 Eventi Sono azioni che vengono intercettate dal browser e permettono di eseguire codice javascript in seguito allinterazione con lutente –Premendo un pulsante si può ad esempio invocare una funzione Esempi di eventi –Click del mouse –Passaggio del mouse su un elemento (anche senza click) –Caricamento della pagina –… Ogni evento viene associato ad una funzione da eseguire

57 Politecnico di Milano Cultura tecnologica del progetto57 Form Completano linterfaccia di I/O permettendo allutente di inserire valori Vengono racchiusi nei tag … Gli elementi che possono essere inseriti in un form sono –Campi di testo –Checkbox –Pulsanti –… Possono attivare eventi e lanciare funzioni javascript

58 Politecnico di Milano Cultura tecnologica del progetto58 Form ed Eventi: Esempio Evento

59 Politecnico di Milano Cultura tecnologica del progetto59 Accesso ai dati Nonostante Javascript sia un linguaggio orientato agli oggetti è possibile programmare in modo funzionale (senza creare oggetti) Tuttavia per accedere alle variabili inserite dallutente nel form è necessario usare gli oggetti built-in di javascript Per i nostri scopi basterà immaginare questi oggetti come contenitori di variabili o di altri contenitori. –Per arrivare ad una variabile dobbiamo attraversare un percorso che passa dal contenitore più grande fino al valore che ci interessa –casa.stanza.letto.lenzuola.colore Esempio: parametro = document.forms.demo.testo.value

60 Politecnico di Milano Cultura tecnologica del progetto60 Accesso ai dati document.forms.demo.testo.value Pagina html Tutte le form presenti nella pagina demo testo

61 Politecnico di Milano Cultura tecnologica del progetto61 Funzioni predefinite - Es.: Popup alert(messaggio") E una funzione esattamente come quella che abbiamo definito nel codice, con la differenza che è gia stata definita dagli sviluppatori di javascript (built-in) per cui possiamo invocarla pur senza sapere come è implementata. Fa parte delle funzioni che non restituiscono un valore ma che vengono utilizzate Per leffetto che hanno. In questo caso leffetto è di aprire una finestra popup sullo Schermo visualizzando il messaggio che viene passato come parametro

62 Politecnico di Milano Cultura tecnologica del progetto62 Esempio

63 Politecnico di Milano Cultura tecnologica del progetto63 Esecuzione condizionale Permette di intraprendere azioni differenti in base al valore vero o falso di una espressione Codice sotto condizione Due sequenze eseguite Una in alternativa allaltra Doppia condizione con 3 alternative

64 Politecnico di Milano Cultura tecnologica del progetto64 Esempio (Flow chart) numero > 0 ? lascia il segno invariato numero < 0 ? numero = 0Inverti il segno si no si Calcolo del valore assoluto di un numero

65 Politecnico di Milano Cultura tecnologica del progetto65 Esempio (test)

66 Politecnico di Milano Cultura tecnologica del progetto66 Esempio (implementazione) ESEMPIO

67 Politecnico di Milano Cultura tecnologica del progetto67 Ripetizione La stessa sequenza di operazioni viene eseguita più volte fino allavverarsi della condizione di uscita Controllo in testa Controllo in coda (il codice viene eseguito almeno una volta

68 Politecnico di Milano Cultura tecnologica del progetto68 Esempio (Flow chart) parametro > 0 ? combinazione = 1 contatore = parametro contatore > 0 ? comunica il risultato combinazione = combinazione * 2 contatore = contatore -1 si no si Acquisisci lesponente parametro = esponente fermati Calcolo del numero di colori che è possibile rappresentare con N bit

69 Politecnico di Milano Cultura tecnologica del progetto69 Esempio (test)

70 Politecnico di Milano Cultura tecnologica del progetto70 Esempio (implementazione) ESEMPIO

71 Politecnico di Milano Cultura tecnologica del progetto71 Indice Il World Wide Web –Sistemi informativi lineari e non lineari: gli ipertesti –Il Web: cenni storici –Cenni di HTML –HTML come linguaggio formale Cenni di XML Fondamenti di programmazione –Il linguaggio Javascript Introduzione al modello open source

72 Politecnico di Milano Cultura tecnologica del progetto72 Categorie di software Software Open source / Libero Pubblico dominio Proprietario Chiuso Software con licenza GPL LGPL … Free Download

73 Politecnico di Milano Cultura tecnologica del progetto73 Software proprietario Il suo utilizzo, la ridistribuzione o modifica sono proibiti o richiedono un permesso o sono sottoposti a tali vincoli che in pratica non si possono fare liberamente. Il software chiuso rappresenta la maggior parte del software proprietario e non rende disponibile il codice sorgente Allinterno del software proprietario trovano posto anche i programmi shareware –E possibile redistribuire il programma ma per il continuare ad usarlo è necessario pagare una licenza

74 Politecnico di Milano Cultura tecnologica del progetto74 Open Source Il codice sorgente deve essere disponibile Il termine Open Source indica un software la cui licenza prevede la possibilità per tutti gli utilizzatori di ottenere il codice sorgente Questo da la possibilità a tutti gli sviluppatori di migliorare il software La collaborazione di molti sviluppatori permette ad un programma di evolvere in modo più veloce rispetto al caso di un ristretto team di programmatori Possiamo dividere il software open source in –Software di pubblico dominio –Software con permesso dautore copyleft

75 Politecnico di Milano Cultura tecnologica del progetto75 Open source e software libero Non sono la stessa cosa, rappresentano due correnti filosofiche diverse pur coesistendo su molti aspetti specifici Open source è una metodologia di sviluppo –Trae dalla condivisione del codice sorgente benefici pratici Il software libero è un movimento sociale –Il software libero è una questione di libertà non di soluzione di sviluppo ottimale o di prezzo –Libertà di eseguire il programma, per qualsiasi scopo –Libertà di studiare come funziona il programma e adattarlo alle proprie necessità –Libertà di ridistribuire copie in modo da aiutare il prossimo –Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio

76 Politecnico di Milano Cultura tecnologica del progetto76 Pubblico dominio Di solito si usa il termine pubblico dominio come sinonimo di libero ma in realtà ha un significato giuridico preciso È un particolare software privo di diritto di autore (privo di copyright) Significa che il programma è modificabile e redistribuibile imponendo anche vincoli sul suo utilizzo Quindi un software può nascere come pubblico dominio ed essere modificato e redistribuito a pagamento È il caso di un noto server grafico linux (X11)

77 Politecnico di Milano Cultura tecnologica del progetto77 Permesso dautore (copyleft) ll software con permesso d'autore (copyleft) è software libero le cui condizioni di distribuzione non permettono ai ridistributori di porre alcuna restrizione addizionale all'atto di ridistribuire o modificare il software. Questo significa che ogni copia del software, anche se modificata, deve essere software libero. Un esempio di copyleft è la licenza GPL (General Public Licence) utilizzata dalla maggior parte delle comunità open source Copyleft è un gioco di parole –copyright tende a tutelare il diritto d'autore, anche attraverso limitazioni all'accesso della conoscenza, mentre il copyleft intende tutelare il più generale diritto della collettività a fruire dei prodotti

78 Politecnico di Milano Cultura tecnologica del progetto78 Free download Il software liberamente scaricabile non appartiene necessariamente ad una categoria precisa tra quelle viste Spesso anche il codice proprietario può essere scaricato ed adoperato (ad esempio i vari plug-in per internet explorer che permettono di vedere animazioni) Si usa il termine Freeware per indicare questo tipo di software che può essere liberamente scaricato e redistribuito ma non modificato Un ulteriore categoria è rappresentata dal software semilibero che può essere utilizzato redistribuito e modificato ma non per fini di lucro


Scaricare ppt "Introduzione ai Linguaggi Formali: HTML e XML Fondamenti di Programmazione: Cenni di Javascript Politecnico di Milano Facoltà del Design – Bovisa Prof."

Presentazioni simili


Annunci Google