Il capitolo che apre il libro, cosi' come e' stampato: come e' fatto il volume, a chi e' rivolto, che cosa serve.
Prima di cominciare
Prefazione
Un programma con le finestre, che gira uguale su Windows, macOS e Linux, scritto in un linguaggio solo: è quello che questa collana insegna a costruire. Il linguaggio è C#, su .NET 10; le finestre le disegna Avalonia, una libreria aperta che disegna tutto da sé, e quindi si comporta allo stesso modo dappertutto. Quasi tutto quello che si trova su Avalonia descrive le finestre in XAML, un linguaggio a marcatori; qui invece tutto è C#, e il compilatore controlla ogni riga. Il titolo della collana, Avalonia solo in codice, viene da qui.
Per scrivere una finestra in codice bisogna prima conoscere il codice. Questo primo volume è tutto C#: niente finestre, solo programmi console, quelli che si usano per imparare un linguaggio perché fanno vedere subito che cosa succede. Si parte dall'installazione e si arriva ai thread, ai Task e ad await, misurati in programmi veri. Le finestre cominciano nel volume 2, che parte esattamente da dove questo finisce.
La collana ha dieci volumi:
- Il linguaggio C#: tipi, oggetti, generici, eccezioni, file, thread,
Taskeasync. Questo libro. - Interfacce desktop: Avalonia in codice, i controlli, i temi, le architetture e i thread dell'interfaccia.
- 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 volume si regge da solo, ma tutti partono da quello che questo insegna.
A chi è rivolto
- A chi non ha mai programmato, o ha scritto solo qualche riga: il libro insegna C# da capo, senza dare niente per scontato, dall'installazione al primo
dotnet run. - A chi conosce un altro linguaggio e vuole C# per bene: le classi, i record, le interfacce, i delegati, i generici e
nullcome li intende C#, e i thread misurati invece che raccontati. - A chi conosce già C# e vuole passare alle finestre: i capitoli I.15–I.18 su thread,
Taskeawaitsono quelli che il volume 2 usa di più, ed è lì che conviene fermarsi.
Serve un computer con Windows, macOS o Linux, e la voglia di scrivere gli esempi invece di leggerli soltanto.
Come è fatto il libro
| Capitoli | Che cosa |
|---|---|
| I.1–I.2 | dal sorgente al programma, l'SDK di .NET, Visual Studio Code |
| I.3–I.5 | tipi, variabili, espressioni, decisioni, cicli, raccolte, metodi |
| I.6–I.9 | classi e oggetti, ereditarietà e interfacce, delegati ed eventi, generici, null ed estensioni |
| I.10–I.14 | errori ed eccezioni, file e testo, JSON, XML, come si organizza un programma: MVC, MVP, MVVM |
| I.15–I.18 | thread, Task, async e await, e async in pratica |
| Appendici | A–C: il riferimento rapido, come sono fatte le figure, il glossario |
Ogni capitolo porta il numero del volume: I.6 è il sesto capitolo del volume 1, II.10 il decimo del volume 2, e §I.6.3 il terzo paragrafo del capitolo I.6. Così un rimando come «capitolo I.16» dice anche in quale libro cercarlo.
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
- Da zero. Tutto, in ordine: ogni capitolo usa quelli prima.
- Conosci già un linguaggio. Leggi i capitoli I.1 e I.2 per gli strumenti, scorri i capitoli I.3–I.5, e fermati dal I.6 in poi, dove C# ha le sue idee.
- Conosci già C#. Scorri i capitoli I.1–I.13 per vedere le convenzioni del libro, e leggi per intero il 14 e i 15–18.
Le regole della casa
Il codice degli esempi segue poche regole, sempre le stesse, e il libro le spiega strada facendo:
- solo .NET, nessun'altra libreria;
- i nomi in italiano, quando sono nostri:
Contatto,Archivio,Scarica; - 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;
- righe corte, entro 80 caratteri, perché il codice si legga sulla pagina;
- niente detto, tutto misurato: quando il libro dice che un programma 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#.
Tutto il codice del libro, un progetto per ogni programma degli esempi, si scarica gratuitamente dal sito della collana, https://raval.aratoingegneria.it. 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 B).
Convenzioni tipografiche
- Un termine nuovo è in grassetto la prima volta, ed è nel glossario (appendice C).
- Il codice, i nomi delle classi, dei metodi e dei file sono in
carattere fisso. - I tasti si scrivono come si premono: Invio, Esc, Tab, Ctrl+C. Su macOS, dove il libro scrive Ctrl, di solito è Cmd.
- I percorsi sono scritti come su Windows,
C:\Esempi\I.3; 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 I.16)», o il paragrafo, «§I.16.4».
- Nelle figure dei terminali i numeri misurati (un tempo, un conteggio) cambiano un poco ogni volta che il programma gira: il testo li cita come li mostra la figura.