Molte app che girano ovunque sono in realtà una sola pagina web infilata in una cornice diversa su ogni dispositivo. Caliu prende la strada più lunga: ogni app è costruita con gli strumenti per cui la sua piattaforma è stata pensata. Richiede più lavoro, ed è il motivo per cui scorrimento, digitazione, scorciatoie da tastiera e accessibilità si comportano come il tuo dispositivo si aspetta.
L'app web
L'app web è scritta in TypeScript con React. È una Progressive Web App: un service worker tiene una copia dell'intera app sul tuo dispositivo, così si avvia e funziona senza connessione, e puoi installarla dal browser come qualsiasi altra app. Quando esce una nuova versione non ti interrompe mai: l'app ti propone l'aggiornamento e lo applica quando decidi tu.
iPhone, iPad e Mac
Le app Apple sono scritte in Swift con SwiftUI, a partire da un'unica base di codice condivisa da iPhone, iPad e Mac. Ogni piattaforma mantiene comunque il proprio layout e le proprie abitudini: barra laterale e scorciatoie da tastiera su Mac, gesti touch su iPhone, entrambi su iPad.
Essendo davvero native, si integrano con il resto del sistema: widget, foglio di condivisione, Comandi rapidi e Spotlight. Anche l'app per Apple Watch è scritta in Swift, ed è un client di sincronizzazione completo a sé stante, che parla direttamente con il server così le tue note sono al polso anche quando il telefono non c'è.
Android
L'app Android è scritta in Kotlin con Jetpack Compose, il toolkit di Google per le interfacce Android. È nata come un porting accurato dell'app Apple: la stessa struttura, lo stesso comportamento e gli stessi test, tradotti caso per caso, così una nota si comporta in modo identico su entrambe.
Tenere quattro app allineate
Quattro app potrebbero facilmente allontanarsi l'una dall'altra. Alcune abitudini le tengono insieme:
- Regole condivise, test condivisi. Le regole che non devono mai cambiare da un'app all'altra, come il modo di riconoscere un
#tag, di leggere il titolo di una nota e di riordinare la coda di sincronizzazione, sono scritte una volta per linguaggio e verificate con gli stessi casi di test su ogni piattaforma. - Un'unica fonte per l'aspetto. I temi, i caratteri e il set di icone di Caliu sono definiti una sola volta e generati per ogni app, così un tema ha lo stesso aspetto su un Mac e su un telefono Android.
- Una traduzione, ovunque. Ogni app è disponibile nelle stesse lingue, e i testi dell'app Android sono generati dalle traduzioni dell'app Apple, così le parole coincidono su tutti i dispositivi.
Il lavoro resta sul tuo dispositivo
Dato che ogni app è un'app completa e non una finestra su un server, il grosso del lavoro avviene sul tuo dispositivo: la ricerca, l'esportazione in ogni formato e la visualizzazione delle note funzionano tutte offline.