MARS-Curiosity: a Delphi REST library
REST is the key to build modern, scalable, flexible, robust, cross-platform solutions. It does not matter if you are building a web, mobile, desktop or service application or whether you’ll be deploying your solution on a local network or in the cloud: building a REST application server will represent a great opportunity to centralize your application code and to respond to a variety of clients (possibly built with different technologies). The adoption of popular standards (http(s), JSON, JWT, …) will enable you to properly decouple your backends from your frontends gaining the ability of introduce changes on both sides to always be ready for future requirements modifications and new technologies arising.
MARS-Curiosity is a modern, easy to use yet powerful library that will help you as a Delphi developer to build your application servers (and/or REST clients).
Key points of the library are:
- lightweight (grab only what you need. MARS does not force you to embrace this or that architectural pattern or style);
- open (plug in whatever Delphi library you like. Dependency injection mechanism, serializers and deserializers will offer you a chance to integrate virtually everything including ORMs, script engines, reports or document producers, …);
- standards compliant (build REST servers to be consumed by non-Delphi technologies or REST clients to interact with non-Delphi servers);
- full Delphi experience (use datamodules, components, classes and records. Enjoy design time support. Seamless integration with FireDAC. Ability to retain Delphi-to-Delphi features in coupled systems);
- deploy everywhere (cross-platform solution, both server and client side)
- Introduction and core topics
- MARScmd: kickstart your first project
- Your first REST API with MARS
- Authentication and authorization through JWT
- Data access (with FireDAC)
- Metadata and documentation
- MARS Client library
- Web technologies
MARS-Curiosity is open source software, hosted on github.com ( https://github.com/andrea-magni/MARS ) and it is compatible with any recent Delphi version (from 10.2.2 Tokyo back to XE7), lower versions are not officially supported but most of functionalities should work. Regarding to Delphi editions, the Enterprise edition will enable every feature of MARS on all platforms (including Linux) but you can even begin with the Starter edition (with limitations of course, like supported platforms, license requirements and DAC availability).
Workshop language is english.