Table of Contents
- DelphiMVCFramework
The most popular Delphi RESTful framework on GitHub
DelphiMVCFramework is a powerful, open-source framework for building RESTful services, JSON-RPC APIs, and web applications with Object Pascal. It provides a complete MVC architecture with built-in ORM, authentication, TLS 1.3 support and extensive middleware support.
- 📖 Official Guide - Comprehensive documentation and tutorials
- ⚡ Quick Start Guide - Get up and running in 5 minutes
- 📦 Installation - Step-by-step installation instructions
- 🎯 Samples - 40+ examples covering all features
- 📝 Changelog - Version history and release notes
- RESTful compliant (Richardson Maturity Model Level 3)
- JSON-RPC 2.0 support with automatic object remotization
- MVC pattern implementation with controller inheritance
- Middleware system for request/response processing
- Dependency injection support
- Domain modeling first approach
- JWT (JSON Web Token) authentication and authorization
- HTTP Basic Authentication support
- Custom authentication mechanisms
- CORS (Cross-Origin Resource Sharing) handling
- TLS 1.3 support for secure communications
- JWT Blacklist middleware for token revocation
- MVCActiveRecord - Powerful ORM with full CRUD operations
- Multi-database support: PostgreSQL, MySQL, MariaDB, Firebird, InterBase, SQLite, Microsoft SQL Server
- RQL (Resource Query Language) for flexible querying
- Named queries support for optimized database access
- Connection pooling and transaction management
- Automatic entity generation from database schema
- Content negotiation with multiple MIME types
- Server-Side Views with Mustache and TemplatePro support
- Static file serving middleware
- File upload/download handling
- Server-Sent Events (SSE) for real-time updates
- HATEOAS (Hypermedia as the Engine of Application State) support
- OpenAPI/Swagger documentation generation
- Compression support (gzip, deflate)
- Flexible JSON serialization/deserialization
- Custom serializers for complex types
- Nullable types support
- Dataset to JSON conversion
- Multiple naming conventions (camelCase, PascalCase, snake_case, etc.)
- Attribute-based field mapping
- IDE Wizard for project creation
- Comprehensive logging with LoggerPro integration
- Built-in profiler for performance monitoring
- Unit testing framework (250+ tests)
- dotEnv configuration support
- Multiple deployment options: Standalone, Apache module, IIS ISAPI, Linux daemon
- Delphi 13 Florence ✅
- Delphi 12.x Athens ✅
- Delphi 11.x Alexandria ✅
- Delphi 10.4 Sydney ✅
- Delphi 10.3 Rio ✅
- Delphi 10.2 Tokyo ✅
- Delphi 10.1 Berlin ✅
- Delphi 10 Seattle ✅
- Windows (32-bit and 64-bit)
- Linux (64-bit)
- Android (experimental support)
- Console Applications
- Windows Services
- Linux Daemons
- Windows VCL Applications
- Windows or Linux FMX Applications
- Apache Modules (Windows/Linux)
- IIS ISAPI Extensions (Windows)
DelphiMVCFramework provides enterprise-grade security features including full TLS 1.3 support. The framework automatically negotiates the highest available TLS version and provides:
- Perfect Forward Secrecy with modern cipher suites
- Certificate validation and custom certificate handling
- SNI (Server Name Indication) support for multiple SSL certificates
- HTTP Strict Transport Security (HSTS) headers
- Secure cookie handling with SameSite attributes
- CSRF protection mechanisms
TLS 1.3 brings significant security and performance improvements, including faster handshakes and stronger encryption algorithms. DelphiMVCFramework leverages these improvements automatically when deployed in compatible environments.
Here's how a simple DMVCFramework controller looks like:
// 1. Create a controller
[MVCPath('/api/hello')]
TMyController = class(TMVCController)
public
[MVCPath('/world')]
[MVCHTTPMethod([httpGET])]
function HelloWorld: TMyObject;
end;
// 2. Implement the action
function TMyController.HelloWorld: TMyObject;
begin
Result := TMyObject.Create('Hello World!');
end;
// 3. Register and start server elsewhere
FMVC := TMVCEngine.Create(Self);
FMVC.AddController(TMyController);
The comprehensive "DelphiMVCFramework - The Official Guide" is available in multiple languages:
- 🇬🇧 English (eBook & Hardcover)
- 🇧🇷 Portuguese
- 🇪🇸 Spanish
- Professional Training: Available through bit Time Professionals (world wide) and Delphi Studio ES (in Spain)
- Consultancy Services: Custom development and technical support available through bit Time Professionals (world wide) and Delphi Studio ES (in Spain)
- Community Support: Facebook Group (6000+ members)
- Facebook Group - Active community with 6000+ members
- GitHub Issues - Bug reports and feature requests
- GitHub Discussions - General questions and discussions
- ⭐ Star this repository - Help others discover DMVCFramework
- 🐛 Report bugs - Help improve the framework
- 📝 Contribute documentation - Share your knowledge
- 💰 Become a Patron - Access to premium contents, videos, article etc. reserved to supporters
"DMVCFramework is a great framework. It's very intuitive, fast, easy to use, actually there is nothing more to ask for." - Samir
"I'm still amazed by the DelphiMVCFramework code and documentation. Thank you very much and I am amazed by your quick feedback." - Benjamin Yang, Director of SQLGate
"We started the process of migrating our systems to micro services and are loving the DMVCFramework." - E. Costa
DelphiMVCFramework is proudly sponsored by:
Gold Sponsors |
---|
bit Time Professionals |
bit Time Software |
Silver Sponsors |
---|
Centro Software |
Delphi Studio ES |
Orion Law |
Vivaticket |
DelphiMVCFramework is released under the Apache License 2.0. See LICENSE file for details.
Documentation | Community |
---|---|
Quick Start | Facebook Group |
Installation | GitHub Discussions |
Samples | X |
RQL Guide | Blog |
dotEnv |
Made with ❤️ by Daniele Teti and the community