Avalonia Code OnlyItaliano

Volumes

Volume 9 — Devices, Data and Network

Status: to be written

Volume 9 — Devices, Data and Network

Peripherals, files, databases, network and native code: everything a real desktop application must be able to touch outside its window.

28 chapters · about 425 pages (estimate) · to be written. Advanced mouse, keyboard, touch and pen, gamepads, serial ports and instruments; large files, databases and synchronization; HTTP, sockets and services; native code, reusable control libraries, memory and diagnostics. The projects: a measurement station, a client with its server, a pen whiteboard, a program with plugins.

The examples of the volume

Table of contents

The table of contents is in Italian, as the volume is written in Italian; the English edition follows.

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 ○

Chapter status: ✔ written · ✎ draft · ○ to be written.

The examples of the volume

The examples of this volume will come with its chapters.