ASP.NET – Guida per lo sviluppatore

Aggiornamento: Wrox ha pubblicato Professional ASP.NET Special Edition 1.0, la nuova versione del manuale basata sulla versione definitiva del .Net Framework (il testo in italiano si basa invece sull’ultima beta del prodotto). Se l’inglese non rappresenta un problema, meglio acquistare questo testo. FucinaWeb.com ha realizzato una recensione con i migliori 14 manuali di ASP.NET.

Il fatto che Alex Homer, uno dei maggiori esperti di ASP, partecipi alla realizzazione di un manuale, è fonte di sicurezza.
In effetti “ASP.NET – Guida per lo sviluppatore” è un manuale che analizza ASP.NET fino alla realizzazione di applicazioni complesse.

Il manuale non si rivolge al programmatore “in erba”: per capirlo e apprezzarlo dovete aver lavorato con ASP parecchi mesi.
Date le molte novità introdotte da ASP.NET, infatti, sarebbe stato impossible scrivere un unico testo che accontentassi chi
si avvicina alla programmazione Web e lo sviluppatore professionista.

Il codice è scritto utilizzando Visual Basic .NET.

Argomenti

  • Introduzione al .NET Framework e ai linguaggi. I capitolo introduttivi espongono l’importante ruolo del .Net Framework e confrontano i linguaggi utilizzabili per la scrittura di codice ASP.NET (Visual Basic .NET, C# e JScript .NET)
  • Html Server Controls, Web Server Controls e Validator Controls. Leggendo questi capitoli si capisce perché la programmazione web con ASP.NET è davvero orientata agli oggetti
  • Accesso e gestione ai dati. Il ruolo di ADO.NET nella piattaforma Microsoft, l’accesso ai dati su database e la creazione/lettura di documenti XML
  • Configurazione, protezione e tecniche di debugging. Come si proteggono le pagine ASP.NET, come si gestiscono le applicazioni e quali sono le sofisticate tecniche di gestione degli errori

Pro

  • Copre ogni aspetto di ASP.NET con buon approfondimento
  • Gli esempi chiarificano egregiamente i concetti espressi
  • La parte relativa ad ADO.NET fa chiarezza sulle future strategie Microsoft di accesso ai dati. Imperdibile

Contro

  • Sono presenti molti piccoli errori di concetto, soprattutto nel codice. Fortunatamente Hoepli, nel tradurre il testo,
    ha incorporato le Errata Corrige disponibili fino al 30 Settembre 2001
  • Diversamente da altri libri Wrox, il lavoro dei 6 autori è poco lineare. Capita che siano dati per scontati concetti non introdotti o introdotti in seguito.
    Sono presenti anche alcune ripetizioni.

Informazioni

Titolo ASP.NET
Guida per lo sviluppatore
Titolo originale Professional ASP.NET
Lingua Italiana
Autori Richard Anderson
Brian Francis
Alex Homer
Rob Howard
Dave Sussman
Karli Watson
Pagine 1200
Data 2001
Prezzo Euro 55,78
Editore Hoepli [nuova finestra]
Editore originale Wrox [nuova finestra]

Lo spazio dello schermo

Questo articolo fa parte di un corso gratuito di design web ospitato su questo sito.

Lo spazio della pagina

Prima di disegnare una pagina Web dobbiamo sapere quanto spazio c’è a disposizione. Il designer deve fare i conti con:

  • La grandezza degli schermi
  • Gli offset
  • La Taskbar di Office
La grandezza degli schermi

Un buon progetto Web facilita la lettura sullo schermo rispettandone le dimensioni per non dover usare la barra di scorrimento orizzontale, che impedisce una visione d’insieme della pagina. Gli schermi più diffusi sono di 640×480 pixel o 800×600 e questa misura è chiamata “area sicura”: lo spazio, cioè, entro il quale la pagina Web può essere vista senza alcun problema.

Gli offset

I browser occupano la parte alta dello schermo e un lieve contorno sui lati, inoltre aggiungono automaticamente uno spazio bianco tra l’interfaccia e la grafica della pagina: questo spazio si chiama Offset. Purtroppo i browser non hanno la stessa dimensione di Offset e ogni sistema operativo impone regole proprie.

Oltre agli Offset, è anche utile calcolare lo spazio occupato dall’interfaccia dei browser, per sapere le effettive dimensioni della pagina Web.
E’ possibile eludere il problema degli Offset arricchendo il tag “body” con alcuni attributi:

<body marginwidth=”0″ leftmargin=”0″ marginheight=”0″ topmargin=”0″>

Attenzione però: questi attributi non sono standard. Se li usate, il vostro codice Html non sarà valido, anche se funzionerà senza problemi in tutti i browser.

In questo modo gli Offset di tutti i browser vengono annullati ad eccezione di Navigator 3 su entrambe le piattaforme.

La Taskbar di Office

La Taskbar di Windows è la barra dei collegamenti ai programmi di Office ed è predefinita a meno che non si voglia eliminarla. Questa occupa spazio sul lato destro dello schermo.
Ecco lo spazio a disposizione, con e senza la Taskbar, nelle diverse versioni dei browser di entrambe le piattaforme:

Taskbar Browser 640×480
larghezza
640×480
altezza
800×600
larghezza
800×600
altezza
Con Tutti 557 270 717 390
Senza Da versione 4 Win 600 275 760 395

La differenza tra le dimensioni di una pagina con la Taskbar visibile in tutti i browser è poco più piccola di una pagina accettata da pochi browser e senza la barra di Office.
Per il Web designer vale lo spazio che trova il maggior numero di visitatori, perciò quello visibile con tutti i browser.

Stampare da Internet

Si legge meglio sulla carta che sullo schermo ed è per questo che le pagine Web ricche di contenuti spesso vengono stampate.

  • I margini impostati dalle stampanti in un normale foglio A4 verticale, non permettono di riprodurre una pagina Web in tutta la sua larghezza: 2 cm del lato destro dello schermo non si stampano
  • E’ consigliabile produrre due versioni di tutti documenti più lunghi: una per lo schermo e una per la stampa (in formato PostScript o in PDF). Quest’ultima dovrebbe contenere l’intero argomento, che online è diviso su diverse pagine.
  • Le dimensioni della pagina Web devono adattarsi ai margini di stampa, perciò la larghezza massima di una pagina Web, stampata verticalmente, è di 595 pixel.
Progettare la grafica del sito
  • Un pubblico di ricercatori e di studenti visiterà il sito per ottenere informazioni e guarderà svogliatamente la grafica o, peggio, andrà altrove se il contenuto è soffocato dal design.
  • Un pubblico in cerca di un viaggio vorrà sentirsi stimolato e non soltanto vedere elenchi di offerte o di voli aerei; una grafica accattivante, pur mantenendosi pulita e chiara per la leggibilità delle informazioni, è più adatta alle esigenze degli utenti.
  • Pensare all’aspetto generale del vostro sito, significa dare anche un’immagine di voi. Un’azienda che offre prodotti sanitari darà un’impressione di poca serietà se si presenta in Internet in maniera ludica e con uno stile fumettistico. Al contrario un’agenzia di design può osare una grafica più ricca e tecnologie avanzate, per dimostrare la propria creatività e capacità tecnica.
Organizzare il sito a schermate

La barra di scorrimento orizzontale è intollerabile nella lettura di una pagina Web, quella verticale è un po’ scomoda, ma utile per dare spazio ai contenuti senza frammentarli in troppe pagine.
Quando si accede ad un sito si vede solo la parte alta della pagina; è facile intuire che le notizie più importanti ed i link per la navigazione devono stare nella prima parte della pagina.

  • Fate in modo che le novità o le promozioni del vostro sito siano subito visibili in alto nella pagina e spezzate la videata in modo coerente, iniziando un nuovo paragrafo o inserendo altre notizie nella parte inferiore.

ASP.NET: Mantenere lo stato – Codice sorgente dell’esempio

Sorgenti: pageLoad.aspxpageLoadCheck.ascxfooter.ascx

Scarica i sorgenti: aspnet02.zip

Articolo a cui si riferisce il codice: ASP.NET: Mantenere lo stato

pageLoad.aspx

  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3 
  4 <%@Page Language="VB"%>
  5 <%@Register TagPrefix="ANet" TagName="Footer" Src="includes/footer.ascx"%>
  6 
  7 <!
  8 # nome: pageLoad.aspx
  9 # scritto da: Antonio Volpon
 10 # data creazione: 21 Ottobre 2001
 11 # ultima modifica: 21 Ottobre 2001
 12 # copyright: Antonio Volpon
 13 >
 14 <script language="vb" runat="server">
 15 Sub Page_Load(sender as Object, e as EventArgs)
 16 ‘ Visualizza il contenuto dell’ input box
 17 risposta.innerHTML = "Piacere di conoscerti " + txtNome.value
 18 End Sub
 19 </script>
 20 
 21 <html>
 22   <head>
 23     <link rel="stylesheet" href="css/aspnet.css" type="text/css">
 24     </link>
 25     <title>L’evento Page_Load</title>
 26   </head>
 27   <body>
 28     <div class="titolo">
 29       L’evento Page_Load
 30     </div>
 31     <hr noshade="true" size="1" width="100%" />
 32     <form runat="server">
 33       <table align="center">
 34         <tr>
 35           <td>
 36             Inserisci il tuo nome:
 37           </td>
 38           <td>
 39             <input type="text" id="txtNome" name="txtNome" size="20" runat="server" />
 40           </td>
 41         </tr>
 42         <tr>
 43           <td colspan="2" align="right">
 44             <input type="submit" id="btnSubmit" value="Invia" />
 45           </td>
 46         </tr>
 47       </table>
 48       <div class="risposta" id="risposta" runat="server">
 49       </div>
 50     </form>
 51  <ANet:Footer id="Menu" runat="server" />
 52   </body>
 53 </html>

pageLoadCheck.aspx

  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3 
  4 <%@Page Language="VB"%>
  5 <%@Register TagPrefix="ANet" TagName="Footer" Src="includes/footer.ascx"%>
  6 
  7 <!
  8 # nome: pageLoadCheck.aspx
  9 # scritto da: Antonio Volpon
 10 # data creazione: 21 Ottobre 2001
 11 # ultima modifica: 21 Ottobre 2001
 12 # copyright: Antonio Volpon
 13 >
 14 <script language="vb" runat="server">
 15 Sub Page_Load(sender as Object, e as EventArgs)
 16 ‘ Visualizza il contenuto dell’ input box se presente un valore
 17 if Page.IsPostBack then
 18   risposta.innerHTML = "Piacere di conoscerti " + txtNome.value
 19 else
 20   risposta.innerHTML = ""
 21 end if
 22 End Sub
 23 </script>
 24 
 25 <html>
 26   <head>
 27     <link rel="stylesheet" href="css/aspnet.css" type="text/css">
 28     </link>
 29     <title>L’evento Page_Load con controllo</title>
 30   </head>
 31   <body>
 32     <div class="titolo">
 33       L’evento Page_Load con controllo
 34     </div>
 35     <hr noshade="true" size="1" width="100%">
 36     <form runat="server">
 37       <table align="center">
 38         <tr>
 39           <td>
 40             Inserisci il tuo nome:
 41           </td>
 42           <td>
 43             <input type="text" id="txtNome" name="txtNome" size="20" runat="server">
 44           </td>
 45         </tr>
 46         <tr>
 47           <td colspan="2" align="right">
 48             <input type="submit" id="btnSubmit" value="Invia">
 49           </td>
 50         </tr>
 51       </table>
 52       <div class="risposta" id="risposta" runat="server">
 53       </div>
 54     </form>
 55  <ANet:Footer id="Menu" runat="server" />
 56   </body>
 57 </html>

footer.aspx

  1 <hr noshade="true" size="1" width="100%">
  2 <div class="footer">
  3 Questo esempio fa parte di un corso gratuito di ASP.NET realizzato da <a href="https://fucinaweb.com/" title="FucinaWeb.com: articoli, corsi e risorse per forgiare siti">FucinaWeb.com</a>.
  4 </div>
  5 <div class="footer">
  6 Copyright&copy; 2001-2002 Antonio Volpon – <a href="mailto:antonio@volpon.com">antonio@volpon.com</a>
  7 </div>
  8