Un cadre Open Source Client-Server ORM / SOA / MVC dans l'objet moderne Pascal

(c) 2008-2024 Synopse informatique - Arnaud Bouchez
https://synopse.info - http://mormot.net
Merci à tous les contributeurs!
Remarque: Cette version 2 remplace Mormot 1.18 qui est maintenant en mode de maintenance uniquement. Envisagez d'utiliser Mormot 2 pour tout projet nouveau ou maintenable.
Vous pouvez en savoir plus sur Mormot 2 in:
src code source;Pour discuter de Mormot , en plus de notre forum officiel, vous pouvez vous joindre:
Ces groupes de discussion ne sont pas gérés par Synopse, mais par certains utilisateurs de Mormot 2 : merci beaucoup à eux!
Si vous trouvez qu'il vaut la peine d'être utilisé, veuillez envisager de parrainer Mormot 2 Dev si vous le pouvez - et encore mieux en partageant vos propres engagements. :-)
Synopse Mormot 2 est un cadre Open Source Client-Server ORM SOA MVC pour Delphi 7 jusqu'à Delphi 12 Athenes et FPC 3.2 / Trunk, ciblant Windows / Linux / BSD / MacOS pour les serveurs, et toute plate-forme pour les clients (y compris mobile ou ajax).

Les principales caractéristiques de Mormot sont donc:
interface ;Soulignant la vitesse et la polyvalence, Mormot tire parti des avantages du code natif de l'objet moderne Pascal et des solutions faciles à déposer, de la réduction du coût de déploiement et de l'augmentation du retour sur investissement. Il peut être utilisé:
Le contenu du référentiel MormOT 2 est organisé dans les sous-repliants suivants:
src est le dossier principal du code source, où vous devriez trouver le cadre réel;packages contient des packages et des outils IDE pour configurer votre environnement de développement;static contient la bibliothèque RAW Fichiers .o / .obj nécessaires pour FPC et Delphi STATIC LINKING;test définit les tests de régression de toutes les caractéristiques du cadre;res pour compiler certaines ressources utilisées dans src - par exemple les binaires tiers static ;doc détient la documentation du cadre;ex contient divers échantillons.N'hésitez pas à explorer la source et la documentation inclinée.
Le cadre est autorisé sous une licence disjonctive à trois licences, ce qui vous donne le choix de l'un des trois ensembles suivants de termes de licence de logiciel libre / open source:
Cela permet l'utilisation de notre code dans une plus grande variété de projets logiciels que possible, tout en conservant la copie-gauche sur le code que nous avons écrit. Voir les termes complets de licence.
Le code source du framework:
Notez que FPC 3.2.2 a une régression avec la variante de liaison tardive - Utilisez FPC 3.2.2 Firige la branche à la place.
Sur Delphi, seule la cible Windows est disponible pour les unités générales de Mormot , mais vous pouvez utiliser les unités de clients multiplateformes sur toutes les cibles Delphi. FPC est un compilateur multiplateforme bien meilleur et cohérent, nous soutenons volontiers.
Veuillez soumettre des demandes de traction pour les versions non validées.
git clone https://github.com/synopse/mORMot2.git dans eg c:githubmORMot2 ,c:githubmORMot2static .d:mormot2 ,mormot2static.tgz ou mormot2static.7z dans d:mormot2static ./packages/lazarus/mormot2.lpk ;mormot2ui.lpk si nécessaire.mormot2 avec un chemin complet vers votre sous-dossier src MormOT 2 ( Options - Options - IDE - Variables d'environnement ), par exemple c:githubmORMot2src ou d:mormot2src en fonction de l'étape 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 dans l'IDE et exécutez les tests de régression sur votre machine. Pour la sécurité, les sommes de contrôle SHA-256 de la version actuelle des fichiers binaires téléchargés, tels que publiés dans notre serveur https://synopse.info/files, sont disponibles dans ce fichier de référentiel static/dev.sha256 .
Le cadre Mormot est resté dans la révision 1.18 pendant des années et était le temps de refactoriser.
Les principaux points de refactorisation ont essayé de mieux suivre les principes solides:
SynCommons.pas , mORMot.pas ) en unités raffinées plus petites;TSQLRecord dans TOrm , TSQLRest dans TRest ...;TRest divisée en classes REST / ORM / SOA appropriées - et les dossiers;asm Framework, en utilisant AVX2 si disponible;Nous avons donc créé un tout nouveau projet et référentiel, car le passage à la version 2 a induit des changements non compatibles en arrière. De nouveaux noms d'unité ont été utilisés, pour éviter les problèmes de collision inattendus pendant la migration, ou si 1.18 doit rester installé pour un projet de compatibilité.
Étapes rapides lors de la mise à niveau d'une révision de 1.18 précédente:
Remarquez toutes les unités lorsqu'elles sont partagées et renommées, et quelques modifications de rupture introduites pour les fonctionnalités améliorées, donc une mise à jour directe n'est pas possible - ni recherché
Passez à un nouveau dossier, par exemple # lib2 au lieu de # lib
Télécharger les derniers fichiers 2. # Revision comme indiqué juste ci-dessus
Changez vos références en unités de Mormot :
PUREMORMOT2 ;