Avalonia Code OnlyItaliano

Volumes

Volume 10 — System, Deployment and Quality

Status: to be written

Volume 10 — System, Deployment and Quality

From the computer of the developer to the computers of the users: the differences between Windows, macOS and Linux, packages, signing, updates, performance and quality.

26 chapters · about 405 pages (estimate) · to be written. Windows, icons, system tray, notifications and global shortcuts; packages for the three systems, self-contained and Native AOT, native dependencies, installers and automatic updates; where time is lost in layout and drawing, virtualized lists, fewer allocations, interfaces that never freeze, logging and error reports. The projects: a final cross-platform application, an updater, a system tray program, automated packaging, a quality dashboard.

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.

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.

ParteCapitoliPagine
Prima di cominciare e ripasso—18
Prima · I sistemi operativiX.1–X.570
Seconda · DistribuzioneX.6–X.1185
Terza · Prestazioni, sicurezza e qualitàX.12–X.20120
ProgettiX.21–X.2680
AppendiciA–C30
Totale26 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, .app e .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 ○

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

The examples of the volume

The examples of this volume will come with its chapters.