
Blinki
Framework TUI puro in Delphi per costruire applicazioni terminali moderne e interattive su Windows
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,Gride areeScrollable - Rendering double-buffered per un aggiornamento dello schermo fluido e senza sfarfallio
- Focus ring automatico con navigazione tramite
TabeShift+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