¿Y si serverless significara no tener servidores de backend?

Una publicación de blog que propone aplicaciones web “serverfree”, donde toda la lógica y los datos viven por completo en el dispositivo del usuario, provoca comparaciones con el software clásico de escritorio, los paquetes estilo Electron y el movimiento más amplio “local-first”. Los comentaristas sopesan el atractivo de la privacidad, la capacidad sin conexión y una facturación más simple frente a problemas prácticos como la sincronización entre dispositivos, las copias de seguridad, la resolución de conflictos y las actualizaciones, y a menudo concluyen que todavía se necesita alguna forma de sincronización opcional en la nube o entre pares. Muchos también critican la etiqueta “serverfree” por confusa, señalando que el alojamiento estático sigue siendo necesario y que ideas similares se han explorado durante años bajo otros nombres.

Alcance de “serverless” / “serverfree”

  • Muchos leen “serverless” como abreviatura de facturación por invocación, al estilo de Lambda; algunos sostienen que esto no es más que hosting compartido rebautizado.
  • Varios no gustan de “serverfree” como término porque un host estático sigue siendo un servidor y los “servidores” lógicos de app/base de datos siguen existiendo, solo que trasladados al lado del cliente.
  • Algunos prefieren “local-first” como algo más claro: primero el dispositivo, servidor opcional, frente a “offline-first” o “serverfree”, que suenan más limitantes.

“¿No es esto solo una app de escritorio / Electron?”

  • Varios comentarios dicen que la propuesta recrea en gran medida las apps de escritorio, o el empaquetado estilo Electron, pero mediante navegador + SQLite en WASM.
  • Los críticos señalan que hemos dado la vuelta para volver a stacks pesados y más lentos con el fin de recuperar capacidades que las apps de escritorio ya tenían.
  • Quienes apoyan responden que la distribución web (“ve a esta URL, sin instalación, sin tienda de apps, sin firma de código”) es una gran ventaja práctica.

Almacenamiento de datos, copia de seguridad y sincronización

  • Modelo central: los datos viven por completo en el dispositivo local (por ejemplo, SQLite del navegador + OPFS).
  • Preocupaciones:
    • No hay sincronización integrada entre dispositivos; los usuarios a menudo dependen de 3–4 dispositivos y esperan compartir sin fricción.
    • Riesgo de pérdida de datos por fallo o robo del dispositivo; la exportación/importación manual se ve como un “callejón sin salida de usabilidad”.
  • Mitigaciones sugeridas:
    • Usar almacenamiento genérico en la nube (Dropbox/Nextcloud/iCloud/etc.) para sincronizar archivos locales, opcionalmente cifrados.
    • Sincronización cifrada opcional hacia un servidor central, o sincronización entre pares (WebRTC, Bluetooth, LAN, protocolos P2P).
    • Distinguir entre almacenamiento “tonto” y lógica de resolución de conflictos específica de la aplicación.

Tecnologías local-first / de sincronización

  • La idea se alinea con el “local-first software”: almacenamiento primario en el dispositivo, sincronización como complemento.
  • Los comentaristas mencionan herramientas emergentes (por ejemplo, sistemas basados en CRDT, capas de sincronización para SQLite, protocolos de sincronización alternativos) y mantienen listas comparativas.
  • Hay interés en una sincronización genérica a nivel de sistema operativo, pero también se reconoce que la resolución de conflictos suele ser específica de la aplicación y compleja.

Preguntas de implementación

  • Se plantean dudas sobre:
    • Cómo se compara SQLite+WASM+OPFS con localStorage en rendimiento y durabilidad.
    • La sobrecarga y el beneficio de usar un worker que emule HTTP hacia una base de datos local frente al acceso directo a la BD.
    • Migraciones de esquema y cambios rompientes en una BD puramente del lado del cliente.
    • La practicidad de evitar cualquier backend cuando intervienen claves API o servicios de terceros.

Sentimiento general

  • Muchos encuentran el experimento intelectualmente interesante y alineado con objetivos de privacidad/control local.
  • Persiste un escepticismo importante sobre la terminología, la falta de sincronización/copia de seguridad, la robustez operativa y si esto realmente mejora a las apps de escritorio bien diseñadas o a las apps híbridas local+cloud.