- Add complete dark mode system with theme context and toggle - Implement dark mode toggle component in navigation menu - Add client-side routing with SSR-safe signal handling - Fix language selector styling for better dark mode compatibility - Add documentation system with mdBook integration - Improve navigation menu with proper external/internal link handling - Add comprehensive project documentation and configuration - Enhance theme system with localStorage persistence - Fix arena panic issues during server-side rendering - Add proper TypeScript configuration and build optimizations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
8.5 KiB
8.5 KiB
Wizard Decision Matrix
Esta matriz te ayuda a decidir qué implementación del wizard usar basándose en tu caso de uso específico.
🎯 Matriz de Decisión Rápida
| Criterio | Puntuación Simple | Puntuación Rhai | Peso |
|---|---|---|---|
| Rendimiento | 9/10 | 6/10 | 🔥🔥🔥 |
| Flexibilidad | 4/10 | 10/10 | 🔥🔥🔥🔥 |
| Facilidad de uso | 9/10 | 6/10 | 🔥🔥🔥 |
| Mantenibilidad | 7/10 | 9/10 | 🔥🔥🔥🔥 |
| Seguridad | 10/10 | 8/10 | 🔥🔥🔥🔥🔥 |
| Tamaño binario | 10/10 | 6/10 | 🔥🔥 |
| Tiempo desarrollo | 8/10 | 5/10 | 🔥🔥🔥 |
📊 Casos de Uso Específicos
🚀 USA SIMPLE si tu proyecto es:
✅ Startup/MVP (Score: 85/100)
- Equipo pequeño (1-5 desarrolladores)
- Requirements estables
- Configuración simple
- Prioridad: velocidad de desarrollo
- Prioridad: rendimiento
- Presupuesto limitado
# Ejemplo típico:
Features: auth, content-db, email
Configuración: ~10 opciones
Tiempo setup: 2-3 minutos
✅ Microservicio (Score: 90/100)
- Configuración minimalista
- Rendimiento crítico
- Despliegue en containers
- Configuración predecible
- Sin personalización por cliente
# Ejemplo típico:
Features: auth, metrics, tls
Configuración: ~5 opciones
Tiempo setup: 1-2 minutos
✅ Aplicación Crítica (Score: 95/100)
- Seguridad máxima
- Rendimiento crítico
- Auditoría estricta
- Sin cambios frecuentes
- Configuración estática
# Ejemplo típico:
Features: auth, crypto, tls
Configuración: ~8 opciones
Tiempo setup: 3-5 minutos
🧙 USA RHAI si tu proyecto es:
✅ Plataforma Multi-Tenant (Score: 95/100)
- Múltiples clientes
- Configuración por tenant
- Integración con APIs externas
- Lógica de negocio compleja
- Configuración dinámica
# Ejemplo típico:
Features: Depende del tenant
Configuración: ~50+ opciones
Tiempo setup: 10-15 minutos
✅ Producto SaaS (Score: 90/100)
- Múltiples planes/tiers
- Configuración A/B testing
- Integraciones variables
- Personalización por cliente
- Cambios frecuentes
# Ejemplo típico:
Features: Condicionales complejas
Configuración: ~30+ opciones
Tiempo setup: 5-10 minutos
✅ Enterprise/Corporativo (Score: 88/100)
- Compliance complejo
- Integraciones múltiples
- Validación avanzada
- Configuración específica por región
- Auditoría detallada
# Ejemplo típico:
Features: Basado en compliance
Configuración: ~100+ opciones
Tiempo setup: 15-30 minutos
🔄 Flujo de Decisión
START
↓
¿Necesitas configuración dinámica?
↓ ↓
SÍ NO
↓ ↓
¿Tienes múltiples ¿Priorizas rendimiento?
clientes/tenants? ↓ ↓
↓ ↓ SÍ NO
SÍ NO ↓ ↓
↓ ↓ SIMPLE ¿Tienes tiempo
RHAI ¿Configuración para desarrollo?
cambia frecuentemente? ↓ ↓
↓ ↓ SÍ NO
SÍ NO ↓ ↓
↓ ↓ RHAI SIMPLE
RHAI SIMPLE
📈 Benchmarks Comparativos
Rendimiento
Operación Simple Rhai Diferencia
--------------------------------------------------
Startup Time 50ms 200ms 4x más lento
Memory Usage 2MB 8MB 4x más memoria
Binary Size 500KB 2MB 4x más grande
Configuration Time 30s 120s 4x más lento
Flexibilidad
Característica Simple Rhai
----------------------------------------
Configuración dinámica ❌ ✅
Scripts personalizados ❌ ✅
Integración APIs ❌ ✅
Validación compleja ❌ ✅
Lógica condicional ❌ ✅
Cambios sin recompilación ❌ ✅
🎯 Recomendaciones por Industria
Fintech/Banking
- Recomendación: Simple
- Razón: Seguridad máxima, auditoría estricta
- Features: auth, crypto, tls, metrics
Healthcare
- Recomendación: Depende del caso
- Startup médica: Simple
- Hospital enterprise: Rhai
- Razón: Compliance vs. flexibilidad
E-commerce
- Recomendación: Rhai
- Razón: Múltiples tiendas, configuración variable
- Features: auth, rbac, email, metrics, tls
SaaS B2B
- Recomendación: Rhai
- Razón: Múltiples clientes, planes variables
- Features: Condicionales por plan
IoT/Embedded
- Recomendación: Simple
- Razón: Recursos limitados, rendimiento crítico
- Features: crypto, tls (mínimo)
🔧 Migración entre Wizards
Simple → Rhai
# Cuándo migrar:
- Necesitas configuración dinámica
- Tienes múltiples clientes
- Configuración cambia frecuentemente
- Necesitas integraciones complejas
# Cómo migrar:
1. Exportar configuración actual
2. Convertir a script Rhai
3. Probar exhaustivamente
4. Migrar gradualmente
Rhai → Simple
# Cuándo migrar:
- Configuración se ha estabilizado
- Priorizas rendimiento
- Reduces complejidad
- Equipo pequeño
# Cómo migrar:
1. Analizar scripts Rhai existentes
2. Hardcodear configuraciones comunes
3. Simplificar flujos
4. Migrar y probar
🎨 Casos Edge y Soluciones Híbridas
Caso Híbrido: Startup en Crecimiento
Fase 1 (MVP): Simple
↓
Fase 2 (Primeros clientes): Simple
↓
Fase 3 (Multi-tenant): Migrar a Rhai
↓
Fase 4 (Enterprise): Rhai completo
Caso Híbrido: Microservicios
Servicio Auth: Simple (crítico)
Servicio Config: Rhai (flexible)
Servicio Payment: Simple (seguro)
Servicio Analytics: Rhai (variable)
🚨 Señales de Alerta
Usas Simple pero necesitas Rhai si:
- Pasas >2 horas/semana modificando configuraciones
- Tienes >5 ambientes diferentes
- Clientes piden configuraciones específicas
- Integras con >10 servicios externos
Usas Rhai pero necesitas Simple si:
- Configuración es siempre la misma
- Priorizas rendimiento sobre flexibilidad
- Equipo no tiene experiencia con scripting
- Auditoría requiere simplicidad
📝 Checklist de Decisión
Antes de elegir, responde:
Contexto del Proyecto
- ¿Cuántos desarrolladores trabajarán en esto?
- ¿Cuál es el tiempo de desarrollo disponible?
- ¿Cuál es la prioridad: velocidad o flexibilidad?
- ¿Tienes experiencia con scripting?
Requisitos Técnicos
- ¿Necesitas configuración dinámica?
- ¿Tienes múltiples clientes/tenants?
- ¿Integras con APIs externas?
- ¿Configuración cambia frecuentemente?
- ¿Rendimiento es crítico?
Requisitos de Negocio
- ¿Vendes a múltiples clientes?
- ¿Ofreces diferentes planes/tiers?
- ¿Necesitas compliance específico?
- ¿Planeas escalar internacionalmente?
Puntuación Final
Simple Score = (Rendimiento × 3) + (Facilidad × 2) + (Seguridad × 3)
Rhai Score = (Flexibilidad × 4) + (Mantenibilidad × 3) + (Escalabilidad × 3)
Si Simple Score > Rhai Score: Usa Simple
Si Rhai Score > Simple Score: Usa Rhai
Si están cercanos: Considera caso específico
🎯 Casos de Éxito
Simple Wizard - Casos Exitosos
- Startup fintech: 50ms startup, máxima seguridad
- Microservicio payments: 0 configuraciones incorrectas
- IoT device: 200KB binario, 2MB RAM total
Rhai Wizard - Casos Exitosos
- SaaS CRM: 50+ configuraciones por cliente
- E-commerce platform: A/B testing de configuraciones
- Enterprise security: Compliance automático por región
🔮 Consideraciones Futuras
Evolución del Proyecto
- Simple → Rhai: Migración posible pero compleja
- Rhai → Simple: Migración fácil pero pérdida de flexibilidad
Mantenimiento a Largo Plazo
- Simple: Mantenimiento mínimo
- Rhai: Requiere expertise en scripting
Escalabilidad del Equipo
- Simple: Cualquier dev Rust puede mantener
- Rhai: Requiere conocimiento específico
🎉 Conclusión
No hay una respuesta única correcta. La decisión depende de tu contexto específico:
- ¿Priorizas simplicidad y rendimiento? → Simple
- ¿Necesitas flexibilidad y escalabilidad? → Rhai
- ¿No estás seguro? → Empieza con Simple, migra si es necesario
Recuerda: Siempre puedes cambiar después, pero es más fácil empezar simple y crecer en complejidad que al revés.