Scarpe/Shoes Incompatibilities
This document outlines the known incompatibilities between Scarpe and the original Shoes implementation.
API Differences
- Method Names
- Some methods have been renamed for clarity
- Deprecated Shoes methods are not supported
- New methods added for modern features
- Parameters
- Some parameter orders have changed
- Additional options are available
- Some legacy options are not supported
Behavioral Changes
Key behavioral differences include:
- Event Handling
- More consistent event model
- Better async support
- Different timing guarantees
- Layout System
- More predictable layout behavior
- Enhanced flexibility
- Some legacy layouts may render differently
Unsupported Features
Some Shoes features are not supported in Scarpe:
- Legacy Components
- Certain deprecated widgets
- Old animation system
- Legacy drawing methods
- Platform-Specific Features
- Some OS-specific capabilities
- Direct hardware access
- Legacy system integration
Modernization Changes
Intentional changes for modern development:
- Architecture
- Separate display service
- Modern component model
- Enhanced state management
- Development Experience
- Better debugging tools
- Modern testing support
- Improved error messages
Migration Guide
When moving from Shoes to Scarpe:
- Review API changes
- Update event handlers
- Test layouts thoroughly
- Use modern alternatives for legacy features