
Stato: da scrivere
Volume 10 — Sistema, distribuzione e qualità
Dal computer dello sviluppatore a quello degli utenti: le differenze fra Windows, macOS e Linux, i pacchetti, la firma, gli aggiornamenti, le prestazioni e la qualità.
26 capitoli · circa 405 pagine (stima) · da scrivere. Finestre, icone, barra di sistema, notifiche e scorciatoie globali; pacchetti per i tre sistemi, self-contained e Native AOT, dipendenze native, installatori e aggiornamenti automatici; dove si perde tempo nel layout e nel disegno, liste virtualizzate, meno allocazioni, interfacce che non si bloccano mai, registro e rapporti d'errore. I progetti: un'applicazione finale multipiattaforma, un aggiornatore, un programma nella barra di sistema, la pacchettizzazione automatica, un cruscotto della qualità.
Indice dei capitoli
La seconda metà dell'ultimo volume della traccia: il volume 9 porta l'applicazione verso periferiche, dati e rete; questo la porta sui computer degli utenti. Integrazione con i sistemi operativi, pacchetti, firma e aggiornamenti, e poi prestazioni, sicurezza e qualità, con le misure come in tutta la collana. Il libro si legge da solo: si apre con un ripasso breve degli strumenti di diagnostica e di memoria del volume 9.
| Parte | Capitoli | Pagine |
|---|---|---|
| Prima di cominciare e ripasso | — | 18 |
| Prima · I sistemi operativi | X.1–X.5 | 70 |
| Seconda · Distribuzione | X.6–X.11 | 85 |
| Terza · Prestazioni, sicurezza e qualità | X.12–X.20 | 120 |
| Progetti | X.21–X.26 | 80 |
| Appendici | A–C | 30 |
| Totale | 26 capitoli | ≈ 405 |
Prima di cominciare ○
Prefazione · la collana · che cosa serve dei volumi precedenti · i tre sistemi del libro (Windows, Linux, macOS) e le macchine virtuali per provare · le librerie, gli strumenti e le licenze.
Ripasso ○
Dal volume 9: memoria e IDisposable, dotnet-counters e dotnet-trace, file e cartelle per utente, P/Invoke.
Parte prima — I sistemi operativi
- X.1 Differenze fra Windows, Linux e macOS ○ — finestre, menu, scorciatoie, file, caratteri: che cosa cambia per l'utente e per il programma.
- X.2 Finestre, icone, barra di sistema e tray icon ○ — l'icona del programma, il menu nell'area di notifica, il menu dell'applicazione su macOS.
- X.3 Notifiche desktop ○ — sui tre sistemi, con le azioni e senza disturbare.
- X.4 Scorciatoie globali e integrazione col sistema ○ — tasti che funzionano anche fuori dalla finestra; associare i tipi di file; avvio con il sistema.
- X.5 Percorsi, permessi, configurazioni ○ — la sandbox di macOS, i permessi di Windows, le cartelle XDG di Linux; configurazioni per utente e per macchina.
Parte seconda — Distribuzione
- X.6 Pacchetti per Windows, macOS e Linux ○ — MSIX e installatori,
.appe.dmg, AppImage, Flatpak,.deb. - X.7 Self-contained e Native AOT ○ — che cosa cambia nella dimensione, nell'avvio, nella memoria; che cosa non funziona con AOT.
- X.8 Dipendenze native e codec da distribuire ○ — Skia, FFmpeg, le librerie dei volumi 5–8: che cosa mettere nel pacchetto e con quale licenza.
- X.9 Firma del software e installatori ○ — certificati, notarizzazione di Apple, SmartScreen di Windows.
- X.10 Aggiornamenti automatici e migrazione delle configurazioni ○ — controllare, scaricare, sostituire, migrare i dati della versione vecchia.
- X.11 Diagnosticare i problemi sui computer degli utenti ○ — registri utili, rapporti di errore, dump raccolti con il consenso.
Parte terza — Prestazioni, sicurezza e qualità
- X.12 Layout e rendering: dove si perde tempo ○ — misurare misura, disposizione e disegno; i colpevoli ricorrenti.
- X.13 Virtualizzare liste e tabelle ○ — centomila righe che scorrono fluide; quando la virtualizzazione si rompe.
- X.14 Meno allocazioni, meno garbage collection ○ —
Span, riserve, strutture; le misure prima e dopo. - X.15 Cache grafica e caricamento asincrono ○ — riprende i volumi 3 e 4 per un'applicazione intera.
- X.16 File e input sicuri ○ — percorsi che escono dalla cartella, file malformati, input dell'utente.
- X.17 Interfacce che non si bloccano mai ○ — un controllo automatico del thread della finestra; i blocchi trovati nei programmi veri.
- X.18 Usabilità e progettazione delle interazioni ○ — tastiera, accessibilità, messaggi d'errore, attese.
- X.19 Registro, telemetria, errori ○ — che cosa registrare, con il consenso, e come leggerlo.
- X.20 Provare su piattaforme ○ — prove automatiche su tre sistemi, figure come prova, integrazione continua.
Progetti
- X.21 Un'applicazione finale multipiattaforma ○ — un programma completo dalla prima riga al pacchetto firmato sui tre sistemi.
- X.22 Aggiornatore ○ — controlla, scarica, verifica la firma, sostituisce e riparte.
- X.23 Programma nella barra di sistema ○ — un monitor del sistema con notifiche e scorciatoie globali.
- X.24 Pacchettizzazione automatica ○ — uno script in C# che compila, firma e produce i pacchetti per i tre sistemi.
- X.25 Cruscotto della qualità ○ — le misure di prestazioni e di memoria di un'applicazione, raccolte a ogni versione.
- X.26 Rapporti di errore ○ — raccolta degli errori dagli utenti fino a un piccolo server con RAVAL.
Appendici
A. Gli inciampi della distribuzione ○ · B. Riferimento rapido ○ · C. Glossario ○
Stato dei capitoli: ✔ scritto · ✎ in bozza · ○ da scrivere.
Gli esempi del volume
Gli esempi di questo volume arriveranno con i suoi capitoli.