The chapter that opens the book, as it is printed: how the volume is made, who it is for, what you need.
This page is available in Italian only for now.
Prima di cominciare
Prefazione
Un programma con le finestre, che gira uguale su Windows, macOS e Linux, scritto in un linguaggio solo: è quello che questo libro insegna a costruire. Il linguaggio è C#, su .NET 10; le finestre le disegna Avalonia, una libreria aperta che non usa i controlli del sistema operativo ma disegna tutto da sé, e quindi si comporta allo stesso modo dappertutto (capitolo II.1).
Quasi tutto quello che si trova su Avalonia descrive le finestre in XAML, un linguaggio a marcatori simile all'HTML, e le collega al codice con un compilatore apposta. Funziona, ma per chi comincia vuol dire imparare due linguaggi e una serie di errori che compaiono solo a programma avviato. Qui tutto è C#: una finestra si costruisce con new, le proprietà si assegnano, gli eventi si collegano a metodi. Il compilatore controlla ogni riga, l'editor completa i nomi, il debugger si ferma dove serve. Il titolo della collana, Avalonia solo in codice, viene da qui.
La collana ha dieci volumi:
- Il linguaggio C#: tipi, oggetti, generici, eccezioni, file, thread,
Taskeasync. - Interfacce desktop: Avalonia in codice, i controlli, i temi, le architetture e i thread dell'interfaccia. Questo libro.
- Grafica 2D: il disegno e le animazioni con Avalonia.
- Grafica 2D avanzata: Skia, Direct2D, le immagini.
- Grafica 3D: il 3D da zero con OpenGL.
- Grafica 3D avanzata: Vulkan e Direct3D.
- Audio.
- Video.
- Dispositivi, dati e rete.
- Sistema, distribuzione e qualità.
Ogni capitolo porta il numero del volume: II.10 è il decimo capitolo di questo libro, §II.10.3 il terzo paragrafo di quel capitolo. Un rimando con il numero I, come «(capitolo I.16)», indica il volume 1; quello che serve di quei capitoli è riassunto nel ripasso che apre il libro, con il rimando al capitolo dove l'argomento è spiegato per intero.
A chi è rivolto
- A chi ha letto il volume 1, o conosce C# allo stesso punto: classi e interfacce, delegati ed eventi, generici,
Taskeawait. Il ripasso dice esattamente che cosa si dà per noto. - A chi conosce C# ma non ha mai costruito un programma con le finestre: dalla prima parte in poi, in ordine.
- A chi viene da WinForms, WPF o da Avalonia con XAML: la prima e la seconda parte mostrano gli stessi concetti scritti in codice, e la terza e la quarta parte quello che quasi sempre manca nei tutorial, le architetture e i thread.
Serve un computer con Windows, macOS o Linux, e la voglia di scrivere gli esempi invece di leggerli soltanto.
Come è fatto il libro
| Parte | Capitoli | Che cosa |
|---|---|---|
| Ripasso | — | il C# del volume 1 che questo libro usa, in poche pagine |
| Prima · Avalonia: le basi in codice | II.1–II.13 | il progetto, la finestra, gli eventi, le proprietà, il layout, i temi |
| Seconda · Controlli e interfacce | II.14–II.25 | i controlli, i menu, i dialoghi, gli stili, la tastiera, l'accessibilità |
| Terza · Architetture | II.26–II.36 | gli strati, il modello, le macchine a stati, MVC, MVVM, i servizi, le prove |
| Quarta · Thread, Task e concorrenza | II.37–II.40 | il thread della finestra, await, l'annullamento, i dati che arrivano |
| Progetto | II.41 | un cruscotto in tempo reale, con tutto quello che c'è prima |
| Appendici | A–D | gli inciampi, il riferimento rapido, come sono fatte le figure, il glossario |
Ogni capitolo comincia con Cosa imparerai e finisce con tre riquadri: Errori comuni, gli sbagli che si fanno davvero, con il rimedio; Da ricordare, il capitolo in poche righe; Esercizi, da fare con l'editor aperto. È lì che si impara davvero.
I percorsi di lettura
- Dal volume 1. Tutto, in ordine; il ripasso si può saltare, o tenere come promemoria.
- Conosci già C#. Leggi il ripasso per vedere se manca qualcosa, poi dalla prima parte.
- Vieni da XAML. Leggi i capitoli II.1–II.9, che mostrano in codice quello che conosci in marcatori; poi la seconda parte dove ti serve, e la terza e la quarta parte per intero.
- Vuoi una finestra subito. Capitoli II.1–II.5, poi II.14 e II.15 per i controlli e II.31 per MVVM; il resto quando serve.
Le regole della casa
Il codice degli esempi segue poche regole, sempre le stesse, e il libro le spiega strada facendo:
- solo .NET, Avalonia e RAVAL. Nessun'altra libreria, salvo dove un capitolo lo dice e spiega perché (le tabelle del capitolo II.16, le prove del II.36), e sempre con una licenza aperta;
- tutto in C#, senza XAML;
- i nomi in italiano, quando sono nostri:
Conteggio,MostraErrore,VistaCruscotto; - una classe per file, con il nome del file, e un commento su ogni metodo che dice che cosa fa e perché;
- ogni gestore è un metodo con un nome, che dice che cosa fa:
Salva,Annulla,MacchinaScelta; - righe corte, entro 80 caratteri, perché il codice si legga sulla pagina;
- niente detto, tutto misurato: quando il libro dice che Avalonia si comporta in un certo modo, c'è stato un programma che lo ha provato, e il capitolo lo racconta.
Gli strumenti e il codice degli esempi
Servono:
- l'SDK di .NET 10, gratuito, che il capitolo I.1 installa passo per passo;
- un editor: il libro usa Visual Studio Code (capitolo I.2), ma va bene qualunque editor per C#;
- Avalonia 12.1.4, che i progetti scaricano da soli, e RAVAL, la libreria del libro, che trovano accanto, compilata, come spiega il capitolo II.2.
Tutto il codice del libro, la libreria RAVAL compilata e un progetto per ogni programma degli esempi, si scarica gratuitamente dal sito del libro, https://raval.aratoingegneria.it (capitolo II.2). RAVAL e gli esempi hanno la licenza MIT: puoi usarli, cambiarli e metterli nei tuoi programmi, anche in quelli che vendi, conservando l'avviso di copyright.
Ogni programma degli esempi è stato compilato senza un avviso, e ogni figura è stata disegnata dal programma vero (appendice C).
Convenzioni tipografiche
- Un termine nuovo è in grassetto la prima volta, ed è nel glossario (appendice D).
- Il codice, i nomi delle classi, dei metodi e dei file sono in
carattere fisso. - I nomi dei pulsanti e delle voci di menu sono in corsivo, come li vedi sullo schermo: Salva, File → Apri.
- I tasti si scrivono come si premono: Invio, Esc, Tab, Ctrl+S. Su macOS, dove il libro scrive Ctrl, di solito è Cmd.
- I percorsi sono scritti come su Windows,
C:\Esempi\II.2; su macOS e Linux le barre vanno dall'altra parte, e il capitolo lo dice dove cambia qualcosa di più. - I rimandi dicono il capitolo, «(capitolo II.37)», o il paragrafo, «§II.2.6».
- Nelle figure delle finestre i numeri misurati (un tempo, una pausa, un conteggio) cambiano un poco ogni volta che il programma gira: il testo li cita come li mostra la figura.