Ein Open-Source-Client-Server ORM/SOA/MVC-Framework im modernen Objekt Pascal

(c) 2008-2024 Synopse Informatique - Arnaud Bouchez
https://synopse.info - http://mormot.net
Vielen Dank an alle Mitwirkenden!
Hinweis: Diese Version 2 ersetzt Mormot 1.18, die sich jetzt im nur Wartungsmodus befindet. Erwägen Sie, Mormot 2 für ein neues oder wartbares Projekt zu verwenden.
Sie können mehr über Mormot 2 in:
src -Unterordner;Um über Mormot zu besprechen, können Sie neben unserem offiziellen Forum teilnehmen:
Diese Diskussionsgruppen werden nicht von Synopse verwaltet, sondern von einigen Mormot 2 -Benutzern: Vielen Dank an sie!
Wenn Sie es wert sind, es wert zu verwenden, sollten Sie Mormot 2 Dev sponsern, wenn Sie können - und noch besser durch das Teilen Ihrer eigenen Commits. :-)
Synopse Mormot 2 ist ein Open-Source-Client-Server-ORM-SOA-MVC-Framework für Delphi 7 bis zu Delphi 12 Athenes und FPC 3.2/Trunk, das Windows/Linux/BSD/MacOS für Server sowie eine Plattform für Clients (einschließlich Mobilfunk oder AJAX) abzielt.

Die Hauptmerkmale von Mormot sind daher:
interface definiert sind.Mormot betont Geschwindigkeit und Vielseitigkeit und nutzt die Vorteile des modernen Objekts Pascal Native Code und einfach zu deplozierende Lösungen, senkt die Bereitstellungskosten und steigern den ROI. Es kann verwendet werden:
Der Mormot 2- Repository-Inhalt ist in die folgenden Unterordner organisiert:
src ist der Hauptquellcodeordner, in dem Sie das eigentliche Framework finden sollten.packages enthält IDE -Pakete und -Tools, um Ihre Entwicklerumgebung einzurichten.static enthält Rohbibliothek .o / .obj -Dateien, die für FPC und Delphi Static Links benötigt werden;test definiert die Regressionstests aller Rahmenfunktionen.res , um einige Ressourcen zu kompilieren, die in src verwendet wurden - z. B. die static Binärdateien von Drittanbietern;doc hält die Dokumentation des Rahmens;ex enthält verschiedene Proben.Fühlen Sie sich frei, die Quelle und die eingebrachte Dokumentation zu erkunden.
Der Rahmen ist unter einem disjunktiven Drei-Lizenz-Drei-Lizenz lizenziert, wobei Sie die Wahl eines der drei folgenden Sätze kostenloser Software-/Open-Source-Lizenzbegriffe haben:
Dies ermöglicht die Verwendung unseres Codes in so weit wie möglich eine Vielzahl von Softwareprojekten und führt dennoch die Kopie-Links für den von uns geschriebenen Code bei. Siehe die vollständigen Lizenzbegriffe.
Der Framework -Quellcode:
Beachten Sie, dass FPC 3.2.2 eine Regression mit Variantenspätbindung aufweist. Verwenden Sie stattdessen FPC 3.2.2 Fixes.
Auf Delphi ist nur das Windows-Ziel für Mormot General Units verfügbar. Sie können jedoch die plattformübergreifenden Client-Einheiten für alle Delphi-Ziele verwenden. FPC ist ein viel besserer und konsistenter plattformübergreifender Compiler, den wir gerne unterstützen.
Bitte senden Sie Pull-Anfragen für nicht validierte Versionen.
git clone https://github.com/synopse/mORMot2.git in z c:githubmORMot2 ,c:githubmORMot2static .d:mormot2 , extrahieren Sie.mormot2static.tgz oder mormot2static.7z -Dateiinhalt in d:mormot2static ./packages/lazarus/mormot2.lpk -Paket;mormot2ui.lpk bei Bedarf.d:mormot2src eine neue Umgebungsvariable mormot2 mit vollem Pfad zu Ihrem Mormot 2 src -Unterbeordner ( Tools - Optionen - IDE - Umgebungsvariablen ), z c:githubmORMot2src$(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 in der IDE und führen Sie die Regressionstests auf Ihrer Maschine durch. Für die Sicherheit sind die SHA-256-Überprüfungen der aktuellen Version der heruntergeladenen Binärdateien, wie in unserem Server https://synopse.info/files veröffentlicht, in dieser Datei Repository static/dev.sha256 verfügbar.
Der Mormot -Rahmen blieb jahrelang in Revision 1.18 und war Zeit für ein vollständiges Refactoring.
Die wichtigsten Refactoring -Punkte versuchten, den festen Prinzipien besser zu befolgen:
SynCommons.pas , mORMot.pas ) in kleinere Einheiten mit senkmal refinierten Einheiten;TSQLRecord in TOrm , TSQLRest in TRest ...;TRest -Klasse in ordnungsgemäße Ruhe/ORM/SOA -Klassen - und Ordner;asm -Kernels unter Verwendung von AVX2, falls verfügbar;Wir haben daher ein ganz neues Projekt und ein ganz neues Repository erstellt, da die Umstellung auf Version 2 einige rückwärts unkompatible Änderungen induzierte. Es wurden neue Einheitennamen verwendet, um unerwartete Kollisionsprobleme während der Migration zu vermeiden oder wenn 1.18 für ein Kompatibilitätsprojekt installiert bleiben.
Schnelle Schritte beim Upgrade von einer früheren Überarbeitung von 1.18:
Beachten Sie alle Einheiten, in denen geteilt und umbenannt wurde, sowie einige gegenwärtige Änderungen, die für erweiterte Funktionen eingeführt wurden, daher ist ein direktes Update nicht möglich - noch gesucht
Wechseln Sie in einen neuen Ordner, z. B. # lib2 anstelle von # lib
Laden Sie die neuesten 2.# Revisionsdateien herunter, wie oben angegeben
Ändern Sie Ihre Verweise auf Mormot -Einheiten:
PUREMORMOT2 -Modus umbenannt wurden;