Produto UUID text in red over a binary code background, representing 4D 20 R10’s new support for version 7 UUIDs with timestamp-based sorting.

Melhorias e ordenação de UUIDs com a versão 7

Tradução automática de Deepl

A partir de 4D 20 R10, UUIDs são agora gerados diretamente usando um algoritmo interno em vez de depender de funções do sistema – dando-lhe um melhor controlo sobre o seu formato e comportamento. E com esta atualização, agora pode optar por UUIDs versão 7, que suportam ordenação cronológica. Vamos explorar o que isso significa para seus aplicativos.

Produto blank

Tipagem baseada em classes mais rigorosa para objectos

Tradução automática de Deepl

Com 4D 20 R10, a tipagem de objetos dá um grande passo adiante, dando-lhe mais confiança e controle em seu código. Em vez de simplesmente verificar se um valor é um objeto, 4D agora verifica se é uma instância de uma classe específica. Isto desbloqueia um auto-completar mais inteligente, validação em linha, e verificações de compilação mais estritas, ajudando-o a apanhar erros cedo e escrever código mais claro e de melhor manutenção.

Os benefícios não se limitam a variáveis e resultados de funções. Essa melhoria também se aplica ao seu modelo de dados: agora pode atribuir uma classe definida pelo usuário ou nativa (como o novo 4D.Vetor para sua implementação AI) diretamente a um campo de objeto no editor de estrutura. 4D então entende a forma completa do objeto, do tempo de design ao tempo de execução, permitindo uma experiência de desenvolvimento segura e mais confiável.

Produto blank

Classes ORDA para tratar o seu modelo de dados

Tradução automática de Deepl

Num post de blog anterior , introduzimo-lo ao mundo das classes de modelos de dados ORDA. Agora é tempo de sujar as nossas mãos e aprender mais!

Já sabe que a estrutura da ORDA(datastore, dataclass, entidade, selecção de entidades) é composta por objectos. Mas não são apenas objectos, são objectos fortemente tipográficos ligados a classes ORDA específicas. Isto significa que pode escrever funções para ocultar a complexidade da implementação física dos seus dados.

Produto blank

Bem-vindo ao mundo das aulas ORDA

Tradução automática de Deepl

A ORDA foi uma revolução com 4D v17. Abriu um mundo totalmente novo de possibilidades e levou-o a uma outra dimensão de programação. Uma dimensão onde se pode facilmente desenvolver aplicações utilizando uma abordagem orientada para objectos.

Não parámos por aí! Continuámos a acrescentar melhorias à ORDA através de um conjunto de funcionalidades em cada lançamento subsequente de funcionalidades. Agora com 4D v18 R4, estamos entusiasmados por dar mais um passo em frente com a disponibilidade das classes de modelos de dados ORDA. Classes dedicadas ao seu modelo de dados.

Isto irá elevar grandemente o seu código. As suas aplicações podem agora facilmente expor serviços, ser mais fáceis de gerir e de manter, e integrar-se perfeitamente com outras aplicações.

Esta é outra grande característica tornada possível graças aos projectos!

Produto blank

ORDA: uma datastore actualizada sem reiniciar

Tradução automática de Deepl

Estamos entusiasmados por anunciar que o 4D v18 R3 inclui uma melhoria que terá um enorme impacto na experiência do promotor. Uma característica que muitos de vós solicitaram, e o 4D entrega!

Quando trabalha em modo autónomo 4D durante a fase de desenvolvimento (escrever e testar o seu código), já não é obrigado a reiniciar a sua base de dados para ter uma datastore actualizada (ds) quando a estrutura é actualizada!

Agora não precisam de reiniciar a base de dados cada vez que precisam de um novo atributo ou de uma nova tabela no vosso código! É tudo automático!

Quando se chama o ds obtém-se um objecto de datastore actualizado. Isto significa que várias versões deste objecto de datastore são tratadas ao mesmo tempo … dependendo de quando actualiza a sua estrutura … sem quebrar os processos de execução.

Se trabalhar em modo cliente/servidor, isto funciona bem para o código em execução no Servidor 4D.

Para clientes remotos, é simplesmente necessário reiniciar o cliente que requer a actualização da estrutura.

Produto blank

Melhoria dos testes das bases de dados

Tradução automática de Deepl

Como programador, está consciente de que a melhoria da qualidade dos seus desenvolvimentos é muitas vezes baseada em testes unitários. Para lançar estes testes, os programadores e as equipas de QA precisam de ferramentas para lançar bases de dados 4D em diferentes modos (utilizador único / cliente-servidor) e ambientes distintos (Macintosh / Windows).

Os produtos 4D já podem ser lançados usando parâmetros de linha de comando para permitir testes automáticos ou implementação. E se quiser criar o seu próprio mecanismo de actualização ou se precisar de lidar com uma exploração de servidores com centenas de Servidores 4D em execução? Talvez queira especificar qual o ficheiro de base de dados a utilizar – ou passar parâmetros no lançamento …

Dicas blank

Definições de compatibilidade – Transacções aninhadas (Parte 3)

Tradução automática de Deepl

Bem-vindo à nossa série em curso sobre configurações de compatibilidade e características “ocultas” para um melhor desempenho. No primeiro post, analisámos o comando QUERY BY FORMULA e o seu impacto no comportamento de uma aplicação. O segundo post foi sobre a opção de compatibilidade“Use period and comma as placeholders” para evitar correr para “os números são exibidos como >>>>>>>>>” .

Nesta terceira parcela, vamos explorar as Transacções Aninhadas.

Dicas blank

O que são transacções e como é que as utilizo?

Tradução automática de Deepl

Imagine a transferência de 200.000 euros de uma conta bancária para outra. Retira o montante da conta de origem, e depois deposita-o na conta de destino. Até agora tudo é normal e, num mundo perfeito, a operação terá êxito. Infelizmente, aqui, no mundo real, as coisas podem correr mal. Alguma coisa acontece e o dinheiro é perdido. Isso é muito mau.

Bem, as transacções estão aqui para garantir que isto não aconteça com as suas aplicações! Neste post do blogue explore em detalhe a utilização e a importância das transacções, bem como vários cenários mostrando como podem salvar o seu negócio.

Produto blank

Tempos dentro de objectos… (e em qualquer outro lugar)

Tradução automática de Deepl

Os objectos estão de novo a fazê-lo, continuando a demonstrar a sua utilidade para aliviar a sua vida como programador.

A utilização de valores de tempo (ou duração) dentro dos objectos é agora mais suave e mais intuitiva. Começando com 4D v17, os tempos dentro de objectos são definidos como segundose não milissegundos!