Lo que cambia en el core
El código Rust que viaja no viaja del todo: rutas, almacenes de secretos, red, procesos y capacidades. Qué hay que adaptar y cómo se hace sin ensuciar.
Las cinco
Dos filas rojas y ninguna sorpresa: lo que no existe en móvil es lo que dependía del escritorio.
Organizar la compilación condicional
El riesgo de este nivel: que el core se llene de condiciones y deje de leerse. Tres formas, de peor a mejor:
La segunda es la que hay que usar por defecto y es la que ya conoces: es el patrón de las capas de las fases anteriores, aplicado a una dimensión más.
Lo que simplemente no existe
Y hay que decidir qué pasa con esas funciones:
- Quitarlas de la interfaz en móvil, no dejarlas visibles y rotas.
- O sustituirlas por algo equivalente: lo que en escritorio hacía un proceso externo, quizá en móvil lo hace tu servidor.
- Y decirlo si el usuario podría esperarlas: «esta función solo está disponible en la versión de escritorio» es mejor que su ausencia silenciosa, sobre todo si es la misma cuenta.
Lo que no vale es una interfaz con botones que fallan.
Mantener el core probable
Un cuidado que se pierde con facilidad al añadir condiciones:
- Las pruebas del nivel 42.4 y 54.4 deben seguir corriendo sin plataforma, y para eso lo condicional debe estar en los bordes, no en el dominio.
- Y merece que las pruebas se ejecuten en las dos configuraciones, o una condición mal puesta rompe una plataforma sin que nadie lo note hasta compilar para ella.
La regla que lo mantiene: el dominio y la lógica no llevan ninguna condición de plataforma. Si una aparece ahí, es que hay una decisión que debería estar en una capa exterior.