We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Rafael França - Frontiers of development productivity in Rails - Rails World 2024
Learn how Rails 7.2's dev container support streamlines development setup & improves productivity. Rafael França explores solutions for common environment challenges.
- 
    
Rails is optimized for developer happiness and productivity but initial setup/onboarding remains challenging for beginners
 - 
    
Development containers (dev containers) offer a standardized way to configure development environments:
- Reusable across team members
 - Disposable and repeatable
 - Platform-independent
 - Faster than traditional VMs
 - Supports multiple editors (VS Code, RubyMine, etc.)
 
 - 
    
Rails 7.2 includes built-in dev container support:
- 
Can generate dev container config with 
rails new --dev-container - Pre-configured with necessary dependencies
 - Works with existing Rails applications
 
 - 
Can generate dev container config with 
 - 
    
Common development environment pain points addressed by dev containers:
- Ruby version management complexity
 - Database dependencies
 - System-level package requirements
 - Editor/IDE configuration
 - Cross-platform compatibility
 
 - 
    
Dev container architecture benefits:
- Composable features and images
 - High level of customization
 - Consistent environment across team
 - No file syncing overhead
 - Better performance than VM-based solutions
 
 - 
    
Areas for Rails productivity improvement:
- Better editor integration
 - Enhanced static typing support
 - Improved LSP (Language Server Protocol) implementation
 - CLI tools without JavaScript dependencies
 - More investment in development tooling
 
 - 
    
The community should focus on:
- Maintaining Rails’ doctrine of developer happiness
 - Improving initial developer experience
 - Building better tooling for code analysis
 - Enhancing static typing capabilities
 - Standardizing development environments