现代对象中的开源客户服务器服务器/SOA/MVC框架Pascal

(c)2008-2024 Synopse Informatique -Arnaud Bouchez
https://synopse.info- http://mormot.net
感谢所有贡献者!
注意:此版本2替换了现在处于仅维护模式的Mormot 1.18 。考虑将Mormot 2用于任何新的或可维护的项目。
您可以找到有关Mormot 2的更多信息:
src子文件夹;为了讨论Mormot ,除了我们的官方论坛外,您还可以加入:
这些讨论小组不是由Synopse管理的,而是由一些Mormot 2用户管理的:非常感谢他们!
如果您觉得值得使用,请考虑赞助Mormot 2 Dev,如果可以的话 - 甚至通过分享自己的提交也更好。 :-)
Synopse Mormot 2是Delphi 7到Delphi 12雅典和FPC 3.2/TRUNK的开源客户端服务器ORM SOA MVC框架,针对服务器的Windows/Linux/BSD/MACOS,用于服务器,以及任何用于客户端的平台(包括移动或AJAX)。

因此,摩尔特的主要特征是:
interface的REST服务中;强调速度和多功能性, Mormot利用了现代物体Pascal本地代码和易于动力的解决方案的优势,降低了部署成本并增加了投资回报率。它可以使用:
Mormot 2存储库含量被组织到以下子文件夹中:
src是主要的源代码文件夹,您应该在其中找到实际的框架;packages包含IDE软件包和工具来设置开发环境;static包含FPC和Delphi静态链接所需的原始库.o / .obj文件;test定义了所有框架功能的回归测试;res编译src中使用的一些资源 - 例如static第三方二进制文件;doc保留了该框架的文档;ex包含各种样本。请随时探索源头和嵌套的文档。
该框架是根据析取的三个许可许可的,使您可以选择以下三组免费软件/开源许可条款之一:
这允许在尽可能宽的软件项目中使用我们的代码,同时仍在我们编写的代码上维护副本。请参阅完整的许可条款。
框架源代码:
请注意,FPC 3.2.2具有带有变化的后期绑定的回归 - 使用FPC 3.2.2修复分支。
在Delphi上,只有Windows目标可用于Mormot通用单元,但是您可以在所有Delphi目标上使用跨平台客户端单元。 FPC是一个更好,一致的跨平台编译器,我们很乐意支持。
请提交非验证版本的拉请请求。
git clone https://github.com/synopse/mORMot2.git to eg c:githubmORMot2 ,c:githubmORMot2static 。d:mormot2 ,mormot2static.tgz或mormot2static.7z文件内容到d:mormot2static中。/packages/lazarus/mormot2.lpk软件包;mormot2ui.lpk 。mormot2 ,并具有通往Mormot 2 src折路的完整路径(工具 - 选项 - IDE-环境变量),例如c:githubmORMot2src或d:mormot2src取决于步骤1;$(mormot2);$(mormot2)core;$(mormot2)lib;$(mormot2)crypt;$(mormot2)net;$(mormot2)db;$(mormot2)rest;$(mormot2)orm;$(mormot2)soa;$(mormot2)app;$(mormot2)script;$(mormot2)ui;$(mormot2)tools;$(mormot2)misctest/mormot2tests.dpr ,并在计算机上运行回归测试。为了安全起见,如我们的https://synopse.info/files服务器中发布的当前版本的SHA-256校验和,在此存储库static/dev.sha256文件中可用。
Mormot框架在修订1.18中保留了多年,是时候进行全面重构了。
主要的重构点试图更好地遵循坚实的原则:
SynCommons.pas , mORMot.pas )分为较小的示波器装置;TSQLRecord ,为TOrm , TSQLRest变成TRest ...;TRest类分为适当的REST/ORM/SOA类 - 和文件夹;asm内核的优化,使用AVX2(如果有);因此,我们创建了一个全新的项目和存储库,因为切换到版本2引起了一些向后的不相容更改。使用了新的单位名称,以避免在迁移过程中出现意外的碰撞问题,或者是否要保持1.18的安装以进行兼容项目。
从以前的1.18修订升级时的快速步骤:
请注意所有分裂和重命名的单元,以及为增强功能引入的一些破坏更改,因此不可能进行直接更新 - 也不想要
切换到新文件夹,例如# lib2,而不是# lib
下载最新2.#如上所述的修订文件
更改您对Mormot单位的引用:
PUREMORMOT2模式重命名;