Uma estrutura de cliente-servidor-servidor de código aberto ORM/SOA/MVC em Modern Object Pascal

(c) 2008-2024 SYNOPSE Informatique - Arnaud Bouchez
https://synopse.info - http://mormot.net
Obrigado a todos os colaboradores!
AVISO: Esta versão 2 substitui o Mormot 1.18, que agora está no modo somente de manutenção. Considere o uso do Mormot 2 para qualquer projeto novo ou sustentável.
Você pode encontrar mais sobre o Mormot 2 em:
src ;Para discutir sobre Mormot , além do nosso fórum oficial, você pode participar:
Esses grupos de discussão não são gerenciados pela Synopse, mas por alguns usuários do Mormot 2 : muito obrigado!
Se você achar que vale a pena usar, considere patrocinar o Mormot 2 Dev, se puder - e ainda melhor, compartilhando suas próprias confirmações. :-)
O SynoPSE Mormot 2 é uma estrutura do Orm SOA MVC de cliente-servidor de código aberto para Delphi 7 até Delphi 12 Atena e FPC 3.2/Trunk, direcionando o Windows/Linux/BSD/MacOS para servidores e qualquer plataforma para clientes (incluindo móveis ou ajax).

As principais características do Mormot são, portanto,:
interface ;Enfatizando a velocidade e a versatilidade, o Mormot aproveita as vantagens do código nativo de objeto moderno e soluções de fácil implantação, reduzindo o custo de implantação e aumentando o ROI. Pode ser usado:
O conteúdo do repositório Mormot 2 é organizado nos seguintes sub-oscilantes:
src é a principal pasta de código -fonte, onde você deve encontrar a estrutura real;packages contêm pacotes e ferramentas IDE para configurar seu ambiente de desenvolvimento;static contém arquivos de biblioteca bruta .o / .obj necessários para a ligação estática do FPC e Delphi;test define os testes de regressão de todos os recursos da estrutura;res para compilar alguns recursos usados no src - por exemplo, os binários static de terceiros;doc mantém a documentação da estrutura;ex contém várias amostras.Sinta -se à vontade para explorar a fonte e a documentação inlinada.
A estrutura é licenciada sob uma licenciamento disjuntivo, dando a você a escolha de um dos três conjuntos a seguir de termos de licenciamento de software livre/código aberto:
Isso permite o uso do nosso código na maior variedade de projetos de software possível, mantendo ainda mantendo a cópia na esquerda no código que escrevemos. Veja os termos completos de licenciamento.
O código -fonte da estrutura:
Observe que o FPC 3.2.2 possui uma regressão com ligação tardia variante - use o FPC 3.2.2 Fixes Branch.
No Delphi, apenas o destino do Windows está disponível para unidades gerais mormot , mas você pode usar as unidades de clientes de plataforma cruzada em todos os alvos da Delphi. O FPC é um compilador de plataforma cruzada muito melhor e consistente, apoiamos de bom grado.
Envie solicitações de puxar para versões não validadas.
git clone https://github.com/synopse/mORMot2.git em por exemplo c:githubmORMot2 ,c:githubmORMot2static .d:mormot2 ,mormot2static.tgz ou mormot2static.7z em d:mormot2static ./packages/lazarus/mormot2.lpk ;mormot2ui.lpk , se necessário.mormot2 com caminho completo para o seu subpasto Mormot 2 src ( Ferramentas - Opções - IDE - Variáveis de Meio Ambiente ), por exemplo, c:githubmORMot2src ou d:mormot2src dependendo da Etapa 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 no IDE e execute os testes de regressão em sua máquina. Para segurança, as somas de verificação SHA-256 da versão atual dos arquivos binários baixados, conforme publicado em nosso servidor https://synopse.info/files, estão disponíveis neste arquivo repositório static/dev.sha256 .
A estrutura Mormot permaneceu na revisão 1.18 por anos e chegou a hora de uma refatoração completa.
Os principais pontos de refatoração tentou seguir melhor os princípios sólidos:
SynCommons.pas , mORMot.pas ) em unidades menores refinadas por escopo;TSQLRecord em TOrm , TSQLRest em TRest ...;TRest dividida nas aulas de repouso/orm/soa adequadas - e pastas;asm estrutura, usando Avx2, se disponível;Portanto, criamos um novo projeto e repositório, pois a mudança para a versão 2 induziu algumas alterações não compatíveis com versões anteriores. Foram utilizados novos nomes de unidades, para evitar problemas de colisão inesperados durante a migração ou se 1.18 permanecerem instalados para um projeto de compatibilidade.
Etapas rápidas ao atualizar de uma revisão anterior de 1,18:
Observe todas as unidades em que divididas e renomeadas, e algumas mudanças de quebra introduzidas para recursos aprimorados, portanto, uma atualização direta não é possível - nem procurada
Mude para uma nova pasta, por exemplo, # lib2 em vez de # lib
Baixe mais recente 2.# Arquivos de revisão, conforme declarado logo acima
Altere suas referências a unidades mórmotas :
PUREMORMOT2 ;