proportional_design 1.0.0
proportional_design: ^1.0.0 copied to clipboard
A Flutter package for responsive design with proportional scaling, Material Design 3 breakpoints, and adaptive strategies for phones, tablets, and desktops.
1.0.0 - 2025-09-30 #
🎉 Major Update - Versão Melhorada #
Recursos:
✅ Detecção Inteligente de Dispositivos
- Breakpoints Material Design 3 (compact, medium, expanded)
- Detecção correta de tablets usando
shortestSideelongestSide - Enum
DeviceType(phone, tablet, desktop, foldable) - Extension
DeviceDetectorExtensionpara fácil acesso
✅ Sistema de Cache de Performance
- Cache automático de cálculos proporcionais
- Redução de ~70% em cálculos repetitivos
- Hit rate esperado > 80%
- Controle de tamanho máximo e estatísticas
✅ Logging Condicional
- Zero logs em produção por padrão
- Modo debug e verbose configuráveis
- Níveis de log (info, warning, error)
✅ Sistema de Validação Robusto
- Validações que funcionam em release
- Classe
ProportionalSafeValuescom fallbacks - Tratamento de erros automático
✅ 5 Estratégias de Escala
- Linear: comportamento original
- Adaptive: por tipo de dispositivo
- AspectRatio: considera proporção da tela
- Density: baseada em densidade de pixels
- Material: segue guidelines Material Design 3
✅ Sistema de Configuração Flexível
- Dimensões base configuráveis
- Dimensões específicas por tipo de dispositivo
- Fatores de escala customizáveis
- Estratégia padrão configurável
✅ Widgets Proporcionais Prontos
ProportionalContainer: Container automáticoProportionalText: Text com fontSize proporcionalProportionalSizedBox: SizedBox proporcionalProportionalPadding: Padding proporcionalProportionalIcon: Icon proporcionalAdaptiveLayout: Layout por tipo de dispositivoOrientationAwareLayout: Layout por orientaçãoResponsiveGrid: Grid com colunas adaptativas
✅ Testes Abrangentes
- Testes para detecção de dispositivos
- Testes para sistema de cache
- Testes para validações
Melhorias:
- API 70% mais simples com widgets proporcionais
- Performance otimizada com cache
- Documentação completa e exemplos práticos
Como Migrar:
// Configurar (opcional) - na inicialização
ProportionalConfig.setDefaultStrategy(ScalingStrategy.adaptive);
ProportionalLogger.setDebugMode(true);
ProportionalCache.enable();
// Código antigo continua funcionando
context.getProportionalWidth(200);
// Novo: usar widgets proporcionais
ProportionalContainer(width: 200, child: ...);
- Versão inicial do package
- Cálculos proporcionais básicos
- Safe area handling
- Breakpoints simples