Apps nativas, no un envoltorio

Muchas apps que funcionan en todas partes son en realidad una misma página web metida en un marco distinto en cada dispositivo. Caliu toma el camino largo: cada app está hecha con las herramientas para las que se diseñó su plataforma. Cuesta más trabajo, y es la razón de que el desplazamiento, la escritura, los atajos de teclado y la accesibilidad se comporten como tu dispositivo espera.

La app web

La app web está escrita en TypeScript con React. Es una Progressive Web App: un service worker guarda una copia de toda la app en tu dispositivo, así que arranca y funciona sin conexión, y puedes instalarla desde el navegador como cualquier otra app. Cuando se publica una versión nueva, nunca te interrumpe: la app te ofrece la actualización y la aplica cuando tú decides.

iPhone, iPad y Mac

Las apps de Apple están escritas en Swift con SwiftUI, a partir de un único código compartido por iPhone, iPad y Mac. Aun así, cada plataforma tiene su propia disposición y sus propias costumbres: barra lateral y atajos de teclado en el Mac, gestos táctiles en el iPhone y ambas cosas en el iPad.

Como son nativas de verdad, se integran con el resto del sistema: widgets, la hoja de compartir, Atajos y Spotlight. La app para Apple Watch también está escrita en Swift, y es un cliente de sincronización completo por sí misma: habla directamente con el servidor, así que tus notas están en tu muñeca aunque el teléfono no esté.

Android

La app para Android está escrita en Kotlin con Jetpack Compose, el kit de herramientas de Google para interfaces de Android. Se construyó como una adaptación cuidadosa de la app de Apple: la misma estructura, el mismo comportamiento y las mismas pruebas, traducidas caso por caso, para que una nota se comporte exactamente igual en ambas.

Cuatro apps al mismo paso

Cuatro apps podrían separarse con facilidad. Unas cuantas costumbres las mantienen unidas:

  • Reglas compartidas, pruebas compartidas. Las reglas que nunca deben variar, como la forma de reconocer una #tag, de leer el título de una nota o de ordenar la cola de sincronización, se escriben una vez por lenguaje y se comprueban con los mismos casos de prueba en todas las plataformas.
  • Una sola fuente para el aspecto. Los temas, las fuentes y el conjunto de iconos propio de Caliu se definen una sola vez y se generan para cada app, así que un tema se ve igual en un Mac que en un teléfono Android.
  • Una sola traducción para todo. Todas las apps están disponibles en los mismos idiomas, y los textos de la app para Android se generan a partir de las traducciones de la app de Apple, así que la redacción coincide entre dispositivos.

El trabajo se queda en tu dispositivo

Como cada app es una app completa y no una ventana a un servidor, el trabajo pesado ocurre en tu dispositivo: la búsqueda, la exportación a todos los formatos y la presentación de tus notas funcionan sin conexión.