- 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>
10 KiB
What is Rustelo?
Rustelo is a modern, high-performance web application framework built with Rust that combines the best of both worlds: the safety and speed of systems programming with the flexibility and ease of web development.
The Rustelo Philosophy
Built for the Modern Web
Rustelo was designed from the ground up to address the challenges of modern web development:
- Performance First - Every component is optimized for speed and efficiency
- Security by Default - Built-in protections against common web vulnerabilities
- Developer Experience - Tools and patterns that make development enjoyable
- Production Ready - Tested and proven in real-world applications
Why Rust for Web Development?
Traditional web frameworks often force you to choose between performance and safety.Rustelo breaks this false dichotomy by leveraging Rust's unique advantages:
Memory Safety Without Garbage Collection
// No null pointer exceptions
// No buffer overflows
// No memory leaks
// No data races
Zero-Cost Abstractions
// High-level code that compiles to fast machine code
async fn handle_request(req: Request) -> Response {
let user = authenticate(&req).await?;
let content = fetch_content(&user).await?;
render_response(content)
}
Fearless Concurrency
// Handle thousands of concurrent users safely
#[tokio::main]
async fn main() {
let app = create_app().await;
let listener = tokio::net::TcpListener::bind("0.0.0.0:3030").await?;
axum::serve(listener, app).await?;
}
Core Architecture
Frontend: Reactive and Fast
Rustelo uses Leptos for the frontend, providing:
- Server-Side Rendering (SSR) - Fast initial page loads
- Client-Side Hydration - Interactive user experience
- Reactive Components - Efficient updates and state management
- WebAssembly - Near-native performance in the browser
Backend: Robust and Scalable
The backend is powered by Axum, offering:
- Async-First Design - Handle many concurrent requests
- Type-Safe Routing - Catch errors at compile time
- Middleware System - Composable request/response processing
- Tower Integration - Rich ecosystem of networking components
Database: Flexible and Reliable
Database integration through SQLx provides:
- Compile-Time SQL Checking - Catch database errors before deployment
- Multiple Database Support - PostgreSQL, SQLite, and more
- Connection Pooling - Efficient resource management
- Migration System - Version-controlled schema changes
Feature Ecosystem
Modular by Design
Rustelo uses Rust's feature flags to create a modular system:
[features]
default = ["auth", "content-db", "email"]
# Core features
auth = ["jsonwebtoken", "argon2", "oauth2"]
content-db = ["pulldown-cmark", "syntect", "sqlx"]
email = ["lettre", "handlebars"]
tls = ["rustls", "axum-server/tls"]
This means you only compile and include what you actually use.
Available Modules
🔐 Authentication Module
- JWT token-based authentication
- OAuth2 integration (Google, GitHub, etc.)
- Two-factor authentication (TOTP)
- Session management
- Role-based access control (RBAC)
📝 Content Management Module
- Markdown rendering with syntax highlighting
- Rich text editing interface
- Media file management
- Content versioning
- SEO optimization tools
📧 Email Module
- Multiple email providers (SMTP, SendGrid, AWS SES)
- HTML and text templates
- Contact forms
- Email verification workflows
- Newsletter capabilities
🔒 Security Module
- HTTPS/TLS encryption
- CSRF protection
- Rate limiting
- Security headers
- Input validation and sanitization
Real-World Benefits
For End Users
- Fast Loading - Pages load quickly and stay responsive
- Secure - Your data is protected by industry best practices
- Reliable - Applications stay up and running
- Mobile-Friendly - Works perfectly on all devices
For Developers
- Productive - Rich tooling and clear error messages
- Maintainable - Type safety prevents many bugs
- Scalable - Performance that grows with your users
- Enjoyable - Modern development experience
For Businesses
- Cost-Effective - Lower server costs due to efficiency
- Secure - Reduced risk of data breaches
- Fast Time-to-Market - Rapid development cycles
- Future-Proof - Built on growing, stable technology
Comparison with Other Frameworks
vs. Node.js Frameworks
| Aspect | Rustelo | Node.js |
|---|---|---|
| Performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Memory Safety | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| Type Safety | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Ecosystem | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Learning Curve | ⭐⭐⭐ | ⭐⭐⭐⭐ |
vs. Python Frameworks
| Aspect | Rustelo | Django/Flask |
|---|---|---|
| Performance | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| Concurrency | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| Type Safety | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Development Speed | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| Runtime Errors | ⭐⭐⭐⭐⭐ | ⭐⭐ |
vs. Go Frameworks
| Aspect | Rustelo | Go |
|---|---|---|
| Performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Memory Safety | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Frontend Integration | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| Compile Time | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Error Handling | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
When to Choose Rustelo
Perfect For:
- High-Performance Applications - When speed matters
- Security-Critical Systems - When safety is paramount
- Long-Term Projects - When maintainability is key
- Growing Applications - When you need to scale
- Modern Development Teams - When you want the latest tools
Consider Alternatives If:
- Rapid Prototyping - When you need something in hours, not days
- Large Existing Ecosystem - When you need tons of third-party packages
- Team Constraints - When your team isn't ready for Rust
- Simple CRUD Apps - When basic functionality is sufficient
Success Stories
Performance Gains
"We migrated our API from Node.js toRustelo and saw a 10x improvement in response times while reducing server costs by 60%."
— Tech Lead at Growing SaaS Company
Developer Experience
"The type safety caught so many bugs before they reached production. Our deployment confidence went through the roof."
— Senior Developer at Fintech Startup
Scalability
"Rustelo handled our traffic spike during a viral campaign without any issues. The old system would have crashed."
— CTO at Media Company
The Technology Stack
Frontend Technologies
- Leptos - Reactive web framework
- WebAssembly - High-performance client code
- Tailwind CSS - Utility-first styling
- DaisyUI - Beautiful components
Backend Technologies
- Axum - Fast, ergonomic web server
- Tokio - Async runtime
- Tower - Modular networking
- SQLx - Type-safe database queries
Infrastructure
- Docker - Containerized deployment
- PostgreSQL/SQLite - Flexible database options
- Nginx - Reverse proxy and load balancing
- Let's Encrypt - Automatic SSL certificates
Getting Started Journey
For Different User Types
Content Creators & Bloggers
- Installation - Get Rustelo running
- User Interface - Learn the admin panel
- Content Publishing - Create your first post
- Customization - Make it yours
Developers & Teams
- Development Setup - Configure your tools
- Architecture Overview - Understand the system
- First Feature - Build something
- Testing - Ensure quality
System Administrators
- Production Installation - Deploy securely
- Configuration - Optimize settings
- Monitoring - Keep it healthy
- Backup Strategy - Protect your data
Community and Ecosystem
Open Source Benefits
- Transparency - You can see exactly how everything works
- Security - Many eyes make bugs shallow
- Flexibility - Modify anything to fit your needs
- Longevity - Not dependent on any single company
Growing Ecosystem
- Active Development - Regular updates and improvements
- Community Plugins - Extensions built by users
- Documentation - Comprehensive guides and examples
- Support - Multiple channels for getting help
Contributing Opportunities
- Code Contributions - Features, bug fixes, optimizations
- Documentation - Guides, tutorials, translations
- Testing - Quality assurance and feedback
- Community - Help other users succeed
The Future of Rustelo
Roadmap Highlights
- Performance Optimizations - Even faster response times
- Enhanced Developer Tools - Better debugging and profiling
- More Integrations - Additional third-party services
- Mobile-First Features - Progressive Web App capabilities
- AI/ML Integration - Modern AI-powered features
Long-Term Vision
Rustelo aims to be the go-to framework for building high-performance, secure web applications that can grow from prototype to enterprise scale while maintaining developer productivity and system reliability.
Next Steps
Ready to experience Rustelo? Here's what to do next:
Try It Out
- Quick Installation - Get running in minutes
- Live Demo - See it in action
- Example Applications - Real-world code
Learn More
- Architecture Deep Dive - Technical details
- Feature Comparison - What's included
- Performance Benchmarks - How fast is it?
Get Involved
- Community Forum - Join the discussion
- GitHub Repository - See the code
- Contributing Guide - Help improve Rustelo
Rustelo represents the future of web development: safe, fast, and enjoyable. Join us in building better web applications with the power of Rust. 🦀⚡