Blinki

Blinki

Framework TUI puro in Delphi per costruire applicazioni terminali moderne e interattive su Windows

giugno 2026
in-progress open-source DelphiObject PascalTUITerminalConsole

Che cos’è Blinki?

Blinki è un framework TUI (Text User Interface) scritto interamente in Delphi che permette di costruire applicazioni terminali moderne e interattive su Windows.

L’idea alla base è semplice: portare la ricchezza delle interfacce grafiche dentro la console, sfruttando le sequenze Virtual Terminal ANSI e la console Win32 nativa, senza dipendenze esterne, DLL aggiuntive o componenti design-time. Tutto ciò che serve è il codice sorgente della libreria.

Il nome stesso evoca il blink, il lampeggiare del cursore che dà vita alle interfacce testuali.

A cosa serve

Con Blinki è possibile realizzare un’ampia varietà di applicazioni che vivono interamente nel terminale:

  • Dashboard e visualizzazioni di dati in tempo reale
  • Monitor di sistema e strumenti di osservabilità
  • Giochi real-time e dimostrazioni animate
  • Interfacce interattive con form, menu e tabelle
  • Effetti visuali e animazioni testuali

Funzionalità principali

Blinki mette a disposizione 24 widget integrati, organizzati per ambito d’uso:

  • Testo e contenitori: Label, Box
  • Input interattivo: Button, Checkbox, RadioButton, TextInput, TextArea, Select, Menu
  • Navigazione: Tabs, Sidebar
  • Dati: Table, Badge, ProgressBar, Gauge, BarChart, Sparkline, Alert
  • Feedback: Toast, Dialog, Spinner
  • Effetti: TypingEffect, WaveAnimation, MatrixRain

A reggere il tutto c’è un’architettura curata:

  • Motore di layout a vincoli con contenitori VStack, HStack, Grid e aree Scrollable
  • Rendering double-buffered per un aggiornamento dello schermo fluido e senza sfarfallio
  • Focus ring automatico con navigazione tramite Tab e Shift+Tab
  • Temi semantici Dark e Light con supporto true-color a 24 bit
  • Box-drawing Unicode con bordi arrotondati, doppi o spessi

Il codice è rigorosamente stratificato: tutta la logica specifica della piattaforma è isolata dietro una singola interfaccia console, mentre i livelli di applicazione, widget, canvas e rendering restano completamente platform-agnostic.

Requisiti

  • Delphi 13.1 Florence o versione successiva (con compatibilità annotata per FreePascal)
  • Piattaforma Win32
  • Windows 10 build 1511 o successivo (i gradienti true-color richiedono Windows 10 v1903 o superiore)
  • Windows Terminal consigliato (in alternativa il classico ConHost)

Nota: Blinki è un progetto altamente sperimentale e in sviluppo attivo. Sono attese modifiche che possono introdurre breaking change da una versione all’altra.

Codice sorgente

La libreria è rilasciata open source con licenza MIT ed è pubblicata su GitHub.

Puoi scaricare il codice sorgente, consultare la documentazione e contribuire al progetto visitando il repository ufficiale. L’installazione è possibile anche tramite il package manager Blocks:

blocks install marcobreveglieri.blinki