Native SDK: un kit de herramientas para construir aplicaciones nativas sin navegador

Fuentes: Native SDK | The Complete Toolkit for Native Apps

Native SDK es un kit de herramientas de código abierto pensado para desarrollar aplicaciones de escritorio (y, de forma experimental, también para iOS y Android) sin recurrir a navegadores, WebViews ni runtimes de JavaScript. La particularidad del proyecto es que combina un motor de renderizado propio con un sistema de marcado declarativo y actualizaciones en Zig o TypeScript, lo que permite generar interfaces nativas que se apoyan directamente en las APIs del sistema operativo.

El motor del SDK dibuja cada widget directamente en ventanas reales del sistema, sin intermediarios. Funciones como el desplazamiento, los menús contextuales, la bandeja del sistema o los cuadros de diálogo de abrir y guardar archivos se delegan en el propio sistema operativo, lo que aporta el comportamiento y rendimiento esperados en cada plataforma. La arquitectura interna sigue un flujo unidireccional: los eventos generan mensajes, los mensajes actualizan el estado y el estado renderiza la interfaz, lo que simplifica la depuración y el mantenimiento.

Una de las características destacadas es la integración con agentes de inteligencia artificial: cada aplicación incluye un servidor de automatización que permite a un agente inspeccionar y controlar la ventana en ejecución mediante instantáneas, aserciones, entrada y capturas. El repositorio también incorpora un kit de habilidades para agentes y un arnés de evaluación que puntúa el resultado de un trabajo generado automáticamente.

El SDK es multiplataforma y admite macOS (Metal, plataforma principal), Linux (GTK), Windows (Win32, probado en CI mediante Wine), iOS (estado experimental, verificado en el simulador) y Android (experimental, con shim de NativeActivity). El proceso de compilación produce binarios estáticos muy ligeros, de entre 3,5 y 5,7 MB según la aplicación de ejemplo. La instalación se realiza mediante el comando 'npm install -g @native-sdk/cli'.