Un marco de servidor de cliente de código abierto Orm/SOA/MVC en Modern Object Pascal

(c) 2008-2024 Synopse Informatique - Arnaud Bouchez
https://synopse.info - http://mormot.net
¡Gracias a todos los contribuyentes!
Aviso: esta versión 2 reemplaza a Mormot 1.18 que ahora está en modo de mantenimiento solo. Considere usar Mormot 2 para cualquier proyecto nuevo o mantenible.
Puedes encontrar más sobre mormot 2 en:
src Sub-pleter;Para discutir sobre Mormot , además de nuestro foro oficial, puede unirse:
Esos grupos de discusión no son administrados por Synopse, sino por algunos usuarios de Mormot 2 : ¡muchas gracias a ellos!
Si vale la pena usarlo, considere patrocinar Mormot 2 Dev si puede, e incluso mejor al compartir sus propios compromisos. :-)
Synopse Mormot 2 es un marco MVC de SOA SOA de SOA SOA de código abierto de código abierto para Delphi 7 hasta Delphi 12 Athenes y FPC 3.2/Trunk, apuntando a Windows/Linux/BSD/MACOS para servidores, y cualquier plataforma para clientes (incluido Mobile o AJAX).

Por lo tanto, las principales características de mormot son:
interface ;Enfatizando la velocidad y la versatilidad, Mormot aprovecha las ventajas del código nativo de Pascal de objetos modernos y soluciones fáciles de desplegar, reduciendo el costo de implementación y el aumento de ROI. Se puede usar:
El contenido del repositorio de Mormot 2 se organiza en los siguientes subcarpetas:
src es la principal carpeta del código fuente, donde debe encontrar el marco real;packages contienen paquetes y herramientas IDE para configurar su entorno de desarrollo;static contiene archivos de biblioteca sin procesar .o / .obj necesarios para la vinculación estática FPC y Delphi;test define las pruebas de regresión de todas las características del marco;res para compilar algunos recursos utilizados dentro de src , por ejemplo, los binarios static de terceros;doc posee la documentación del marco;ex contiene varias muestras.Siéntase libre de explorar la fuente y la documentación en línea.
El marco tiene licencia bajo una licencia disyuntiva que le brinda la opción de uno de los tres conjuntos de software libre/términos de licencia de código abierto:
Esto permite el uso de nuestro código en una variedad de proyectos de software lo más amplia posible, al tiempo que mantiene la copia-izquierda en el código que escribimos. Vea los términos completos de licencias.
El código fuente del marco:
Tenga en cuenta que FPC 3.2.2 tiene una regresión con un enlace tardío variante: use la rama FPC 3.2.2 corrige en su lugar.
En Delphi, solo el objetivo de Windows está disponible para unidades generales de mormot , pero puede usar las unidades de clientes multiplataforma en todos los objetivos de Delphi. FPC es un compilador multiplataforma mucho mejor y consistente, con gusto apoyamos.
Envíe solicitudes de extracción de versiones no validadas.
git clone https://github.com/synopse/mORMot2.git en Eg c:githubmORMot2 ,c:githubmORMot2static .d:mormot2 ,mormot2static.tgz o mormot2static.7z contenido de archivo en d:mormot2static ./packages/lazarus/mormot2.lpk ;mormot2ui.lpk si es necesario.mormot2 con una ruta completa a su sub -holderante SRC SRC src herramientas - Opciones - IDE - Variables de entorno ), por ejemplo c:githubmORMot2src o d:mormot2src dependiendo del paso 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 en el IDE, y ejecute las pruebas de regresión en su máquina. Para la seguridad, las suma de verificación SHA-256 de la versión actual de los archivos binarios descargados, como se publica en nuestro servidor https://synopse.info/files, están disponibles en este archivo de repositorio static/dev.sha256 .
El marco mormot permaneció en la revisión 1.18 durante años, y fue hora de una refactorización completa.
Los principales puntos de refactorización intentaron seguir mejor los principios sólidos:
SynCommons.pas , mORMot.pas ) en unidades refinadas de alcance más pequeñas;TSQLRecord en TOrm , TSQLRest en TRest ...;TRest se divide en clases de descanso/ORM/SOA adecuadas, y carpetas;asm Kernel, utilizando AVX2 si está disponible;Por lo tanto, creamos un proyecto y un repositorio completamente nuevos, ya que el cambio a la versión 2 indujo algunos cambios no compatibles hacia atrás. Se usaron nuevos nombres de unidades, para evitar problemas de colisión inesperados durante la migración, o si 1.18 permanecerá instalado para un proyecto de compatibilidad.
Pasos rápidos al actualizar desde una revisión anterior de 1.18:
Tenga en cuenta todas las unidades donde se dividen y se renombraron, y algunos cambios de ruptura introducidos para características mejoradas, por lo tanto, no es posible una actualización directa, ni se quería
Cambiar a una nueva carpeta, por ejemplo, # lib2 en lugar de # lib
Descargue los últimos archivos de revisión de 2.# como se indica justo arriba
Cambie sus referencias a unidades mormot :
PUREMORMOT2 ;