Loading
Note di Apprendimento
Study Reminders
Support
Text Version

Separazione UI Da elaborazione

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Ciao a tutti, benvenuti nella prima sessione della terza settimana del corso di introduzione asviluppo applicazioni moderne. La scorsa settimana abbiamo visto la versione di riga di comando dell'applicazione di fair share. Abbiamo anche visto la versione grafica della stessa applicazione. La versione line di comandoera un codice semplice che effettivamente implementava l'algoritmo di base che abbiamo visto nella prima settimanadi questo corso.
Come scritto, la versione di riga di comando ha illustrato uno stile procedurale di programmazione in un linguaggio Java. Nonostante Java sia un linguaggio orientato agli oggetti, l'abbiamo usato per programmare in uno stileprocedurale. Tuttavia, il supporto delle strutture orientate agli oggetti che Java fornisce è stato utilizzato durante la versione graficadi questo codice.
Nella versione a righe comandate, abbiamo distinto tra stile interattivo e non interattivo diinteragendo con l'utente. Il nostro approccio di linea di comando era molto non interattivo. In altre parole,tutte le informazioni rilevanti richieste per l'operazione dovevano essere date a destra dalla riga di comandoprima che il nostro programma iniziasse a funzionare.Il nostro programma aveva tre diverse modalità o comandi utente che erano i seguenti:1. La modalità di registrazione, che ha iniziato un'interazione dei coinquilini registrati.2. Questo è stato seguito da una o più modalità di spesa, dove l'applicazione ha registrato vari eventiper i quali è stata registrata la quantità di denaro e di coinquilino che hanno pagato.3. La terza modalità era la segnalazione di più. Questa modalità è stata usata da un solo coinquilino per chiedere al sistemaquali sono i soldi che deve ricevere o pagare.Abbiamo introdotto alcune carenze nel programma che avevamo presentato durante la riga di comando, speriamo di aver trovato quello che sono, se qualcuno è migliorato su di loro.La versione della riga di comando come presentata ha illustrato anche alcuni aspetti su come progettare un'interazione utente. Una delle restrizioni che ha dato è stato il comando potrebbe essere utilizzato da uno e soloun coinquilino alla volta. La versione grafica è migliorata un po' sulla rigidità della linea di comando;ha fornito interattività. E più che l'interattività, ha permesso all'utente di non preoccuparsi della sintassi esatta, ma si concentra sulle informazioni che devono essere manipolate.In questo caso le uniche informazioni realmente richieste dai coinquilini sono la quantità di denaroed eventi per cui sono state fatte le spese, e da chi. La riga di comando ci ha costretto aricordare la sintassi esatta del comando per ogni modalità che vogliamo che il programma venga eseguito. Per l'esempio, per il ricovero di una spesa, dobbiamo ricordare che la parola chiave exp deve arrivare dopoil comando ma prima dell'importo; non è stato possibile commutare l'ordine dei due. Quindi, peresempio, non è stato possibile eseguire il comando di share fair con argomenti in cui l'importo èseguito dalla parola chiave exp.Si potrebbe fare questo solo se si modifica l'architettura della programmazione all'interno del programma equo share, ma la versione grafica ci ha permesso di essere liberi da tale tipo di emissione. Tuttavia,
sia la grafica che la riga di comando funzionano su un singolo computer, potrebbero essere utilizzate dauno e un solo coinquilino alla volta. A questo punto è possibile che alcuni di voi possano obiettire chebene, la maggior parte dei sistemi operativi oggigiorno che utilizziamo sui nostri computer sono multi utente, quindi tutto quello chedobbiamo fare è avere più utenti su quella macchina. Certo abbastanza, questo è possibile. Ma a qualsiasi datopunto di tempo la tua macchina sarebbe usata da uno e solo un solo coinquilino. Se un altrocoinquilino lo usa, allora lui o lei si collega dentro il suo account su quella stessa macchina. Ma a qualsiasidato momento uno e solo un utente lo sta usando. In secondo luogo, non abbiamo progettato il nostro programma di comandoline tale che funziona con più utenti contemporaneamente.Ad esempio, utilizza un singolo database di file come singolo database e quel file è lo stesso se il programmaviene eseguito dall'utente 1 o dall'utente 2. Questo dà origine a molti problemi. Ad esempio, se entrambi gli utentitentano di modificare il file contemporaneamente, come gestiamo questo? Non abbiamo programmatoil nostro sistema per una cosa del genere. Quindi, anche per il programma può funzionare su un sistema multi utente, non è davveroabbastanza forte da affrontare le complessità di un sistema multi utente; è infatti progettando un singolo utente.A un certo punto vorremmo generalizzare questo per poter gestire più utenti. Quindi, che più utentipossono eseguire lo stesso programma. Ok, queste sono state alcune delle cose che abbiamo visto nella scorsa settimana,dove abbiamo sviluppato una linea di comando oltre che una versione grafica della nostra applicazione di fair share.Ora facciamo il passo successivo in questa settimana.Sebbene la versione grafica della nostra applicazione fosse un po' migliore rispetto alla versione della riga di comando, entrambihanno lavorato su un singolo computer e un singolo utente. Per inserirlo in una lingua diversa, se il nostro programma di condivisione equoè considerato come offrire un servizio per avere i coinquilini, allora il nostro computerdiventa il punto di accesso per quel servizio e un modo per descrivere la situazione è questo servizio haun unico punto di accesso. Così, un consumatore del servizio, che è qualsiasi dei coinquilini, avrà tuttidi quei consumatori avrà solo un unico punto di accesso.Il nostro prossimo passo quindi, è vedere come possiamo cambiarlo da un unico punto di accesso a più multipli.Ecco dove introdurremo il networking. Le reti di computer ci permettono di aumentare effettivamente il numero didei punti di accesso per quel servizio. Nel nostro caso procederemo di nuovo passo dopo passo. Primo, noi
si concentrerà solo sul presentare l'output i risultati sopra la rete. In altre parole, saremoseparando l'interfaccia utente dall'elaborazione.Così, i risultati della lavorazione vengono presentati all'utente ed è questa parte che saràseparata. Sulla nostra applicazione di riga di comando presenta l'output sul terminale, ma quel terminalesi trova sullo stesso posto della macchina. Allo stesso modo, per un sistema grafico, quello che vorremmo fareè quello di portare l'interfaccia utente di uscita dalla macchina locale ad una macchina remota in tutta la rete.Se possiamo consentire l'input e l'output sia in rete, questo ci permetterà di avere piùpunto di accesso ciascuno connesso tramite la rete al sistema di elaborazione unico. Quindi, saranno possibili più accessipunti e tutti i nostri coinquilini potranno accedere all'applicazione di fair share dapunti diversi, e non saranno tenuti ad utilizzare necessariamente lo stesso computer.(Fare Slide Time: 11.14)
analizzeremo questo aspetto in questa sessione. L'idea chiave di separare la UI dall'elaborazioneè nell'apprezzare alcuni dispositivi di output dei dispositivi di output di base, la nave dei dispositivi di input nei dati. Nédi loro produce davvero nuovi dati. Non generano nulla. Se potessimo semplicemente standardizzare il rendering, ci stiamo concentrando sulla standardizzazione del rendering perché in questo momento siamo interessati asolo generando l'output.
Perché ci standardizziamo? l'applicazione grafica oltre che la versione a riga completamente di comandodella nostra applicazione, entrambi presentava a noi alcuni concetti molto interessanti. La versione di comandoversione ha sostenuto che ci sono una varietà di dispositivi di output, e invece di affrontare tutti,lasciaci creare un'astrazione chiamata come un dispositivo di output standard. Abbiamo scritto i nostri programmi a soloprint sul dispositivo di output standard e l'abbiamo lasciato al sistema operativo per decidere cosa sarà quel dispositivo.
Al contrario, un'applicazione grafica non potrebbe farlo, e questo ci farà rimanere bloccati. A seconda del sistema graficoparticolare che abbiamo utilizzato per programmare, o il codice che abbiamo scritto per presentare l'output, ci richiederebbe di presentare output in formato diverso. Ha vinto il caso di essere il caso in cui possiamosemplicemente emettere i dati a STDOUT come abbiamo fatto nella versione a riga di comando.Questo problema è molto simile allo scenario di avere una varietà di dispositivi di output. E proprio come sul'applicazione della riga di comando, abbiamo creato un dispositivo di output standard, dobbiamo fare qualcosasimile per la grafica. Ed è per questo che standardizzare il rendering significa.Come si standardizza? Beh, usiamo HTML e CSS. Infatti, HTML e CSS sono l'interfaccia utente universale. Questo è ciò a cui vorremmo davvero attirare la vostra attenzione.
(Riferimento Slide Time: 13.55)
Prima di passare alle combinazioni HTML e CSS facciamo un rapido sguardo a ciò che la grafica – cosaintendiamo per grafica. Al suo stesso nucleo, come potremmo averlo imparato in corso di computer grafica, la graficaè raster o grafica vettoriale. E si occupa di due aspetti principali: l'informazione e l'interfaccia. Le informazioni sono di vario tipo, potrebbe essere:• Textual• Numerical• Audio• Visual (come video, immagini ...)Sul lato dell'interfaccia, abbiamo una varietà di meccanismi di input-output che spaziano da tattile touch adispositivi di puntamento (tipicamente un mouse), uscita audio (monitor), uscita video (monitor) ... così via ecosì via. Ricordiamo che su un'applicazione di riga di comando il nostro hardware di output potrebbe essere variegato e noiabbiamo standardizzato l'output creando il dispositivo di output standard, che permetteva ai nostri programmi di esserescritti molto semplicemente; semplicemente si stampano sul dispositivo di output standard e si prende cura diil nostro. Allo stesso modo, allo stesso modo se standardizziamo il sistema di grafica durante lo sviluppo delle applicazioni della GUI, allora potremmo prendere la visualizzazione in uscita dalla macchina locale al dispositivo di uscita della macchina localeo dalla macchina locale in tutta la rete ad una macchina remota. Questa possibilitàsi apre. Non solo ci sono più modi di presentare l'output, ci sono più dispositividi output a cui possiamo presentare l'output.
(Riferimento Slide Time: 15.51)
Questo è ciò che ci dà i nostri strumenti web standard, l'HTML, il CSS e quello che chiamiamo come documentooggetto modello DOM. Ci sono momenti in cui sentiamo che è meglio visualizzare il web come un sistema di3 entità, l'HTML, il CSS e il DOM. L'HTML parla di cosa visualizzare, il contenuto.HTML come sta per linguaggio di markup ipertestuale, ciò che significa è che il contenuto da visualizzareè segnato per il tipo di presentazione che dovrebbe essere.E'una marcatura logica. Così, come autore potrei dire che voglio, nel mio contenuto, iniziare a sottolineareil mio contenuto dal punto A al punto B. dico solo che voglio sottolinearlo e segnare l'enfasidal punto A al punto B. Ora è lasciato fino al sistema di rendering in realtà disegnare. Non sololo disegna prima decide come render. Quindi, potrebbe dire che un'enfasi va fatta in un forsecon una sottolineatura o potrebbe essere possibile anche immaginare che un'enfasi sarà fatta da soloche cambia il colore.La separazione dal contenuto e dalla presentazione è uno dei fattori chiave che rende il web cosìinteressante.
(Riferimento Slide Time: 17.55)
A parte l'HTML, la nostra prossima entità nel web è la DOM, il modello oggetto del documento. Il modello di oggetto del documentospecifica la struttura logica dei componenti di HTML, nonchéCSS, infatti il documento. Quindi, dice che un documento è costituito da una testa, un corpo; un corpo sarebbecostituito da un'intestazione seguita da un paragrafo, magari uno o più paragrafi. Potrebbe avere una sottointestazione, che potrebbe avere di nuovo un paragrafo.E'questo albero come struttura a partire dal documento: il corpo, la prima intestazione, il paragrafo dil'intestazione e così via. Questa struttura ad albero, è ciò che il modello oggetto del documento modello realmentecattura. Questo quadro che le offerte DOM viene specificato, come utilizzarlo, è specificato da HTMLe come visualizzarlo, come presentarlo è specificato dai fogli di stile a cascata.
(Riferimento Slide Time: 19.02)
Ai loro fogli di stile a cascata più semplice specificano semplicemente come un certo elemento di markup di HTML siada rendering al sistema di output. Da notare che questo ci permette di specificare o adattare a diversi sistemi di outputsemplicemente cambiando il foglio di stile. Quindi, ad esempio, se il nostro dispositivo fosse un dispositivo video, allora potremmo segnare usando dei manici visivi. Così, ad esempio, potremmo segnare dache cambia il colore usato per l'enfasi.D'altra parte, se la nostra emissione è un semplice speaker sonoro, canale audio, allora un'enfasi potrebbeessere in termini di modifica del volume semplicemente rendendolo più forte, o più stressato mentre parla.Così, i dettagli di presentazione effettivi per un determinato dispositivo sono gestiti dal CSS. Così, il CSS davverosi occupa di come visualizzare utilizzando il contenuto che le forniture HTML. Costruiremo gradualmente piùman mano che andiamo avanti. Vi suggeriamo però di guardare davvero alla fonte principale di informazioni su questi standard, HTML, DOM e CSS sul web wide web. Troverete queste informazioni awww.w3.org.
(Riferimento Slide Time: 21.02)
Ora andiamo avanti e guardiamo l'applicazione effettiva. Stiamo per cominciare a creare, dalla nostra applicazione di linea puramente di comando, una versione bare HTML della nostra applicazione. By bare HTML, Imedia, la nostra applicazione uscirà solo completamente solo in termini di HTML. Dopo averlo fatto, noipasseremo poi al passo successivo dove aggiungiamo le informazioni di styling tramite fogli di stile.Noi utilizzeremo i fogli di stile in modo molto semplice per illustrare come le modifiche, come il cambiamento di stylingsi verifica solo utilizzando fogli di stile. Quindi di nuovo, passeremo per la prima volta a passare dauna pura applicazione di riga di comando a un'applicazione bare HTML. E poi aggiungiamo, come passo successivo, fogli di stile. Il commento finale qui è che voglio che tu tenga presente che il nostro fair share commandline application è uno stile procedurale di utilizzo di Java.E cambieremo quello stesso pezzo di codice per creare un HTML o un HTML bare, qualunque sia il caso. Cambieremo la stessa applicazione della riga di comando. Potresti volercambiare in realtà la versione orientata agli oggetti dell'applicazione in modo che genera HTML eHTML con fogli di stile.Questo potrebbe essere un buon punto per fare una pausa.
(Video Starts: 23.13)Ora apriremo il prompt dei comandi. Abbiamo già scritto i programmi Java di cui abbiamo bisogno.Ed ecco l'applicazione FairShare. Abbiamo esattamente lo stesso programma che avevamo visto lo scorsotime, quando in realtà abbiamo fatto in dettaglio la versione di riga di comando di questo programma. Come possiamo vedere cheil programma sarà avviato da &ld&eque principale, e poi è andato avanti per fare setup e elaborare linee di comando,argomenti e così via, così via.Facciamo compilare questo programma e creare un file di classe. Il compilatore Java &ldè javac.exe che abbiamousato è stato installato nel punto che abbiamo mostrato sul nostro schermo. Per favore usa il tuo nome di percorsoper il tuo compilatore Java, questo cambia perché dipende da dove hai installato il tuo sistema JavaJDK. Quindi, ovunque tu abbia installato il tuo sistema Java JDK all'interno di quella cartella, vai nella cartellabin e poi vedrai il tuo compilatore Java.Così, qui andiamo. Voila, ha compilato con successo! Ora eseguiamo questo. Ancora, il percorso esattovarierà per ognuno di voi, perché dipende da dove avresti installato la tua JavaJava. Il modo in cui utilizziamo l'applicazione di condivisione equa è utilizzando uno qualsiasi dei 3 comandi utente maabbastanza naturalmente inizieremo registrando i nostri amici f1, f2, f3 e f4. Diciamo che 4 di loroci sono. Voila, ha registrato 4 amici!Fateci alcune spese di esempio. Diciamo se spendiamo circa 200 rupie. Scriviamo i comandicorretti nel prompt per aggiungere le spese.Così, aggiungiamo di seguito gli eventi:• f3 speso 200 rupie per l'intero set di coinquilini è registrato dalla nostra applicazione• f1 spende 100• f4 spende 250Così, a questo punto abbiamo avuto 3 eventi e pagato dai coinquilini che abbiamo appena visto. Il coinquilinof3, f1 e f4 hanno pagato qualcosa per qualche evento. f2 hasn t t pagato per qualsiasi evento.Così, quando chiediamo i rapporti per vari coinquilini, inseguiamo:• Vediamo che f2 è tenuto a pagare 137 rupie e 50 paisa agli altri.
• f1 è tenuto a pagare 37 rupie 50 paisa agli altri.• f3 è ricevere 62 rupie da altri• f4 è ricevere 112 rupie da 50 paisa dagli altri.Non so se questo particolare in questo particolare caso l'invariante sia soddisfatta o meno. Io avreicome te per essere sicuro che qualunque siano gli importi calcolati, sono corretti; lo lasciamo a voi averificare se sono corretti o meno.Nel frattempo, procediamo con il programma di orso HTML. Quindi, la giusta condivisione, bare HTMLJava, è il programma che ora stiamo per compilare ed eseguire. Dopo averlo compilatocon successo, lasciamelo correre ora. Iniziamo da ripartire registrando di nuovo gli amici. Quandoeseguiamo il nuovo programma, diversamente dalla versione di riga di comando di questo programma, il nostro comando ha dato aun sacco di output, è in realtà HTML. E come spicca il nome, è un linguaggio di markup.Così, ad esempio, <h2> segna l'inizio del livello di intestazione 2 e </h2> segna la fine diquell' intestazione. Quindi, qualunque sia l'informazione in tra è contrassegnata da HTML per essere header livello 2.Ora quando questo HTML raggiungerà il browser, il browser sarà quindi decidere come render l'headerlivello 2. In altre parole, potrebbe renderlo per esempio renderlo un telefono audace, o sottolinearloo magari cambiando il colore, qualunque sia l'utente dei desideri del browser.Il nostro programma ha generato questa emissione sotto output standard. Catturateci in un file HTML.E apriamo questo file in un browser. L'output del nostro programma è ora in formato HTML e il browserche può mostrarlo. Da notare che questa era solo la registrazione, quindi, ha detto che sta registrandocoinquilini, ce ne sono 4. Dice che ha trovato 4 coinquilini, e che la registrazione è fatta.Non è stato chiesto di fare spese né è stato chiesto di fare alcun report.Per quanto riguarda le informazioni sul database, dice sì, c'è un file lì di quel tipo maè un inizio fresco e quindi non ci sono dati in esso contenuti. Torniamo alla nostra linea di comando e aggiungete alcuni datiche significano i dati relativi alle spese. Quindi, diciamo che l'amico f1 ha speso circa 250 rupie. Di nuovoha dato output HTML e quello che avremmo dovuto fare è reindirizzato quell' output a un file HTML.
Lasciateci fare chiarezza, tenere separati i 2 file HTML. Quindi, il file che è stato generato dal nostro programma, quando ha fatto le registrazioni, teniamo a tenere quella separata dal file che genera ogni qualvoltafacciamo le spese. Manterremo anche il terzo file ogni qualvolta facciamo report. Prendiamoci una nuova schedae apriamo il file quando abbiamo fatto le spese in questa nuova scheda. Confrontatelo con le cose qui sopra dice“ registrazioni coinquiline ”. Ora dice che “ coinquilini registrati sono ”, seguiti da qualunque cosa siano.E ora ci sono informazioni spese che sono state aggiunte come eventi. A questa posizione è statoscritto “ nessun report richiesto ” nella versione precedente. E se ci scorriamo, vediamo ora che c'èun database. Ha trovato 2 eventi. Ci sono 4 coinquilini e ecco gli eventi.
Nota che perché abbiamo eseguito il programma due volte, mostra due eventi da f1. Ok, hai 3 eventi,numero di voci nella banca dati è 3, qui f3 ha speso 450 rupie. Questo evento è stato aggiuntoe altri display sono gli stessi di prima. A questo punto chiediamo relazioni e, come ho detto prima,raccolgono i risultati in un file separato. Abbiamo lasciato f2, quindi chiediamo un rapporto per f2. Lasciacicercare l'ultimo file che abbiamo salvato e poi aprirlo.Come prima che ci informi sui coinquilini registrati. Dice che nessuna nuova spesa è stataregistrata. La quantità f2 deve essere di 237 rupie 50 paisa. Se scendiamo sul database, il databasenon ha eventi extra di prima. Quindi, il numero di eventi è di 3. E un certo numero di voci nel databasesono ancora 3.
Il nostro amico f2, visto che lui o lei non ha contribuito finora, ora dovrebbe pagare l'intero contributo. Così, questo ci racconta, questo ci mostra come funziona il programma di file HTML bare. Lasciamo oraandare avanti e fare lo stesso con la versione finale.
(Riferimento Slide Time: 39:35)
Questo è un punto in cui puoi fermarti, rivedere il materiale, e poi tornare indietro.Facci sapere andare avanti con la versione CSS. In questo ci aggiungiamo il codice CSS alla nostra parte HTML. Come prima, cerchiamo semplicemente di esaminarlo. Ok, qui abbiamo la nostra versione HTML e CSS.Let us viamo come prima di compilarla utilizzando il nostro compilatore Java, che tipicamente in qualche parte dell'installazione.
sarà necessario registrare i coinquilini; questo dà nuovamente output. E come di consueto, dovremmo davvero catturarel'output in qualche file. Preserveremo i file precedenti per il nostro riferimento.E così, lo prenderemo in sostituzione invece di un b c, diremo x y z, cioè x.html y.html e z.html. Cosìx.html conterrà la versione di registrazione. Andiamo avanti con alcune spese come prima, faremosemplicemente aggiungendo alcune spese di esempio.E, ancora come prima, facciamo un report per un f3. Avevamo ignorato f3, quindi facciamo un report per f3.Quello che ho fatto in questo momento è che ho raccolto per la prima volta tutta l'output HTML per l'intero programmae poi ora lo apriremo in un browser e vediamo come appare. Prima di tutto, dovrei aprirex.html perché questo rappresenta la registrazione, ma questa volta con CSS. Vediamo come appare.Dopo aver incollato il file CSS nella stessa directory del file HTML, se ricarichiamo, dovremmo ottenere il
versione styled del nostro HTML precedentemente bare. Così, è lo stesso file HTML bare, ma questa volta cheè stato toccato da CSS e la presentazione è stata modificata.La parte di registrazione è evidenziata in blu. Tutti i dettagli sono separati: spese, report, informazioni sul databasee il fatto che si tratta di un nuovo inizio, ovvero un nuovo database. Quindi, guardiamo alil record di spese che era in y.html. Ecco a te. Ma notate la differenza. La parte di coinquilinanon è più in blu, e il record di spese di registrazione – è in blu. Ma la parte record – reportnon è in blu.In altre parole, la banda blu viene utilizzata per attirare l'attenzione dell'utente finale su qualunque comando utenterispondo all'applicazione di fair share. Verificiamo che consultando la versione di relazione finaledello stesso comando. Utilizzeremo l'applicazione di condivisione equa, abbiamo dovuto utilizzare l'applicazione equaper generare report per uno dei coinquilini. Dovremmo ora vedere l'area di report in una fascia blu, e ci sei tu.Così, abbiamo usato fogli di stile in modo molto diverso, quello che era puramente un pezzo di informazioniche è stato dato via HTML ha ora, solo utilizzando il sistema di styling, ci fornisce una migliorepresentazione e ci aiuta a concentrarci su cosa esattamente viene risposto a.Se il nostro programma applicativo, FairShare, sta rispondendo ad una richiesta di registrazione, allora quella parte viene datauno sfondo blu. Se il nostro programma risponde alle richieste di spesa, allora il blocco delle spese èdato uno sfondo blu. Se il nostro programma risponde a una richiesta di report, allora viene fornito un backgroundblu. Ad ogni punto vengono visualizzate anche le informazioni reali del database.Se osservi, questa informazione del database sembra simile al modo in cui guarda il foglio di calcolo. Ma ci sonoalcune cose che rimangono, ad esempio, le linee verticali qui. Ma che separano le colonnedella tabella e le linee orizzontali che separano le righe della tabella non sono statemostrate.
Uno degli esercizi di pratica che vi suggeriamo di fare è quello di provare a scrivere CSS tale che queste colonnee righe, le linee, i separatori verticali e i separatori orizzontali siano visibili anche. Quello sarebbe un ottimo modoper andare davvero a imparare CSS e HTML.(Video Ends: 47:07)Con che arriviamo alla fine di questa sessione. Abbiamo visto solo come una versione HTML + CSS faràuna sorta di look. Nella sessione successiva prenderemo in realtà il codice e vedremo come si differenderà dallasemplice applicazione della riga di comando.Quando vediamo le differenze, speriamo di poter vedere come il codice della riga di comando sia stato modificatoin modo incrementale per ottenere la versione HTML, o HTML + CSS versione del codice. Il passoincrementale è semplice, non difficile, ma ancora noioso.Ci vediamo nella sessione successiva.