mORMot 2
Pascal Café
Arnaud Bouch z
2025/03/29 Utr cht
Welcome
Arnaud Bouchez
• Open Source Founder
mORMot 1, mORMot 2, SynPDF, dmustache
• Modern Object Pascal
Delphi and FPC - Embarcadero MVP
• Synopse Tranquil IT
https://synopse.info https://tranquil.it
PASCAL CAFE 2025
MORMOT 2
FROM THE SOURCE
PASCAL CAFE 2025
WHAT IS MORMOT ?
• The mORMot Family
• The mORMot Purpose
• The mORMot Way
WHAT IS MORMOT ?
• The mORMot Family
• The mORMot Purpose
• The mORMot Way
The mORMot Family
The mORMot Family
• mORMot
The mORMot Family
• mORMot – not only ORM
–Start d in 2008 as a SQLit 3 r mot ORM
–For D lphi 7
The mORMot Family
• mORMot – not only ORM
– Start d in 2008 as a SQLit 3 r mot ORM
– For D lphi 7, th n D lphi XYZ, th n FPC
– For any SQL/NoSQL, with SOA, MVC...
The mORMot Family
• mORMot 1 – not only ORM
– Start d in 2008 as a SQLit 3 r mot ORM
– For D lphi 7, th n D lphi XYZ, th n FPC
– For any SQL/NoSQL, with SOA, MVC...
• mORMot 2
– Full r writ start d in 2018
– Still compatibl with mORMot 1
– But r ady for th futur
WHAT IS MORMOT ?
• The mORMot Family
• The mORMot Purpose
• The mORMot Way
WHAT IS MORMOT ?
• The mORMot Family
• The mORMot Purpose
• The mORMot Way
The mORMot Purpose
WHAT DOES MORMOT ?
PASCAL CAFE 2025
MORMOT LEVERAGES
OBJECT PASCAL
PASCAL CAFE 2025
MORMOT LEVERAGES
DELPHI AND FPC
PASCAL CAFE 2025
MORMOT FAVORS
SOLID CODE
PASCAL CAFE 2025
WHAT HAS MORMOT ?
PASCAL CAFE 2025
MORMOT HAS
LOTS OF UNITS
PASCAL CAFE 2025
MORMOT HAS
LOTS OF ASSEMBLY
PASCAL CAFE 2025
MORMOT HAS
LOTS OF POINTERS
PASCAL CAFE 2025
MORMOT HAS
LOTS OF COMMENTS
PASCAL CAFE 2025
MORMOT HAS
LOTS OF TESTS
PASCAL CAFE 2025
BUT
PASCAL CAFE 2025
MORMOT IS A
RTL ON STEROÏDS
PASCAL CAFE 2025
MORMOT HAS A
JSON LIBRARY
PASCAL CAFE 2025
MORMOT HAS A
RTTI WRAPPER
PASCAL CAFE 2025
MORMOT HAS
TDOCVARIANT
PASCAL CAFE 2025
MORMOT HAS A
SIMPLE ORM
PASCAL CAFE 2025
MORMOT HAS ITS
SQL/NOSQL LAYER
PASCAL CAFE 2025
MORMOT HAS ITS
IN-MEMORY ENGINE
PASCAL CAFE 2025
MORMOT HAS A
FAST WEB/REST SERVER
PASCAL CAFE 2025
MORMOT HAS A
WEBSOCKETS SERVER
PASCAL CAFE 2025
MORMOT HAS
SOA CLIENT/SERVER
PASCAL CAFE 2025
MORMOT FAVOR
INTERFACES
PASCAL CAFE 2025
MORMOT HAS A
MUSTACHE RENDERER
PASCAL CAFE 2025
MORMOT HAS A
MVC HTML SERVER
PASCAL CAFE 2025
MORMOT HAS A
CRYPTOGRAPHIC LIB
PASCAL CAFE 2025
MORMOT HAS A
PDF GENERATOR
PASCAL CAFE 2025
MORMOT HAS A
LDAP CLIENT
PASCAL CAFE 2025
MORMOT HAS AN
OPENAPI CLIENT
PASCAL CAFE 2025
MORMOT HAS
... SO MUCH MORE ...
PASCAL CAFE 2025
BUT
PASCAL CAFE 2025
MORMOT IS ...
PASCAL CAFE 2025
MORMOT IS
INTIMIDATING (?)
PASCAL CAFE 2025
MORMOT IS
WEIRD
PASCAL CAFE 2025
MORMOT IS
NON VISUAL
PASCAL CAFE 2025
MORMOT IS
FOR SOLID CODE
PASCAL CAFE 2025
MORMOT IS
OLD AND PROVEN
PASCAL CAFE 2025
MORMOT IS
FAST
PASCAL CAFE 2025
MORMOT IS
OPEN SOURCE
PASCAL CAFE 2025
MORMOT IS ...
PASCAL CAFE 2025
MORMOT IS A
CROSS-TOOLBOX
PASCAL CAFE 2025
mORMot as a Cross-ToolBox
mORMot as a Cross-ToolBox
• ToolBox
mORMot as a Cross-ToolBox
• ToolBox
– ORM
– REST
– SOA
– MVC
– Cryptography
– N twork
– Mustach , PDF
– .... and oth r g ms :-)
mORMot as a Cross-ToolBox
• ToolBox
Use the source, Luke!
Don’t tak my word for it!
L t’s tak a look at th sourc ...
mORMot as a Cross-ToolBox
• ToolBox
Use the source, Luke!
Don’t tak my word for it!
L t’s tak a look at th sourc ...
https://github.com/synopse/mORMot2
mORMot as a Cross-ToolBox
• Cross
mORMot as a Cross-ToolBox
• Cross
mORMot as a Cross-ToolBox
• Cross
– Cross-compiler
D lphi or FPC/Lazarus
– Cross-OS
Windows, Linux, Mac, ...
– Cross-CPU
Optimiz d for
Int l/AMD 64-bit AVX2
and Aarch64
mORMot as a Cross-ToolBox
• Cross
– Cross-compiler
D lphi or FPC/Lazarus
– Cross-OS
Windows, Linux, Mac, ...
– Cross-CPU
Optimiz d for
Int l/AMD 64-bit AVX2
and Aarch64
mORMot as a Cross-ToolBox
• Cross
– Cross-compiler
D lphi or FPC/Lazarus
– Cross-OS
Windows, Linux, Mac, ...
– Cross-CPU
Optimiz d for
Int l/AMD 64-bit AVX2
and Aarch64
mORMot as a Cross-ToolBox
• Cross
– Cross-compiler
– Cross-OS
– Cross-CPU
Use the source, Luke!
Don’t tak my word for it!
L t’s tak a look at th sourc ...
https://github.com/synopse/mORMot2
WHAT IS MORMOT ?
• The mORMot Family
• The mORMot Purpose
• The mORMot Way
The mORMot Way
The mORMot Way
• Uncoupling
The mORMot Way
• Uncoupling
–Cod first, not RAD
–S parat UI from Logic
–S parat Logic from Databas
The mORMot Way
• Code first: no visual components
– SOLID cod via int rfac s
– Inj ct d p nd nci s
 Allows prop r t sting
 Eas maintainability
 S ams for l gacy proj cts
The mORMot Way
• Separate UI from Logic
– Application S rvic s
– Data Transf r Obj cts
 Start from th us cas s ( .g. forms)
 W b cli nt, RAD cli nt, 3rd party cli nt...
 Allow prop r t sting
The mORMot Way
• Separate Logic from Database
– P rsist nc S rvic s
– ORM and/or SQL/NoSQL
 Work with xisting/prov n SQL
 Us ORM wh n possibl /n d d
 Allow prop r t sting
The mORMot Way
• Uncoupling
–Cod first, not RAD
–S parat UI from Logic
–S parat Logic from Databas
... up to Domain-Driven-Design
WHAT IS MORMOT ?
• The mORMot Family
• The mORMot Purpose
• The mORMot Way
WHAT IS MORMOT ?
Alfred
will show you
even more :)
Questions?
https://synopse.info/files/202503pascalcafe.pdf
To visit the marmots
https://cauterets.site

mORMot 2 - Pascal Cafe 2025 in Nederlands