Avalonia solo in codiceEnglish

Volumi

Volume 9 — Dispositivi, dati e rete

Stato: da scrivere

Volume 9 — Dispositivi, dati e rete

Periferiche, file, database, rete e codice nativo: tutto quello che un'applicazione desktop vera deve saper toccare fuori dalla sua finestra.

28 capitoli · circa 425 pagine (stima) · da scrivere. Mouse, tastiera, touch e penna avanzati, gamepad, porte seriali e strumenti; file grandi, database e sincronizzazione; HTTP, socket e servizi; il codice nativo, le librerie di controlli riutilizzabili, la memoria e la diagnostica. I progetti: una stazione di misura, un client con il suo server, una lavagna con la penna, un programma con i plugin.

Gli esempi del volume

Indice dei capitoli

L'ultimo volume della traccia («dispositivi, rete, sistema, distribuzione e qualità») aveva 44 capitoli, circa 640 pagine. Diviso in due libri interi, senza togliere niente: questo porta l'applicazione verso il mondo esterno (periferiche, dati, rete, codice nativo); il volume 10 la porta sui computer degli utenti (sistemi operativi, distribuzione, prestazioni, qualità).

ParteCapitoliPagine
Prima di cominciare—8
Prima · Input e dispositiviIX.1–IX.8110
Seconda · File e datiIX.9–IX.1370
Terza · ReteIX.14–IX.1755
Quarta · Interoperabilità e programmazione avanzataIX.18–IX.2495
ProgettiIX.25–IX.2855
AppendiciA–C30
Totale28 capitoli≈ 425

Prima di cominciare ○

Prefazione · la collana · che cosa serve dei volumi precedenti (thread e async del volume 1, architetture e Dispatcher del volume 2) · l'hardware del libro e come provare senza · le librerie e le licenze.

Parte prima — Input e dispositivi

  • IX.1 Mouse, tastiera e touch avanzati ○ — gesti, più dita, precisione del puntatore; le differenze fra sistemi.
  • IX.2 Tavolette grafiche e pressione della penna ○ — pressione, inclinazione, gomma; un pennello che risponde.
  • IX.3 Gamepad, joystick e dispositivi HID ○ — leggere i controlli, la vibrazione, gli HID generici.
  • IX.4 Porte seriali e microcontrollori ○ — System.IO.Ports, protocolli a righe e binari, un microcontrollore che manda misure.
  • IX.5 Dispositivi di cattura ○ — elencare webcam e schede di acquisizione e sceglierne una (il video vero e proprio è nel volume 8).
  • IX.6 Scanner, stampanti e periferiche ○ — stampare da Avalonia sui tre sistemi; acquisire da uno scanner.
  • IX.7 Periferiche che si collegano e scollegano ○ — accorgersene mentre il programma gira, senza cadere.
  • IX.8 Permessi e differenze fra sistemi operativi ○ — chi chiede il permesso, quando, e che cosa succede se l'utente dice no.

Parte seconda — File e dati

  • IX.9 File system, percorsi, cartelle per utente ○ — dove mettere configurazioni, dati e cache su ogni sistema.
  • IX.10 JSON, XML e serializzazione ○ — dopo il volume 1: versioni dei formati, migrazioni, generatori di sorgenti e Native AOT.
  • IX.11 SQLite ○ — Microsoft.Data.Sqlite: tabelle, transazioni, migrazioni, prestazioni; i dati in un elenco virtuale.
  • IX.12 Stream, buffer, file grandi ○ — leggere gigabyte senza memoria; file mappati; Pipelines.
  • IX.13 Cache e risorse ○ — cache in memoria e su disco, quando invalidarle, risorse incorporate.

Parte terza — Rete

  • IX.14 HTTP: download e upload ○ — HttpClient fatto bene: tempi, ripetizioni, avanzamento, annullamento.
  • IX.15 WebSocket e comunicazione in tempo reale ○ — un cruscotto che riceve dati dal server.
  • IX.16 Un server di API con RAVAL su Kestrel ○ — il server JSON di RAVAL: rotte, errori, documentazione.
  • IX.17 Sicurezza di base ○ — HTTPS, password come hash, token; che cosa non salvare mai in chiaro.

Parte quarta — Interoperabilità e programmazione avanzata

  • IX.18 API native di Windows, Linux e macOS ○ — quando servono e come si chiamano senza rompere gli altri sistemi.
  • IX.19 P/Invoke e librerie native ○ — LibraryImport, strutture, callback, memoria; distribuire la libreria.
  • IX.20 Programmazione reattiva e flussi di eventi ○ — eventi che diventano flussi; filtrare, unire, rallentare.
  • IX.21 Plugin e moduli caricabili ○ — AssemblyLoadContext, interfacce comuni, scaricare un plugin.
  • IX.22 Librerie di controlli riutilizzabili ○ — un pacchetto NuGet di controlli Avalonia, con temi e documentazione.
  • IX.23 Memoria, rilascio delle risorse, garbage collector ○ — IDisposable fatto bene, perdite tipiche delle interfacce, misure.
  • IX.24 Diagnostica, profiling, debugging ○ — dotnet-counters, dotnet-trace, dump di memoria; il debugger oltre i punti di interruzione.

Progetti

  • IX.25 Stazione di misura ○ — un microcontrollore sulla seriale, i dati in SQLite, i grafici dal vivo.
  • IX.26 Client e server ○ — un'applicazione Avalonia e il suo server di API con RAVAL, autenticazione compresa.
  • IX.27 Lavagna con la penna ○ — pressione, livelli, salvataggio, esportazione.
  • IX.28 Un programma con i plugin ○ — un'applicazione che si estende con moduli caricati da una cartella.

Appendici

A. Gli inciampi ○ · 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.