Estudio de caso

Juegos ONCE

(ZEAL Network SE)

ZEAL Network SE es un grupo de lotería online y juegos digitales cotizado en bolsa con sede en Hamburgo, Alemania. Fundado en 1999 (originalmente como Tipp24 SE), ZEAL opera plataformas líderes de intermediación de lotería como Lotto24 y Tipp24, ofreciendo productos de lotería con licencia estatal y otros servicios de juego en toda Europa.

Con un fuerte enfoque en experiencias digitales seguras y reguladas, ZEAL también impulsa la innovación a través de segmentos como ZEAL Iberia, ZEAL Instant Games y ZEAL Ventures, y mantiene asociaciones estratégicas — incluida con la ONCE en España. La empresa atiende a millones de clientes activos a través de sus ofertas de lotería basadas en tecnología.

4,8 / 5

en App Store España

VoiceOver

accesibilidad nativa

UIKit → SwiftUI

migración progresiva

+10

versiones auditadas (sep. 2025 – ene. 2026)

Cliente

  • Sede

    Hamburgo, Alemania / Madrid, España

  • Sector

    Lotería online y juegos digitales

  • Fundada

    1999 (ZEAL Network SE)

Producto

  • Plataforma

    iOS (iPhone)

  • Versión mín. iOS

    iOS 15.0+

  • Accesibilidad

    VoiceOver, Dynamic Type

  • Periodo

    Febrero 2025 – enero 2026

El reto

El equipo iOS de Juegos ONCE necesitaba evolucionar una aplicación de producción crítica con una base de código UIKit madura y un nivel de tráfico diario exigente. La presión era doble: por un lado, incorporar nuevas funcionalidades y modernizar la arquitectura sin comprometer la estabilidad en producción; por otro, mantener y mejorar la accesibilidad iOS en una app donde VoiceOver no era un extra, sino un requisito central. La ONCE es la organización de referencia en España para personas con discapacidad visual, y su app tenía que ser impecable con tecnologías de asistencia.

El encargo arrancó en febrero de 2025 y se prolongó hasta enero de 2026. En ese intervalo, el 28 de junio de 2025, la Ley Europea de Accesibilidad pasó a ser exigible para los servicios digitales de comercio electrónico: la accesibilidad de la app dejó de ser un compromiso institucional para convertirse, además, en una obligación legal con la transacción en el centro.

La solución

AtalayaSoft asignó a Francisco José García Navarro como iOS senior integrado en el equipo de producto de Juegos ONCE. Su trabajo cubrió tres frentes en paralelo:

1. Mantenimiento y evolución continua de la app

Como refuerzo iOS senior del equipo, Fran asumió la evolución continua de una app de producción de alto tráfico:

  • Resolución de incidencias funcionales en producción.
  • Desarrollo de nuevas funcionalidades y pantallas.
  • Refactorización y modernización de código legacy.
  • Actualización progresiva a nuevas versiones de iOS.
  • Code reviews para mantener estándares de calidad en cada iteración.
  • Testing automatizado con XCTest + UI/snapshot para prevenir regresiones.

2. Migración progresiva de UIKit a SwiftUI

La base de código de Juegos ONCE estaba construida sobre UIKit. Migrar a SwiftUI en una app activa requería un enfoque que no pusiera en riesgo la estabilidad del producto:

  • Introducción de SwiftUI de forma incremental, módulo a módulo, conviviendo con UIKit.
  • Adopción de principios de Clean Architecture para reducir el acoplamiento entre capas y mejorar la testabilidad.

3. Auditoría externa de accesibilidad en cada entrega

La accesibilidad de la app no se auditó una vez: se auditó de forma continua durante todo el encargo. Un equipo de especialistas en accesibilidad, externo tanto a ZEAL como a la ONCE y con las revisiones ejecutadas por un auditor invidente, evaluó cada juego nuevo, cada pantalla nueva y cada versión antes de salir a producción, además de revisar de forma periódica lo ya publicado. Fran se encargó de la remediación completa en iOS: implementar, una a una, todas las correcciones detectadas.

El trabajo cubrió los 7 sorteos del catálogo completo disponible en la app —Cupón Diario, Cuponazo, Sueldazo Fin de Semana, Eurojackpot, Super 11, Triplex de la ONCE y Mi día de la ONCE—, tanto los heredados como los que se incorporaron durante el proyecto, y se extendió a los 2 flujos transaccionales de la app: registro y cesta de compra.

Ese alcance no es accesorio. La Ley Europea de Accesibilidad no exige que un juego sea accesible: exige que lo sea la operación que el usuario completa. Registro y compra son los flujos que la directiva señala de forma explícita.

Sólo entre septiembre de 2025 y enero de 2026 —el tramo del encargo que el historial público del App Store todavía permite verificar— la app publicó más de diez versiones, y cada una pasó por esa auditoría antes de salir a producción.

Cada corrección se validó con VoiceOver en dispositivos reales.

Logros técnicos destacados

Migración a Clean Architecture sin interrupción del servicio

La app Juegos ONCE tenía una arquitectura heredada que dificultaba añadir funcionalidades sin introducir regresiones en producción. Fran aplicó principios de Clean Architecture de forma progresiva — separando las capas de datos, dominio y presentación — lo que permitió una evolución más segura del producto sin necesidad de una reescritura completa.

Convivencia de UIKit y SwiftUI verificada con tests de snapshot

En una app en producción, adoptar SwiftUI no es sustituir UIKit: es hacer que ambos convivan durante meses en la misma pantalla y en el mismo flujo. El riesgo no está en la pantalla nueva, sino en lo que la rodea: jerarquías de vistas mezcladas, ciclos de vida distintos y regresiones visuales que un test funcional no detecta.

Fran cubrió esa frontera con tests de UI de snapshot, de forma que cada incorporación de SwiftUI se comparaba contra la referencia visual registrada de esa misma pantalla. La migración avanzó módulo a módulo sin regresiones visuales y sin que UIKit y SwiftUI interfirieran entre sí en producción.

Accesibilidad VoiceOver en una app crítica de alto tráfico

Mejorar la accesibilidad de una app en producción activa es bastante más difícil que implementarla desde cero: cada cambio tiene que ser compatible con los flujos existentes y validarse con VoiceOver en dispositivos reales, sin ventana de mantenimiento y sin degradar la estabilidad. Fran ejecutó esa remediación sobre el catálogo completo de la app y sobre los flujos de registro y compra, a lo largo de un año, en un ciclo sostenido de auditoría y corrección, en la aplicación de la organización de referencia en España para personas con discapacidad visual.

Tecnologías y servicios usados

  • Lenguaje: Swift
  • UI Frameworks: UIKit (legacy), SwiftUI (adopción progresiva)
  • Arquitectura: Clean Architecture, MVVM, SOLID
  • Testing: XCTest, UI Testing, Snapshot Testing
  • Accesibilidad: VoiceOver, UIAccessibility API, Dynamic Type
  • Gestión de dependencias: Swift Package Manager
  • Servicios AtalayaSoft aplicados: iOS Senior para tu equipo · Accesibilidad iOS (EAA)
Captura de la app iOS Juegos ONCE
Actualizado:

¿Necesitas algo similar para tu app iOS?

Si tu equipo necesita un iOS senior con experiencia en apps de producción críticas y accesibilidad nativa, hablemos. Te respondemos en menos de 24 horas laborables.