Nuclear para Android
Port a Android del reproductor de música de código abierto Nuclear, que solo existía para escritorio, adaptado y optimizado para el móvil.
- Año
- 2026
- Rol
- Proyecto personal
- Sector
- Código abierto
El punto de partida
Nuclear es un reproductor de música libre, sin anuncios ni rastreo, hecho con Tauri: TypeScript y React en la interfaz, Rust por debajo. Solo había versiones para Windows, macOS y Linux. Lo porté a Android como fork no oficial, y no me limité a meter la versión de escritorio en una pantalla pequeña.
Qué hice
- Que arrancara en Android. Separé del build móvil las integraciones que solo tienen sentido en escritorio y cambié cómo se crean las conexiones HTTPS: en Android, la verificación de certificados por defecto dejaba colgada cualquier petición.
- YouTube sin yt-dlp. Android no puede ejecutar binarios descargados, así que la búsqueda y los streams pasan por rustypipe y la API del reproductor de YouTube. Si Google limita las peticiones, la app espera en vez de reintentar en bucle.
- Interfaz pensada para el móvil. Diseño compacto por debajo de 640 px, con la navegación y la cola en paneles laterales, tablas legibles sin hover, botón atrás de Android y márgenes del sistema.
- Reproducción en segundo plano, con notificación y controles en la pantalla de bloqueo y en los auriculares.
- Elige mejor la canción que el original. Descarta los resultados cuya duración no cuadra con la del tema (EPs completos, recopilatorios, documentales) y estima la duración cuando el álbum no la trae. El siguiente tema se prepara unos 15 segundos antes de que acabe el actual, así que saltar es casi instantáneo.
- APK de unos 22 MB, frente a los ~650 MB de las primeras builds de depuración, ajustando la compilación de Rust y eliminando recursos sin uso.
Resultado
Probado en emulador y en un móvil real con Android 13: búsqueda, cola, reproducción con la pantalla bloqueada y salida por Bluetooth. La versión de escritorio queda intacta y sus 691 tests siguen pasando.
Capturas


